-- 32 -- Copyright (c) 2009 Center for History and New Media -- George Mason University, Fairfax, Virginia, USA -- http://zotero.org -- -- This file is part of Zotero. -- -- Zotero is free software: you can redistribute it and/or modify -- it under the terms of the GNU Affero General Public License as published by -- the Free Software Foundation, either version 3 of the License, or -- (at your option) any later version. -- -- Zotero is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU Affero General Public License for more details. -- -- You should have received a copy of the GNU Affero General Public License -- along with Zotero. If not, see . -- This file creates system tables that can be safely wiped and reinitialized -- at any time, as long as existing ids are preserved. -- Describes various types of fields and their format restrictions, -- and indicates whether data should be stored as strings or integers -- -- unused DROP TABLE IF EXISTS fieldFormats; CREATE TABLE fieldFormats ( fieldFormatID INTEGER PRIMARY KEY, regex TEXT, isInteger INT ); DROP TABLE IF EXISTS charsets; CREATE TABLE charsets ( charsetID INTEGER PRIMARY KEY, charset TEXT UNIQUE ); CREATE INDEX charsets_charset ON charsets(charset); DROP TABLE IF EXISTS fileTypes; CREATE TABLE fileTypes ( fileTypeID INTEGER PRIMARY KEY, fileType TEXT UNIQUE ); CREATE INDEX fileTypes_fileType ON fileTypes(fileType); DROP TABLE IF EXISTS fileTypeMimeTypes; CREATE TABLE fileTypeMimeTypes ( fileTypeID INT, mimeType TEXT, PRIMARY KEY (fileTypeID, mimeType), FOREIGN KEY (fileTypeID) REFERENCES fileTypes(fileTypeID) ); CREATE INDEX fileTypeMimeTypes_mimeType ON fileTypeMimeTypes(mimeType); DROP TABLE IF EXISTS syncObjectTypes; CREATE TABLE syncObjectTypes ( syncObjectTypeID INTEGER PRIMARY KEY, name TEXT ); CREATE INDEX syncObjectTypes_name ON syncObjectTypes(name); -- unused INSERT INTO "fieldFormats" VALUES(1, '.*', 0); INSERT INTO "fieldFormats" VALUES(2, '[0-9]*', 1); INSERT INTO "fieldFormats" VALUES(3, '[0-9]{4}', 1); INSERT INTO "charsets" VALUES (1, 'utf-8'); INSERT INTO "charsets" VALUES (2, 'big5'); INSERT INTO "charsets" VALUES (3, 'euc-jp'); INSERT INTO "charsets" VALUES (4, 'euc-kr'); INSERT INTO "charsets" VALUES (5, 'gb18030'); INSERT INTO "charsets" VALUES (6, 'gbk'); INSERT INTO "charsets" VALUES (7, 'ibm866'); INSERT INTO "charsets" VALUES (8, 'iso-2022-jp'); INSERT INTO "charsets" VALUES (9, 'iso-8859-2'); INSERT INTO "charsets" VALUES (10, 'iso-8859-3'); INSERT INTO "charsets" VALUES (11, 'iso-8859-4'); INSERT INTO "charsets" VALUES (12, 'iso-8859-5'); INSERT INTO "charsets" VALUES (13, 'iso-8859-6'); INSERT INTO "charsets" VALUES (14, 'iso-8859-7'); INSERT INTO "charsets" VALUES (15, 'iso-8859-8'); INSERT INTO "charsets" VALUES (16, 'iso-8859-8-i'); INSERT INTO "charsets" VALUES (17, 'iso-8859-10'); INSERT INTO "charsets" VALUES (18, 'iso-8859-13'); INSERT INTO "charsets" VALUES (19, 'iso-8859-14'); INSERT INTO "charsets" VALUES (20, 'iso-8859-15'); INSERT INTO "charsets" VALUES (21, 'iso-8859-16'); INSERT INTO "charsets" VALUES (22, 'koi8-r'); INSERT INTO "charsets" VALUES (23, 'koi8-u'); INSERT INTO "charsets" VALUES (24, 'macintosh'); INSERT INTO "charsets" VALUES (25, 'replacement'); INSERT INTO "charsets" VALUES (26, 'shift_jis'); INSERT INTO "charsets" VALUES (27, 'utf-16be'); INSERT INTO "charsets" VALUES (28, 'utf-16le'); INSERT INTO "charsets" VALUES (29, 'windows-874'); INSERT INTO "charsets" VALUES (30, 'windows-1250'); INSERT INTO "charsets" VALUES (31, 'windows-1251'); INSERT INTO "charsets" VALUES (32, 'windows-1252'); INSERT INTO "charsets" VALUES (33, 'windows-1253'); INSERT INTO "charsets" VALUES (34, 'windows-1254'); INSERT INTO "charsets" VALUES (35, 'windows-1255'); INSERT INTO "charsets" VALUES (36, 'windows-1256'); INSERT INTO "charsets" VALUES (37, 'windows-1257'); INSERT INTO "charsets" VALUES (38, 'windows-1258'); INSERT INTO "charsets" VALUES (39, 'x-mac-cyrillic'); INSERT INTO "charsets" VALUES (40, 'x-user-defined'); INSERT INTO "fileTypes" VALUES(1, 'webpage'); INSERT INTO "fileTypes" VALUES(2, 'image'); INSERT INTO "fileTypes" VALUES(3, 'pdf'); INSERT INTO "fileTypes" VALUES(4, 'audio'); INSERT INTO "fileTypes" VALUES(5, 'video'); INSERT INTO "fileTypes" VALUES(6, 'document'); INSERT INTO "fileTypes" VALUES(7, 'presentation'); INSERT INTO "fileTypes" VALUES(8, 'ebook'); -- webpage INSERT INTO "fileTypeMIMETypes" VALUES(1, 'text/html'); -- image INSERT INTO "fileTypeMIMETypes" VALUES(2, 'image/'); INSERT INTO "fileTypeMIMETypes" VALUES(2, 'application/vnd.oasis.opendocument.graphics'); INSERT INTO "fileTypeMIMETypes" VALUES(2, 'application/vnd.oasis.opendocument.image'); -- pdf INSERT INTO "fileTypeMIMETypes" VALUES(3, 'application/pdf'); -- audio INSERT INTO "fileTypeMIMETypes" VALUES(4, 'audio/'); INSERT INTO "fileTypeMIMETypes" VALUES(4, 'x-pn-realaudio'); INSERT INTO "fileTypeMIMETypes" VALUES(4, 'application/ogg'); INSERT INTO "fileTypeMIMETypes" VALUES(4, 'application/x-killustrator'); -- video INSERT INTO "fileTypeMIMETypes" VALUES(5, 'video/'); INSERT INTO "fileTypeMIMETypes" VALUES(5, 'application/x-shockwave-flash'); -- document INSERT INTO "fileTypeMIMETypes" VALUES(6, 'text/plain'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/rtf'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/msword'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'text/xml'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/postscript'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/wordperfect5.1'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/x-latex'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/x-tex'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/x-kword'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/x-kspread'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/x-kchart'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/vnd.oasis.opendocument.chart'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/vnd.oasis.opendocument.database'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/vnd.oasis.opendocument.formula'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/vnd.oasis.opendocument.spreadsheet'); INSERT INTO "fileTypeMIMETypes" VALUES(6, 'application/vnd.oasis.opendocument.text'); -- presentation INSERT INTO "fileTypeMIMETypes" VALUES(7, 'application/powerpoint'); INSERT INTO "fileTypeMIMETypes" VALUES(7, 'application/vnd.oasis.opendocument.presentation'); INSERT INTO "fileTypeMIMETypes" VALUES(7, 'application/x-kpresenter'); INSERT INTO "fileTypeMIMETypes" VALUES(7, 'application/vnd.ms-powerpoint'); -- ebook INSERT INTO "fileTypeMIMETypes" VALUES(8, 'application/epub+zip'); INSERT INTO "fileTypeMIMETypes" VALUES(8, 'application/epub'); -- incorrect, for compatibility INSERT INTO "syncObjectTypes" VALUES(1, 'collection'); INSERT INTO "syncObjectTypes" VALUES(2, 'creator'); INSERT INTO "syncObjectTypes" VALUES(3, 'item'); INSERT INTO "syncObjectTypes" VALUES(4, 'search'); INSERT INTO "syncObjectTypes" VALUES(5, 'tag'); INSERT INTO "syncObjectTypes" VALUES(6, 'relation'); INSERT INTO "syncObjectTypes" VALUES(7, 'setting');