118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannBEGIN TRANSACTION; 218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannPRAGMA user_version = 82; 318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE _deleted_groups (_sync_version TEXT,_sync_id TEXT,_sync_account TEXT,_sync_mark INTEGER); 418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE _deleted_people (_sync_version TEXT,_sync_id TEXT,_sync_account TEXT,_sync_mark INTEGER); 518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE _sync_state (_id INTEGER PRIMARY KEY,_sync_account TEXT,data TEXT,UNIQUE(_sync_account)); 618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE _sync_state_metadata (version INTEGER); 718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO _sync_state_metadata VALUES(2); 818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE android_metadata (locale TEXT); 918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO android_metadata VALUES('en_US'); 1018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE calls (_id INTEGER PRIMARY KEY AUTOINCREMENT,number TEXT,date INTEGER,duration INTEGER,type INTEGER,new INTEGER,name TEXT,numbertype INTEGER,numberlabel TEXT); 1118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE contact_methods (_id INTEGER PRIMARY KEY AUTOINCREMENT,person INTEGER REFERENCES people(_id),kind INTEGER NOT NULL,data TEXT,aux_data TEXT,type INTEGER NOT NULL,label TEXT,isprimary INTEGER NOT NULL DEFAULT 0); 1218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO contact_methods VALUES(1,1,1,'gdgjj.fxhnj@ggh.com',NULL,1,NULL,1); 1318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO contact_methods VALUES(2,3,1,'weyj@xtdt.com',NULL,1,NULL,1); 1418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO contact_methods VALUES(3,5,1,'mail@dom.com',NULL,1,NULL,1); 1518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE extensions (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,value TEXT NOT NULL,person INTEGER REFERENCES people(_id),UNIQUE(person, name)); 1618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE fave_msg_status (_id INTEGER PRIMARY KEY, msg TEXT, next_retry INTEGER, num_retries INTEGER); 1718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE fave_phone_changes (_id INTEGER PRIMARY KEY, old_phone TEXT, new_phone TEXT, change_timestamp TEXT); 1818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE faves (_id INTEGER PRIMARY KEY, ui_pos INTEGER, phone TEXT NOT NULL, nickname TEXT NOT NULL, photo TEXT NOT NULL, timestamp TEXT NOT NULL, pending_phone TEXT, pending_nickname TEXT, pending_photo TEXT); 1918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO faves VALUES(1,1,0,'','',000000000000,NULL,NULL,NULL); 2018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO faves VALUES(2,2,0,'','',000000000000,NULL,NULL,NULL); 2118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO faves VALUES(3,3,0,'','',000000000000,NULL,NULL,NULL); 2218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO faves VALUES(4,4,0,'','',000000000000,NULL,NULL,NULL); 2318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO faves VALUES(5,5,0,'','',000000000000,NULL,NULL,NULL); 2418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE groupmembership (_id INTEGER PRIMARY KEY,person INTEGER REFERENCES people(_id),group_id INTEGER REFERENCES groups(_id),group_sync_account STRING,group_sync_id STRING); 2518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO groupmembership VALUES(1,1,1,NULL,NULL); 2618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO groupmembership VALUES(2,2,1,NULL,NULL); 2718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO groupmembership VALUES(3,3,1,NULL,NULL); 2818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO groupmembership VALUES(4,4,1,NULL,NULL); 2918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO groupmembership VALUES(5,5,1,NULL,NULL); 3018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE groups (_id INTEGER PRIMARY KEY AUTOINCREMENT,_sync_account TEXT,_sync_id TEXT,_sync_time TEXT,_sync_version TEXT,_sync_local_id INTEGER,_sync_dirty INTEGER NOT NULL DEFAULT 0,_sync_mark INTEGER,name TEXT NOT NULL,notes TEXT,should_sync INTEGER NOT NULL DEFAULT 0,system_id TEXT,UNIQUE(name,system_id,_sync_account)); 3118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO groups VALUES(1,NULL,NULL,NULL,NULL,NULL,0,NULL,'Contacts',NULL,0,'Contacts'); 3218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE organizations (_id INTEGER PRIMARY KEY AUTOINCREMENT,company TEXT,title TEXT,isprimary INTEGER NOT NULL DEFAULT 0,type INTEGER NOT NULL,label TEXT,person INTEGER REFERENCES people(_id)); 3318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE people (_id INTEGER PRIMARY KEY AUTOINCREMENT,_sync_account TEXT,_sync_id TEXT,_sync_time TEXT,_sync_version TEXT,_sync_local_id INTEGER,_sync_dirty INTEGER NOT NULL DEFAULT 0,_sync_mark INTEGER,name TEXT COLLATE LOCALIZED,notes TEXT COLLATE LOCALIZED,times_contacted INTEGER NOT NULL DEFAULT 0,last_time_contacted INTEGER,starred INTEGER NOT NULL DEFAULT 0,primary_phone INTEGER REFERENCES phones(_id),primary_organization INTEGER REFERENCES organizations(_id),primary_email INTEGER REFERENCES contact_methods(_id),photo_version TEXT,custom_ringtone TEXT,send_to_voicemail INTEGER,phonetic_name TEXT COLLATE LOCALIZED); 3418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO people VALUES(1,NULL,NULL,NULL,NULL,NULL,1,NULL,'Number And Mail',NULL,0,NULL,0,1,NULL,1,NULL,NULL,0,''); 3518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO people VALUES(2,NULL,NULL,NULL,NULL,NULL,1,NULL,'Number',NULL,0,NULL,0,2,NULL,NULL,NULL,NULL,0,''); 3618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO people VALUES(3,NULL,NULL,NULL,NULL,NULL,1,NULL,'Mail',NULL,0,NULL,0,NULL,NULL,2,NULL,NULL,0,''); 3718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO people VALUES(4,NULL,NULL,NULL,NULL,NULL,1,NULL,'',NULL,0,NULL,0,3,NULL,NULL,NULL,NULL,0,''); 3818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO people VALUES(5,NULL,NULL,NULL,NULL,NULL,1,NULL,'',NULL,0,NULL,0,NULL,NULL,3,NULL,NULL,0,''); 3918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE peopleLookup (token TEXT,source INTEGER REFERENCES people(_id),token_index INTEGER); 4018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookup VALUES('4351412b314b0629432f064129393f',1,0); 4118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookup VALUES('29432f',1,1); 4218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookup VALUES('4129393f',1,2); 4318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookup VALUES('4351412b314b',2,0); 4418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookup VALUES('4129393f',3,0); 4518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookup VALUES('',4,0); 4618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookup VALUES('',5,0); 4718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE peopleLookupWithPhoneticName (token TEXT,source INTEGER REFERENCES people(_id),token_index INTEGER); 4818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookupWithPhoneticName VALUES('4351412b314b0629432f064129393f',1,0); 4918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookupWithPhoneticName VALUES('29432f',1,1); 5018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookupWithPhoneticName VALUES('4129393f',1,2); 5118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookupWithPhoneticName VALUES('4351412b314b',2,0); 5218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookupWithPhoneticName VALUES('4129393f',3,0); 5318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookupWithPhoneticName VALUES('225d',4,0); 5418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO peopleLookupWithPhoneticName VALUES('225d',5,0); 5518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE phones (_id INTEGER PRIMARY KEY AUTOINCREMENT,person INTEGER REFERENCES people(_id),type INTEGER NOT NULL,number TEXT,number_key TEXT,label TEXT,isprimary INTEGER NOT NULL DEFAULT 0); 5618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO phones VALUES(1,1,2,'542-31',13245,NULL,1); 5718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO phones VALUES(2,2,2,'716-5432',2345617,NULL,1); 5818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO phones VALUES(3,4,2,'698-147-02',20741896,NULL,1); 5918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE photos (_id INTEGER PRIMARY KEY AUTOINCREMENT,exists_on_server INTEGER NOT NULL DEFAULT 0,person INTEGER REFERENCES people(_id), local_version TEXT,data BLOB,sync_error TEXT,_sync_account TEXT,_sync_id TEXT,_sync_time TEXT,_sync_version TEXT,_sync_local_id INTEGER,_sync_dirty INTEGER NOT NULL DEFAULT 0,_sync_mark INTEGER,UNIQUE(person) ); 6018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO photos VALUES(1,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL); 6118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO photos VALUES(2,0,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL); 6218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO photos VALUES(3,0,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL); 6318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO photos VALUES(4,0,4,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL); 6418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO photos VALUES(5,0,5,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL); 6518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE settings (_id INTEGER PRIMARY KEY,_sync_account TEXT,key STRING NOT NULL,value STRING ); 6618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE sqlite_sequence(name,seq); 6718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO sqlite_sequence VALUES('groups',1); 6818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO sqlite_sequence VALUES('people',5); 6918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO sqlite_sequence VALUES('photos',5); 7018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO sqlite_sequence VALUES('phones',3); 7118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO sqlite_sequence VALUES('contact_methods',3); 7218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TABLE voice_dialer_timestamp (_id INTEGER PRIMARY KEY,timestamp INTEGER); 7318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannINSERT INTO voice_dialer_timestamp VALUES(1,1246834337); 7418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX contactMethodsPeopleIndex ON contact_methods (person); 7518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX extensionsIndex1 ON extensions (person, name); 7618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX groupmembershipIndex1 ON groupmembership (person, group_id); 7718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX groupmembershipIndex2 ON groupmembership (group_id, person); 7818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX groupmembershipIndex3 ON groupmembership (group_sync_account, group_sync_id); 7918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX groupsSyncDirtyIndex ON groups (_sync_dirty); 8018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX organizationsIndex1 ON organizations (person); 8118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX peopleLookupIndex ON peopleLookup (token,source); 8218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX peopleLookupWithPhoneticNameIndex ON peopleLookupWithPhoneticName (token,source); 8318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX peopleNameIndex ON people (name); 8418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX peopleSyncDirtyIndex ON people (_sync_dirty); 8518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX peopleSyncIdIndex ON people (_sync_id); 8618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX phonesIndex1 ON phones (person); 8718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX phonesIndex2 ON phones (number_key); 8818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX photoPersonIndex ON photos (person); 8918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE INDEX photosSyncDirtyIndex ON photos (_sync_dirty); 9018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER contact_cleanup DELETE ON people BEGIN DELETE FROM peopleLookup WHERE source = old._id;DELETE FROM peopleLookupWithPhoneticName WHERE source = old._id;DELETE FROM phones WHERE person = old._id;DELETE FROM contact_methods WHERE person = old._id;DELETE FROM organizations WHERE person = old._id;DELETE FROM groupmembership WHERE person = old._id;DELETE FROM extensions WHERE person = old._id;END; 9118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER contact_methods_INSERT_typeAndLabel AFTER INSERT ON contact_methods WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR (NEW.type = 0 AND NEW.label IS NULL) BEGIN SELECT RAISE (ABORT, 'exactly one of type or label must be set'); END; 9218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER contact_methods_UPDATE_typeAndLabel AFTER UPDATE ON contact_methods WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR (NEW.type = 0 AND NEW.label IS NULL) BEGIN SELECT RAISE (ABORT, 'exactly one of type or label must be set'); END; 9318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER contact_methods_delete DELETE ON contact_methods BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END; 9418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER contact_methods_insert INSERT ON contact_methods BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person;END; 9518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER contact_methods_update UPDATE ON contact_methods BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END; 9618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER extensions_delete DELETE ON extensions BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END; 9718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER extensions_insert INSERT ON extensions BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person; END; 9818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER extensions_update AFTER UPDATE ON extensions BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person; END; 9918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER groupmembership_delete DELETE ON groupmembership BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END; 10018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER groupmembership_insert INSERT ON groupmembership BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person; END; 10118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER groupmembership_update AFTER UPDATE ON groupmembership BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person; END; 10218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER groups_cleanup DELETE ON groups BEGIN UPDATE groupmembership SET group_id = null WHERE group_id = old._id;END; 10318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER groups_to_deleted DELETE ON groups WHEN old._sync_id is not null BEGIN INSERT INTO _deleted_groups (_sync_id, _sync_account, _sync_version) VALUES (old._sync_id, old._sync_account, old._sync_version);END; 10418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER organizations_INSERT_typeAndLabel AFTER INSERT ON organizations WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR (NEW.type = 0 AND NEW.label IS NULL) BEGIN SELECT RAISE (ABORT, 'exactly one of type or label must be set'); END; 10518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER organizations_UPDATE_typeAndLabel AFTER UPDATE ON organizations WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR (NEW.type = 0 AND NEW.label IS NULL) BEGIN SELECT RAISE (ABORT, 'exactly one of type or label must be set'); END; 10618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER organizations_delete DELETE ON organizations BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END; 10718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER organizations_insert INSERT ON organizations BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person; END; 10818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER organizations_update AFTER UPDATE ON organizations BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person; END; 10918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER peopleDeleteAndPhotos DELETE ON people BEGIN DELETE FROM photos WHERE person=OLD._id; END; 11018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER peopleLookupWithPhoneticName_insert AFTER INSERT ON people BEGIN SELECT _TOKENIZE('peopleLookupWithPhoneticName', new._id, GET_NORMALIZED_STRING(CASE WHEN (new.phonetic_name IS NOT NULL AND new.phonetic_name != '') THEN new.phonetic_name ELSE (CASE WHEN (new.name is NOT NULL AND new.name != '') THEN new.name ELSE '' END) END), ' ', 1);END; 11118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER peopleLookupWithPhoneticName_update UPDATE OF name, phonetic_name ON people BEGIN DELETE FROM peopleLookupWithPhoneticName WHERE source = new._id;SELECT _TOKENIZE('peopleLookupWithPhoneticName', new._id, GET_NORMALIZED_STRING(CASE WHEN (new.phonetic_name IS NOT NULL AND new.phonetic_name != '') THEN new.phonetic_name ELSE (CASE WHEN (new.name is NOT NULL AND new.name != '') THEN new.name ELSE '' END) END), ' ', 1);END; 11218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER peopleLookup_insert AFTER INSERT ON people BEGIN SELECT _TOKENIZE('peopleLookup', new._id, new.name, ' ', 1);END; 11318cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER peopleLookup_update UPDATE OF name ON people BEGIN DELETE FROM peopleLookup WHERE source = new._id;SELECT _TOKENIZE('peopleLookup', new._id, new.name, ' ', 1);END; 11418cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER people_timesContacted UPDATE OF last_time_contacted ON people BEGIN UPDATE people SET times_contacted = (new.times_contacted + 1) WHERE _id = new._id;END; 11518cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER phones_INSERT_typeAndLabel AFTER INSERT ON phones WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR (NEW.type = 0 AND NEW.label IS NULL) BEGIN SELECT RAISE (ABORT, 'exactly one of type or label must be set'); END; 11618cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER phones_UPDATE_typeAndLabel AFTER UPDATE ON phones WHEN (NEW.type != 0 AND NEW.label IS NOT NULL) OR (NEW.type = 0 AND NEW.label IS NULL) BEGIN SELECT RAISE (ABORT, 'exactly one of type or label must be set'); END; 11718cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER phones_delete DELETE ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END; 11818cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER phones_insert INSERT ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=new.person;END; 11918cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER phones_update UPDATE ON phones BEGIN UPDATE people SET _sync_dirty=1 WHERE people._id=old.person;END; 12018cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER timestamp_trigger1 AFTER UPDATE ON phones BEGIN UPDATE voice_dialer_timestamp SET timestamp=strftime('%s', 'now') WHERE _id=1;END; 12118cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCREATE TRIGGER timestamp_trigger2 AFTER UPDATE OF name ON people BEGIN UPDATE voice_dialer_timestamp SET timestamp=strftime('%s', 'now') WHERE _id=1;END; 12218cba80a41494e82464aaf8c6ab1ac3f608492bcDaniel LehmannCOMMIT; 123