Revision control

Copy as Markdown

SQLite format 3@
2%/
.fêö1ûö n ž"Âjâ½OÛ|º7ààUiCindexsqlite_autoindex_moz_historyvisit_tombstones_1moz_historyvisit_tombstones5/)indexvisits_from_type_idxmoz_historyvisitsCREATE INDEX visits_from_type_idx ON moz_historyvisits(from_visit, visit_type)a%/}indexislocalindexmoz_historyvisitsCREATE INDEX islocalindex ON moz_historyvisits(is_local)]/{indexdateindexmoz_historyvisitsCREATE INDEX dateindex ON moz_historyvisits(visit_date)]/{indexfromindexmoz_historyvisitsCREATE INDEX fromindex ON moz_historyvisits(from_visit)r)/indexplacedateindexmoz_historyvisitsCREATE INDEX placedateindex ON moz_historyvisits(place_id, visit_date)„k↩//‰tablemoz_historyvisitsmoz_historyvisitsCREATE TABLE moz_historyvisits (
id INTEGER PRIMARY KEY,
is_local INTEGER NOT NULL, -- XXX - not in desktop - will always be true for visits added locally, always false visits added by sync.
from_visit INTEGER, -- XXX - self-reference?
place_id INTEGER NOT NULL,
visit_date INTEGER NOT NULL,
visit_type INTEGER NOT NULL,
-- session INTEGER, -- XXX - what is 'session'? Appears unused.
unknown_fields TEXT,
FOREIGN KEY(place_id) REFERENCES moz_places(id) ON DELETE CASCADE,
FOREIGN KEY(from_visit) REFERENCES moz_historyvisits(id)
)‚" CCƒKtablemoz_places_stale_frecenciesmoz_places_stale_frecenciesCREATE TABLE moz_places_stale_frecencies (
place_id INTEGER PRIMARY KEY NOT NULL REFERENCES moz_places(id)
ON DELETE CASCADE,
stale_at INTEGER NOT NULL -- In milliseconds.
) 77)tablemoz_places_tombstonesmoz_places_tombstones↩CREATE TABLE moz_places_tombstones (
guid TEXT PRIMARY KEY
) WITHOUT ROWIDV
'!sindexoriginidindexmoz_places CREATE INDEX originidindex ON moz_places(origin_id)^ -!}indexguid_uniqueindexmoz_places CREATE UNIQUE INDEX guid_uniqueindex ON moz_places(guid)z=!#indexlastvisitdateremoteindexmoz_places
CREATE INDEX lastvisitdateremoteindex ON moz_places(last_visit_date_remote)w;!indexlastvisitdatelocalindexmoz_places CREATE INDEX lastvisitdatelocalindex ON moz_places(last_visit_date_local)U'!qindexfrecencyindexmoz_placesCREATE INDEX frecencyindex ON moz_places(frecency)f-! indexvisitcountremotemoz_placesCREATE INDEX visitcountremote ON moz_places(visit_count_remote)c+!indexvisitcountlocalmoz_placesCREATE INDEX visitcountlocal ON moz_places(visit_count_local)U'!qindexurl_hashindexmoz_placesCREATE INDEX url_hashindex ON moz_places(url_hash)Š.!!”'tablemoz_placesmoz_placesCREATE TABLE moz_places (
id INTEGER PRIMARY KEY,
url LONGVARCHAR NOT NULL,
title LONGVARCHAR,
-- note - desktop has rev_host here - that's now in moz_origin.
visit_count_local INTEGER NOT NULL DEFAULT 0,
visit_count_remote INTEGER NOT NULL DEFAULT 0,
hidden INTEGER DEFAULT 0 NOT NULL,
typed INTEGER DEFAULT 0 NOT NULL, -- XXX - is 'typed' ok? Note also we want this as a *count*, not a bool.
frecency INTEGER DEFAULT -1 NOT NULL,
-- XXX - splitting last visit into local and remote correct?
last_visit_date_local INTEGER NOT NULL DEFAULT 0,
last_visit_date_remote INTEGER NOT NULL DEFAULT 0,
guid TEXT NOT NULL UNIQUE,
foreign_count INTEGER DEFAULT 0 NOT NULL,
url_hash INTEGER DEFAULT 0 NOT NULL,
description TEXT, -- XXXX - title above?
preview_image_url TEXT,
-- origin_id would ideally be NOT NULL, but we use a trigger to keep
-- it up to date, so do perform the initial insert with a null.
origin_id INTEGER,
-- a couple of sync-related fields.
sync_status TINYINT NOT NULL DEFAULT 1, -- 1 is SyncStatus::New
sync_change_counter INTEGER NOT NULL DEFAULT 0, -- adding visits will increment this
unknown_fields TEXT,
FOREIGN KEY(origin_id) REFERENCES moz_origins(id) ON DELETE CASCADE
)3G!indexsqlite_autoindex_moz_places_1moz_place0!2↩§§WE5% https://fonts.googleapis.comfonts.googleapis.comÿ‰çl@GU0M4kaTak8P
ðð% GU0M4kaTak8P
üü
üü
üü
ûû ÿ
öö  ‰çl@
üü
ðð% GU0M4kaTak8P
üü
↩↩ðð  ‰çl@
õõ
  ‰çl@
üü
öö  ‰çl@
üü
ûû ↩
↩
↩Õª|M,  % mobile‰@fU‰@fUmobile______-  % unfiled‰@fU‰@fUunfiled_____,  % toolbar‰@fU‰@fUtoolbar_____)  % menu‰@fU‰@fUmenu________) % root‰@fU‰@fUroot________
¬ß¬ðν%mobile______%unfiled_____%toolbar_____%menu________% root________
ÅõéÝÑÅ ‰@fU ‰@fU ‰@fU ‰@fU
 ‰@fU
↩ÓÓ+')https://m.youtube.commoc.ebutuoy.m.ø
ææ' https://m.youtube.com
îî) moc.ebutuoy.m.
 ‡ç‡´Iorigin_fre3origin_frecency_sumøorigin_frecency_$Iorigin_frecency_sum_of_squaresÀ@ ˜q]¡[Q'i'7 origin_frecency_count↩

↩




↩
↩œçεœ  ‰ˆ’¯‰ˆ’¯  ‰ˆç†‰ˆè  ‰ˆŒ’À‰ˆŒ’À  ‰iF@‰iF@↩
↩↩Šà½’hH%㳃]:↩í↩À↩Šº7ààUiCindexsqlite_auøâiCindexsqlite_autoindex_moz_historyvisit_tombstones_1moz_historyvisit_tombstones5/)indexvisits_from_type_idxmoz_historyvisitsCREATE INDEX visits_from_type_idx ON moz_historyvisits(from_visit, visit_type)a%/}indexislocalindexmoz_historyvisitsCREATE INDEX islocalindex ON moz_historyvisits(is_local)]/{indexdateindexmoz_historyvisitsCREATE INDEX dateindex ON moz_historyvisits(visit_date)]/{indexfromindexmoz_historyvisitsCREATE INDEX fromindex ON moz_historyvisits(from_visit)r)/indexplacedateindexmoz_historyvisitsCREATE INDEX placedateindex ON moz_historyvisits(place_id, visit_date)„k↩//‰tablemoz_historyvisitsmoz_historyvisitsCREATE TABLE moz_historyvisits (
id INTEGER PRIMARY KEY,
is_local INTEGER NOT NULL, -- XXX - not in desktop - will always be true for visits added locally, always false visits added by sync.
from_visit INTEGER, -- XXX - self-reference?
place_id INTEGER NOT NULL,
visit_date INTEGER NOT NULL,
visit_type INTEGER NOT NULL,
-- session INTEGER, -- XXX - what is 'session'? Appears unused.
unknown_fields TEXT,
FOREIGN KEY(place_id) REFERENCES moz_places(id) ON DELETE CASCADE,
FOREIGN KEY(from_visit) REFERENCES moz_historyvisits(id)
)‚" CCƒKtablemoz_places_stale_frecenciesmoz_places_stale_frecenciesCREATE TABLE moz_places_stale_frecencies (
place_id INTEGER PRIMARY KEY NOT NULL REFERENCES moz_places(id)
ON DELETE CASCADE,
stale_at INTEGER NOT NULL -- In milliseconds.
) 77)tablemoz_places_tombstonesmoz_places_tombstones↩CREATE TABLE moz_places_tombstones (
guid TEXT PRIMARY KEY
) WITHOUT ROWIDV
'!sindexoriginidindexmoz_places CREATE INDEX originidindex ON moz_places(origin_id)^ -!}indexguid_uniqueindexmoz_places CREATE UNIQUE INDEX guid_uniqueindex ON moz_places(guid)z=!#indexlastvisitdateremoteindexmoz_places
CREATE INDEX lastvisitdateremoteindex ON moz_places(last_visit_date_remote)w;!indexlastvisitdatelocalindexmoz_places CREATE INDEX lastvisitdatelocalindex ON moz_places(last_visit_date_local)U'!qindexfrecencyindexmoz_placesCREATE INDEX frecencyindex ON moz_places(frecency)f-! indexvisitcountremotemoz_placesCREATE INDEX visitcountremote ON moz_places(visit_count_remote)c+!indexvisitcountlocalmoz_placesCREATE INDEX visitcountlocal ON moz_places(visit_count_local)U'!qindexurl_hashindexmoz_placesCREATE INDEX url_hashindex ON moz_places(url_hash)Š.!!”'tablemoz_placesmoz_placesCREATE TABLE moz_places (
id INTEGER PRIMARY KEY,
url LONGVARCHAR NOT NULL,
title LONGVARCHAR,
-- note - desktop has rev_host here - that's now in moz_origin.
visit_count_local INTEGER NOT NULL DEFAULT 0,
visit_count_remote INTEGER NOT NULL DEFAULT 0,
hidden INTEGER DEFAULT 0 NOT NULL,
typed INTEGER DEFAULT 0 NOT NULL, -- XXX - is 'typed' ok? Note also we want this as a *count*, not a bool.
frecency INTEGER DEFAULT -1 NOT NULL,
-- XXX - splitting last visit into local and remote correct?
last_visit_date_local INTEGER NOT NULL DEFAULT 0,
last_visit_date_remote INTEGER NOT NULL DEFAULT 0,
guid TEXT NOT NULL UNIQUE,
foreign_count INTEGER DEFAULT 0 NOT NULL,
u4'Mmoz_bookmarkssqlite_autoindex_moz_bookmarks_15 1+'7moz_bookmarksitemlastmodifiedindex5 5 5(/)moz_historyvisitsplacedateindex6 6 1!↩/moz_historyvisitsfromindex6 6! /moz_historyvisitsdateindex6 1$ /%moz_historyvisitsislocalindex6 6.
/5moz_historyvisitsvisits_from_type_idx6 6 3. !Gmoz_placessqlite_autoindex_moz_places_11 1!'moz_placesurl_hashindex1 1 !+moz_placesvisitcountlocal1 1!!-moz_placesvisitcountremote1 1!'moz_placesfrecencyindex1 1(!;moz_placeslastvisitdatelocalindex1 1)!=moz_placeslastvisitdateremoteindex1 1!!-moz_placesguid_uniqueindex1 1!'moz_placesoriginidindex1 1↩÷]
[ ø uVÿ¥¶ÌjV¬]u¯<¨w↩b ↩b↩↩‚##ƒqtablemoz_originsmoz_originsCREATE TABLE moz_origins (
id INTEGER PRIMARY KEY,
prefix TEXT NOT NULL,
host TEXT NOT NULL,
rev_host TEXT NOT NULL,
frecency INTEGER NOT NULL, -- XXX - why not default of -1 like in moz_places?
UNIQUE (prefix, host)
)5I#indexsqlite_autoindex_moz_origins_1moz_origins'77mtablemoz_bookmarks_deletedmoz_bookmarks_deletedCREATE TABLE moz_bookmarks_deleted (
guid TEXT PRIMARY KEY,
dateRemoved INTEGER NOT NULL
) WITHOUT ROWIDt7'indexitemlastmodifiedindexmoz_bookmarksCREATE INDEX itemlastmodifiedindex ON moz_bookmarks(fk, lastModified)‡''utablemoz_bookmarksmoz_bookmarksCREATE TABLE moz_bookmarks (
id INTEGER PRIMARY KEY,
fk INTEGER DEFAULT NULL, -- place_id
type INTEGER NOT NULL,
parent INTEGER,
position INTEGER NOT NULL,
title TEXT, -- a'la bug 1356159, NULL is special here - it means 'not edited'
dateAdded INTEGER NOT NULL DEFAULT 0,
lastModified INTEGER NOT NULL DEFAULT 0,
guid TEXT NOT NULL UNIQUE CHECK(length(guid) == 12),
syncStatus INTEGER NOT NULL DEFAULT 0,
syncChangeCounter INTEGER NOT NULL DEFAULT 1,
-- bookmarks must have a fk to a URL, other types must not.
CHECK((type == 1 AND fk IS NOT NULL) OR (type > 1 AND fk IS NULL))
-- only the root is allowed to have a non-null parent
CHECK(guid == "root________" OR parent IS NOT NULL)
FOREIGN KEY(fk) REFERENCES moz_places(id) ON DELETE RESTRICT
FOREIGN KEY(parent) REFERENCES moz_bookmarks(id) ON DELETE CASCADE
)9M'indexsqlite_autoindex_moz_bookmarks_1moz_bookmarks‚--ƒOtablemoz_inputhistorymoz_inputhistoryCREATE TABLE moz_inputhistory (
place_id INTEGER NOT NULL,
input LONGVARCHAR NOT NULL,
use_count INTEGER,
PRIMARY KEY (place_id, input),
FOREIGN KEY(place_id) REFERENCES moz_places(id) ON DELETE CASCADE
)?S-indexsqlite_autoindex_moz_inputhistory_1moz_inputhistory
ºUiCindexsqlite_autoindex_moz_historyvisit_tombstones_1moz_historyvisit_tombstones‚CCƒ?tablemoz_historyvisit_tombstonesmoz_historyvisit_tombstonesCREATE TABLE moz_historyvisit_tombstones (
place_id INTEGER NOT NULL,
visit_date INTEGER NOT NULL,
FOREIGN KEY(place_id) REFERENCES moz_places(id) ON DELETE CASCADE,
PRIMARY KEY(place_id, visit_date)
)5/)indexvisits_from_type_idxmoz_historyvisitsCREATE INDEX visits_from_type_idx ON moz_historyvisits(from_visit, visit_type)a%/}indexislocalindexmoz_historyvisitsCREATE INDEX islocalindex ON moz_historyvisits(is_local)]/{indexdateindexmoz_historyvisitsCREATE INDEX dateindex ON moz_historyvisits(visit_date)¨/{indexfromindexmoz_historyvisitsCREATE INDEX fromindex ON moz_historyvisits(from_visit)r)/indexplacedateindexmoz_historyvisitsCREATE INDEX placedateindex ON moz_historyvisits(place_id, visit_date)s//‰tablemoz_historyvisitsmoz_historyvisitsCREATE TABLE moz_historyvisits (
id INTEGER PRIMARY KEY,
is_local INTEGER NOT NULL, -- XXX - not in desktop - will always be true for visits added locally, always false visits added by sync.
from_visit INTEGER, -- XXX - self-reference?
place_id INTEGER NOT NULL,
visit_date INTEGER NOT NULL,
visit_type INTEGER NOT NULL,
G#[5indexsqlite_autoindex_moz_bookmarks_synced_1moz_bookmarks_synced%‚!//ƒStablemoz_tags_relationmoz_tags_relation#CREATE TABLE moz_tags_relation(
tag_id INTEGER NOT NULL REFERENCES moz_tags(id) ON DELETE CASCADE,
place_id INTEGER NOT NULL REFERENCES moz_places(id) ON DELETE CASCADE,
PRIMARY KEY(tag_id, place_id)
) WITHOUT ROWID/ Cindexsqlite_autoindex_moz_tags_1moz_tags"utablemoz_tagsmoz_tags!CREATE TABLE moz_tags(
id INTEGER PRIMARY KEY,
tag TEXT UNIQUE NOT NULL,
lastModified INTEGER NOT NULL
)q5tablemoz_metamoz_meta CREATE TABLE moz_meta (
key TEXT PRIMARY KEY,
value NOT NULL
) WITHOUT ROWIDO#kindexhostindexmoz_originsCREATE INDEX hostindex ON moz_origins(rev_host)↩Œ Wù°,M”ŠSWÚ›†0*33Œtablemoz_places_metadatamoz_places_metadata,CREATE TABLE moz_places_metadata (
id INTEGER PRIMARY KEY,
created_at INTEGER NOT NULL DEFAULT 0,
updated_at INTEGER NOT NULL DEFAULT 0,
place_id INTEGER NOT NULL,
total_view_time INTEGER NOT NULL DEFAULT 0, -- a rolling aggregate
search_query_id INTEGER,
referrer_place_id INTEGER,
document_type INTEGER NOT NULL DEFAULT 0, -- 0=generic, 1=media
typing_time INTEGER NOT NULL DEFAULT 0,
key_presses INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY(place_id) REFERENCES moz_places(id) ON DELETE CASCADE,
FOREIGN KEY(search_query_id) REFERENCES moz_places_metadata_search_queries(id) ON DELETE CASCADE,
FOREIGN KEY(referrer_place_id) REFERENCES moz_places(id) ON DELETE CASCADE
CHECK(place_id != referrer_place_id)
)F(%%‚Otablemoz_keywordsmoz_keywords*CREATE TABLE moz_keywords(
place_id INTEGER PRIMARY KEY REFERENCES moz_places(id)
ON DELETE RESTRICT,
keyword TEXT NOT NULL UNIQUE
)7)K%indexsqlite_autoindex_moz_keywords_1moz_keywords+↩+‚}'OO„itablemoz_bookmarks_synced_tag_relationmoz_bookmarks_synced_tag_relation)CREATE TABLE moz_bookmarks_synced_tag_relation(
itemId INTEGER NOT NULL REFERENCES moz_bookmarks_synced(id)
ON DELETE CASCADE,
tagId INTEGER NOT NULL REFERENCES moz_tags(id)
ON DELETE CASCADE,
PRIMARY KEY(itemId, tagId)
) WITHOUT ROWID‚6&IIƒgtablemoz_bookmarks_synced_structuremoz_bookmarks_synced_structure(CREATE TABLE moz_bookmarks_synced_structure(
guid TEXT,
parentGuid TEXT REFERENCES moz_bookmarks_synced(guid)
ON DELETE CASCADE,
position INTEGER NOT NULL,
PRIMARY KEY(parentGuid, guid)
) WITHOUT ROWID\%G5‚Iindexmoz_bookmarks_synced_keywordsmoz_bookmarks_synced'CREATE INDEX moz_bookmarks_synced_keywords ON moz_bookmarks_synced(keyword)
WHERE keyword NOT NULL$?5indexmoz_bookmarks_synced_urlsmoz_bookmarks_synced&CREATE INDEX moz_bookmarks_synced_urls ON moz_bookmarks_synced(placeId)G#[5indexsqlite_autoindex_moz_bookmarks_synced_1moz_bookmarks_synced%ˆ/"55tablemoz_bookmarks_syncedmoz_bookmarks_synced$CREATE TABLE moz_bookmarks_synced(
id INTEGER PRIMARY KEY,
-- We intentionally don't validate GUIDs, as we allow and fix up invalid
-- ones.
guid TEXT UNIQUE NOT NULL,
-- The `parentid` from the record.
parentGuid TEXT,
-- The server modified time, in milliseconds. This is *not* a
-- ServerTimestamp, which is in fractional seconds.
serverModified INTEGER NOT NULL DEFAULT 0,
needsMerge BOOLEAN NOT NULL DEFAULT 0,
validity INTEGER NOT NULL DEFAULT 1, -- SyncValidity::Valid
isDeleted BOOLEAN NOT NULL DEFAULT 0,
kind INTEGER NOT NULL DEFAULT -1,
-- The creation date, in milliseconds.
dateAdded INTEGER NOT NULL DEFAULT 0,
title TEXT,
placeId INTEGER REFERENCES moz_places(id)
ON DELETE SET NULL,
keyword TEXT,
description TEXT,
loadInSidebar BOOLEAN,
smartBookmarkName TEXT,
feedURL TEXT,
siteURL TEXT,
-- All unknown fields from the server record, encoded as a JSON object.
unknownFields TEXT
)b//ƒStablemoz_tags_relationmoz_tags_relation#CREATE TABLE moz_tags_relation(
tag_id INTEGER NOT NULL REFERENCES moz_tags(id) ON DELETE CASCADE,
place_id INTEGER NOT NULL REFERENCES moz_places(id) ON DELETE CASCADE,
PRIMARY KEY(tag_id, place_id)
) WITHOUT ROWID/ Cindexsqlite_autoindex_moz_tags_1moz_tags"utablemoz_tagsmoz_tK-%%[tablesqlite_stat1sqlite_stat1/CREATE TABLE sqlite_stat1(tbl,idx,stat)>+QQgtablemoz_places_metadata_search_queriesmoz_places_metadata_search_queries-CREATE TABLE moz_places_metadata_search_queries (
id INTEGER PRIMARY KEY,
term TEXT NOT NULL UNIQUE
)c,wQindexsqlite_autoindex_moz_places_metadata_search_queries_1moz_places_metadata_search_queries.↩ø|
’Ã
; Ö n ž"Âjâ½OÛ|º7ààUiCindexsqlite_auøâiCindexsqlite_autoindex_moz_historyvisit_tombstones_1moz_historyvisit_tombstones5/)indexvisits_from_type_idxmoz_historyvisitsCREATE INDEX visits_from_type_idx ON moz_historyvisits(from_visit, visit_type)a%/}indexislocalindexmoz_historyvisitsCREATE INDEX islocalindex ON moz_historyvisits(is_local)]/{indexdateindexmoz_historyvisitsCREATE INDEX dateindex ON moz_historyvisits(visit_date)]/{indexfromindexmoz_historyvisitsCREATE INDEX fromindex ON moz_historyvisits(from_visit)r)/indexplacedateindexmoz_historyvisitsCREATE INDEX placedateindex ON moz_historyvisits(place_id, visit_date)„k↩//‰tablemoz_historyvisitsmoz_historyvisitsCREATE TABLE moz_historyvisits (
id INTEGER PRIMARY KEY,
is_local INTEGER NOT NULL, -- XXX - not in desktop - will always be true for visits added locally, always false visits added by sync.
from_visit INTEGER, -- XXX - self-reference?
place_id INTEGER NOT NULL,
visit_date INTEGER NOT NULL,
visit_type INTEGER NOT NULL,
-- session INTEGER, -- XXX - what is 'session'? Appears unused.
unknown_fields TEXT,
FOREIGN KEY(place_id) REFERENCES moz_places(id) ON DELETE CASCADE,
FOREIGN KEY(from_visit) REFERENCES moz_historyvisits(id)
)‚" CCƒKtablemoz_places_stale_frecenciesmoz_places_stale_frecenciesCREATE TABLE moz_places_stale_frecencies (
place_id INTEGER PRIMARY KEY NOT NULL REFERENCES moz_places(id)
ON DELETE CASCADE,
stale_at INTEGER NOT NULL -- In milliseconds.
) 77)tablemoz_places_tombstonesmoz_places_tombstones↩CREATE TABLE moz_places_tombstones (
guid TEXT PRIMARY KEY
) WITHOUT ROWIDV
'!sindexoriginidindexmoz_places CREATE INDEX originidindex ON moz_places(origin_id)^ -!}indexguid_uniqueindexmoz_places CREATE UNIQUE INDEX guid_uniqueindex ON moz_places(guid)z=!#indexlastvisitdateremoteindexmoz_places
CREATE INDEX lastvisitdateremoteindex ON moz_places(last_visit_date_remote)w;!indexlastvisitdatelocalindexmoz_places CREATE INDEX lastvisitdatelocalindex ON moz_places(last_visit_date_local)U'!qindexfrecencyindexmoz_placesCREATE INDEX frecencyindex ON moz_places(frecency)f-! indexvisitcountremotemoz_placesCREATE INDEX visitcountremote ON moz_places(visit_count_remote)c+!indexvisitcountlocalmoz_placesCREATE INDEX visitcountlocal ON moz_places(visit_count_local)U'!qindexurl_hashindexmoz_placesCREATE INDEX url_hashindex ON moz_places(url_hash)Š.!!”'tablemoz_placesmoz_placesCREATE TABLE moz_places (
id INTEGER PRIMARY KEY,
url LONGVARCHAR NOT NULL,
title LONGVARCHAR,
-- note - desktop has rev_host here - that's now in moz_origin.
visit_count_local INTEGER NOT NULL DEFAULT 0,
visit_count_remote INTEGER NOT NULL DEFAULT 0,
hidden INTEGER DEFAULT 0 NOT NULL,
typed INTEGER DEFAULT 0 NOT NULL, -- XXX - is 'typed' ok? Note also we want this as a *count*, not a bool.
frecency INTEGER DEFAULT -1 NOT NULL,
-- XXX - splitting last visit into local and remote correct?
last_visit_date_local INTEGER NOT NULL DEFAULT 0,
last_visit_date_remote INTEGER NOT NULL DEFAULT 0,
guid TEXT NOT NULL UNIQUE,
foreign_count INTEGER DEFAULT 0 NOT NULL,
url_hash INTEGER DEFAULT 0 NOT NULL,
description TEXT, -- XXXX - title above?
preview_image_url TEXT,
-- origin_id would ideally be NOT NULL, but we use a trigger to keep
-- it up to date, so do perform the initial insert with a null.
origin_id INTEGER,
-- a couple of sync-related fields.
sync_status TINYINT NOT NULL DEFAULT 1, -- 1 is SyncStatus::New
sync_change_counter INTEGER NOT NULL DEFAULT 0, -- adding visits will increment this
unknown_fields TEXT,
FOREIGN KEY(origin_id) REFERENCES moz_origins(id) ON DELETE CASCADE
)3G!indexsqlite_autoindex_moz_places_1moz_places