summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorJamie McCracken <jamiemcc@src.gnome.org>2006-09-11 16:25:49 +0000
committerJamie McCracken <jamiemcc@src.gnome.org>2006-09-11 16:25:49 +0000
commit59fa14f84e43b6c00fbc0ad207e167c8b234cfea (patch)
treee29878031ee260f25abd732ecae1a640378ce00a /data
parent56ba86aec07cc24203505d1585fe330427396066 (diff)
downloadtracker-59fa14f84e43b6c00fbc0ad207e167c8b234cfea.tar.gz
updates
Diffstat (limited to 'data')
-rw-r--r--data/sqlite-stored-procs.sql134
-rw-r--r--data/sqlite-tracker.sql319
2 files changed, 453 insertions, 0 deletions
diff --git a/data/sqlite-stored-procs.sql b/data/sqlite-stored-procs.sql
new file mode 100644
index 000000000..c522dc06b
--- /dev/null
+++ b/data/sqlite-stored-procs.sql
@@ -0,0 +1,134 @@
+GetServiceType select TypeName From ServiceTypes where TypeID = ?;
+
+GetMetaDataName select MetaName From MetaDataTypes where ID = ?;
+
+GetMetaDataTypeID select ID From MetaDataTypes where MetaName = ?;
+
+GetMetaDataType select DataTypeID From MetaDataTypes where MetaName = ?;
+
+GetServiceTypeID select TypeID From ServiceTypes where TypeName = ?;
+
+GetServiceIDNum select ID From Services where Path = ? and Name = ?;
+
+GetFilesByServiceType SELECT DISTINCT F.Path || '/' || F.Name as uri FROM Services F WHERE (F.ServiceTypeID between ? and ?) LIMIT ?,?;
+
+GetFileMTime SELECT M.MetaDataNumericValue FROM Services F inner join ServiceMetaData M on F.ID = M.ServiceID WHERE F.Path = ? and F.Name = ? and M.MetaDataID = (select ID From MetaDataTypes where MetaName ='File.Modified');
+
+IndexIDExists select 1 where exists (select IndexID from ServiceMetaData where IndexID = ?);
+
+GetMainServices SELECT TypeName, MetadataClass, Description FROM ServiceTypes WHERE MainService = 1 ORDER BY TypeID;
+
+GetServices SELECT TypeName, MetadataClass, Description FROM ServiceTypes ORDER BY TypeID;
+
+GetServiceID SELECT ID, IndexTime, IsDirectory FROM Services WHERE Path = ? AND Name = ?;
+
+GetNewID SELECT OptionValue FROM Options WHERE OptionKey = 'Sequence';
+
+UpdateNewID UPDATE Options set OptionValue = ? WHERE OptionKey = 'Sequence';
+
+CreateService INSERT INTO Services (ID, Path, Name, ServiceTypeID, IsDirectory, IsLink, IsServiceSource, Offset, IndexTime) VALUES (?,?,?,?,?,?,?,?,?);
+
+DeleteService1 DELETE FROM Services WHERE ID = ?;
+DeleteService2 DELETE FROM ServiceMetaData WHERE ServiceID = ?;
+DeleteService3 DELETE FROM ServiceLinks WHERE (ServiceID = ? or LinkID = ?);
+DeleteService4 DELETE FROM ServiceKeywords WHERE ServiceID = ?;
+
+DeleteEmbeddedServiceMetadata DELETE FROM ServiceMetaData WHERE ServiceID = ? AND MetaDataID IN (SELECT ID FROM MetaDataTypes WHERE Embedded = 1);
+
+SelectFileChild SELECT ID, Path, Name FROM Services WHERE Path = ?;
+
+SelectFileSubFolders SELECT ID, Path, Name, IsDirectory FROM Services WHERE (Path = ? or Path glob ?) Having IsDirectory = 1;
+
+UpdateFile UPDATE Services SET IndexTime = ? WHERE ID = ?;
+
+UpdateFileMove UPDATE Services SET Path = ?, Name = ?, IndexTime = ? WHERE ID = ?;
+
+UpdateFileMoveChild UPDATE Services SET Path = ? WHERE Path = ?;
+
+UpdateFileMovePath UPDATE ServiceMetaData set MetaDataIndexValue = ? WHERE ServiceID in (select ID FROM Services where Path = ?) AND MetaDataID = (select ID FROM MetaDataTypes WHERE MetaName = 'File.Path');
+
+DeleteFile1 DELETE FROM Services WHERE ID = ?;
+DeleteFile2 DELETE FROM ServiceMetaData WHERE ServiceID = ?;
+DeleteFile3 DELETE FROM FileContexts WHERE FileID = ?;
+DeleteFile4 DELETE FROM FilePending WHERE FileID = ?;
+DeleteFile5 DELETE FROM ServiceLinks WHERE (ServiceID = ? or LinkID = ?);
+DeleteFile6 DELETE FROM ServiceKeywords WHERE (ServiceID = ?);
+
+DeleteDirectory1 DELETE FROM ServiceMetaData WHERE ServiceID in (select ID FROM Services where (F.Path = ?) OR (F.Path glob ?));
+DeleteDirectory2 DELETE FROM FileContexts WHERE FileID in (select ID FROM Services where (F.Path = ?) OR (F.Path glob ?));
+DeleteDirectory3 DELETE FROM FilePending WHERE FileID = in (select ID FROM Services where (F.Path = ?) OR (F.Path glob ?));
+DeleteDirectory4 DELETE FROM ServiceKeywords WHERE ServiceID in (select ID FROM Services where (F.Path = ?) OR (F.Path glob ?));
+DeleteDirectory5 DELETE FROM Services WHERE (Path = ?) OR (Path glob ?);
+DeleteDirectory6 DELETE FROM Services WHERE ID = ?;
+DeleteDirectory7 DELETE FROM ServiceMetaData WHERE ServiceID = ?;
+DeleteDirectory8 DELETE FROM FileContexts WHERE FileID = ?;
+DeleteDirectory9 DELETE FROM FilePending WHERE FileID = ?;
+DeleteDirectory10 DELETE FROM ServiceLinks WHERE (ServiceID = ? or LinkID = ?);
+DeleteDirectory11 DELETE FROM ServiceKeywords WHERE (ServiceID = ?);
+
+SaveFileContents insert into ServiceMetaData (ServiceID, MetaDataID, MetaDataIndexValue) values (?,?,?);
+
+GetKeywordList Select distinct K.Keyword, count(*) from Services S, ServiceKeywords K where K.ServiceID = S.ID AND (S.ServiceTypeID between ? and ?) group by K.Keyword order by 2,1 desc;
+
+GetKeywords Select Keyword from ServiceKeywords where ServiceID = (select ID From Services where Path = ? and Name = ?);
+
+AddKeyword insert into ServiceKeywords (ServiceID, Keyword) values ((select ID From Services where Path = ? and Name = ?), ?);
+
+RemoveKeyword delete from ServiceKeywords where ServiceID = (select ID From Services where Path = ? and Name = ?) and Keyword = ?;
+
+RemoveAllKeywords delete from ServiceKeywords where ServiceID = (select ID From Services where Path = ? and Name = ?);
+
+SearchKeywords Select Distinct S.Path || '/' || S.Name as uri from Services S INNER JOIN ServiceKeywords K ON K.ServiceID = S.ID WHERE (S.ServiceTypeID between ? and ?) and K.Keyword = ? limit ?,?;
+
+GetMetadataIndex SELECT MetaDataIndexValue FROM ServiceMetaData WHERE ServiceID = ? AND MetaDataID = (select ID from MetaDataTypes where MetaName = ?);
+
+GetMetadataString SELECT MetaDataValue FROM ServiceMetaData WHERE ServiceID = ? AND MetaDataID = (select ID from MetaDataTypes where MetaName = ?);
+
+GetMetadataNumeric SELECT MetaDataNumericValue FROM ServiceMetaData WHERE ServiceID = ? AND MetaDataID = (select ID from MetaDataTypes where MetaName = ?);
+
+SetMetadataIndex REPLACE INTO ServiceMetaData (ServiceID, MetaDataID, MetaDataIndexValue) VALUES (?,?,?);
+
+SetMetadataString REPLACE INTO ServiceMetaData (ServiceID, MetaDataID, MetaDataValue) VALUES (?,?,?);
+
+SetMetadataNumeric REPLACE INTO ServiceMetaData (ServiceID, MetaDataID, MetaDataNumericValue) VALUES (?,?,?);
+
+GetMetadataTypeInfo SELECT ID, DataTypeID, Embedded, Writeable FROM MetaDataTypes where MetaName = ?;
+
+GetMetadataTypes SELECT MetaName, ID, DataTypeID, Embedded, Writeable FROM MetaDataTypes;
+
+GetMetadataTypesLike SELECT MetaName, ID, DataTypeID, Embedded, Writeable FROM MetaDataTypes WHERE MetaName glob ?;
+
+GetWriteableMetadataTypes SELECT MetaName, ID, DataTypeID, Embedded, Writeable FROM MetaDataTypes where writeable = 1;
+
+GetWriteableMetadataTypesLike SELECT MetaName, ID, DataTypeID, Embedded, Writeable FROM MetaDataTypes WHERE MetaName glob ? and writeable = 1;
+
+SelectMetadataClasses SELECT DISTINCT SUBSTRING_INDEX(MetaName, '.', 1) FROM MetaDataTypes;
+
+InsertMetadataType INSERT INTO MetaDataTypes (MetaName, DataTypeID, Embedded, Writeable) VALUES (?,?,?,?);
+
+ExistsPendingFiles select count(*) from FilePending where Action <> 20;
+
+InsertPendingFile INSERT INTO FilePending (FileID, Action, PendingDate, FileUri, MimeType, IsDir) VALUES (?,?,?,?,?,?);
+
+CountPendingMetadataFiles select 1 Where Exists (select ID from FilePending where Action = 20);
+
+SelectPendingByUri SELECT FileID, FileUri, Action, MimeType, IsDir FROM FilePending WHERE FileUri = ?;
+
+UpdatePendingFile UPDATE FilePending SET PendingDate = ?, Action = ? WHERE FileUri = ?;
+
+DeletePendingFile DELETE FROM FilePending WHERE FileUri = ?;
+
+GetWatchUri select URI from FileWatches where WatchID = ?;
+
+GetWatchID select WatchID from FileWatches where URI = ?;
+
+GetSubWatches select WatchID from FileWatches where URI glob ?;
+
+DeleteWatch delete from FileWatches where URI = ?;
+
+DeleteSubWatches delete from FileWatches where URI glob ?;
+
+InsertWatch insert into FileWatches (URI, WatchID) values (?,?);
+
+GetStats select 'Total files indexed', count(*) as n from Services where ServiceTypeID between 0 and 8 union select
+T.TypeName, count(*) as n, ((COUNT(*) / (SELECT COUNT(*) FROM Services)) * 100) from Services S, ServiceTypes T where S.ServiceTypeID = T.TypeID group by T.TypeName;
diff --git a/data/sqlite-tracker.sql b/data/sqlite-tracker.sql
new file mode 100644
index 000000000..7f7134320
--- /dev/null
+++ b/data/sqlite-tracker.sql
@@ -0,0 +1,319 @@
+
+CREATE TABLE Options (
+ OptionKey Text not null,
+ OptionValue Text
+);
+
+insert into Options (OptionKey, OptionValue) values ('DBVersion', '4');
+insert into Options (OptionKey, OptionValue) values ('Sequence', '0');
+
+
+CREATE TABLE ServiceTypes
+(
+ TypeID Integer Primary Key not null,
+ ParentID Integer ,
+ TypeName Text,
+ MetadataClass Text,
+ Description Text,
+ MainService Integer default 0
+
+);
+
+
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (0, 'Files', 'File', 'all local files', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (1, 'Folders', 'File', 'folders only', 0 );
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (2, 'Documents', 'Doc, File', 'documents only', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (3, 'Images', 'Image, File', 'image files only', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (4, 'Music', 'Audio, File', 'music files only', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (5, 'Videos', 'File', 'video and movie files only', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (6, 'Text Files', 'File', 'text files only', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (7, 'Development Files', 'File', 'development and source code files only', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (8, 'Other Files', 'File', 'all other uncategorized files', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (9, 'VFS Files', 'File', 'all VFS based files', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (10, 'VFS Folders', 'File', 'VFS based folders only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (11, 'VFS Documents', 'Doc, File', 'VFS based documents only',0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (12, 'VFS Images', 'Image, File', 'VFS based images only',0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (13, 'VFS Music', 'Audio, File', 'VFS based music only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (14, 'VFS Videos', 'File', 'VFS based movies/videos only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (15, 'VFS Text', 'File', ' VFS based text files only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (16, 'VFS Development Files', 'File', 'VFS based development and source code files only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (17, 'VFS Other Files', 'File', 'VFS based folders only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (18, 'Conversations', 'File', 'IM logs and conversations only', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (19, 'Playlists', 'PlayList', 'playlists only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (20, 'Applications', 'App', 'applications only', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (21, 'Contacts', 'Contact', 'contacts only', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (22, 'Emails', 'Email', 'emails only', 1);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (23, 'EmailAttachments', 'File', 'email attachments only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (24, 'Notes', 'Note', 'notes only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (25, 'Appointments', 'Appointment', 'appointments only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (26, 'Tasks', 'Task', 'tasks and to-do lists only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (27, 'Bookmarks', 'Bookmark', 'bookmarks only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (28, 'History', 'History', 'history only', 0);
+insert into ServiceTypes (TypeID, TypeName, MetadataClass, Description, MainService) values (29, 'Projects', 'Project', 'projects only', 0);
+
+/* store volume and HAL info here for files */
+CREATE TABLE Volumes
+(
+ VolumeID Integer primary key AUTOINCREMENT not null,
+ UDI Text,
+ VolumeName Text,
+ MountPath Text,
+ Enabled Integer default 0
+
+);
+
+
+/* basic file info for a file or service object */
+CREATE TABLE Services
+(
+ ID Integer primary key AUTOINCREMENT not null,
+ ServiceTypeID Integer default 0, /* see ServiceTypes table above for ID values */
+ Path Text not null, /* non-file objects should use service name here */
+ Name Text , /* name of file or object - the combination path and name must be unique for all objects */
+ Enabled Integer default 1,
+ IsServiceSource Integer default 0,
+ IsDirectory Integer default 0,
+ IsWatchedDirectory Integer default 0,
+ IsLink Integer default 0,
+ IsVfs Integer default 0,
+ VolumeID Integer default -1, /* link to Volumes table */
+ IndexTime Integer, /* should equal st_mtime for file if up-to-date */
+ Offset Integer, /* last used disk offset for indexable files that always grow (like chat logs) */
+
+ unique (Path, Name)
+
+);
+
+CREATE INDEX ServiceIndex ON Services (ServiceTypeID);
+
+
+/* provides links from one service entity to another */
+CREATE TABLE ServiceLinks
+(
+ ServiceID Integer not null,
+ LinkID Integer not null,
+ LinkTypeID Integer not null, /* see ServiceLinkTypes table */
+
+ primary key (ServiceID, LinkID, LinkTypeID)
+
+);
+
+CREATE TABLE ServiceLinkTypes
+(
+ ID Integer primary key AUTOINCREMENT not null,
+ Type Text
+
+);
+
+insert into ServiceLinkTypes (Type) Values ('PlayListItem');
+
+
+
+/* store all keywords here. */
+CREATE TABLE ServiceKeywords
+(
+ ServiceID Integer not null,
+ Keyword Text not null,
+
+ Primary Key (ServiceID, Keyword)
+);
+
+
+CREATE INDEX ServiceKeywordsKeyword ON ServiceKeywords (Keyword);
+
+CREATE TABLE Keywords
+(
+ Keyword Text not null,
+ Description Text ,
+ CustomEmblem Text ,
+ IsFavouriteTag Integer default 0,
+
+ primary key (Keyword)
+
+);
+
+
+/* store all metadata here. */
+CREATE TABLE ServiceMetaData
+(
+ IndexID Integer Primary key AUTOINCREMENT not null,
+ ServiceID Integer not null,
+ MetaDataID Integer not null,
+ MetaDataValue Text,
+ MetaDataIndexValue Text,
+ MetaDataNumericValue double
+
+);
+
+CREATE INDEX ServiceMetaDataServiceID ON ServiceMetaData (ServiceID, MetaDataID);
+
+
+
+
+/* describes the types of metadata */
+CREATE TABLE MetaDataTypes
+(
+ ID Integer primary key AUTOINCREMENT not null,
+ MetaName Text not null,
+ DataTypeID Integer not null, /* 0=full text indexable string (max 255 long), 1=string or Blob, 2=numeric, 3=datetime, 4==IndexBlob (99=special case)*/
+ Embedded Integer not null, /* if the metadata is embedded in the file */
+ Writeable Integer not null, /* is metadata writable */
+ Weight Integer default 1 not null, /* weight of metdata type in ranking */
+
+
+ Unique (MetaName)
+);
+
+
+/* built in metadata types */
+
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Content', 0, 1, 0, 1);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Name', 0, 1, 0, 5);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Path', 0, 1, 0, 1);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Ext', 0, 1, 0, 50);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Link', 1, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Format', 0, 1, 0, 15);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Size', 2, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Origin', 0, 0, 1, 5);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.OriginURI', 1, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Permissions', 1, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Publisher', 0, 0, 1, 20);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Description', 0, 0, 1, 25);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.License', 4, 1, 0, 10);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Keywords', 99, 0, 0, 100);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Rank', 2, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.IconPath', 1, 0, 1, 0 );
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.SmallThumbnailPath', 1, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.LargeThumbnailPath', 1, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Modified', 3, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Accessed', 3, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('File.Other', 0, 1, 0, 5);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Title', 0, 1, 1, 50);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Artist', 0, 1, 1, 50);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Album', 0, 1, 1, 50);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.AlbumArtist', 0, 1, 1, 25);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.AlbumTrackCount', 2, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.TrackNo', 2, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.DiscNo', 2, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Performer', 0, 1, 1, 70);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.TrackGain', 2, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.TrackPeakGain', 2, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.AlbumGain', 2, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.AlbumPeakGain', 2, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Duration', 2, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.ReleaseDate', 3, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Comment', 0, 1, 1, 25);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Genre', 0, 1, 1, 90);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Codec', 0, 1, 1, 1);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.CodecVersion', 1, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Samplerate', 2, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Bitrate', 2, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Channels', 2, 1, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.LastPlay', 3, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.PlayCount', 2, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.IsNew', 2, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.MBAlbumID', 1, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.MBArtistID', 1, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.MBAlbumArtistID', 1, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.MBTrackID', 1, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.Lyrics', 0, 0, 1, 4);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Audio.CoverAlbumThumbnailPath', 1, 0, 1, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Doc.Title', 0, 1, 0, 90);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Doc.Subject', 0, 1, 0, 100);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Doc.Author', 0, 1, 0, 90);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Doc.Keywords', 0, 1, 0, 100);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Doc.Comments', 0, 1, 0, 80);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Doc.PageCount', 2, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Doc.WordCount', 2, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Doc.Created', 3, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Doc.Text', 4, 1, 0, 5);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Height', 2, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Width', 2, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Title', 0, 1, 0, 60);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Album', 0, 0, 1, 30);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Date', 3, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Keywords', 0, 1, 0, 100);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Creator', 0, 1, 0, 50);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Comments', 0, 1, 0, 20);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Description', 0, 1, 0, 15);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Software', 0, 1, 0, 1);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.CameraMake', 0, 1, 0, 1);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.CameraModel', 0, 1, 0, 10);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Orientation', 1, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.ExposureProgram', 1, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.ExposureTime', 2, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.FNumber', 2 , 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Flash', 2, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.FocalLength', 2, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.ISOSpeed', 2, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.MeteringMode', 1, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.WhiteBalance', 1, 1, 0, 0);
+insert into MetaDataTypes (MetaName, DatatypeID, Embedded, Writeable, Weight) values ('Image.Copyright', 0, 1, 0, 1);
+
+
+
+
+
+/* table for files waiting to be processed */
+CREATE TABLE FilePending
+(
+ ID Integer primary key AUTOINCREMENT not null,
+ FileID Integer default -1,
+ Action Integer default 0,
+ PendingDate Integer,
+ FileUri Text not null,
+ MimeType Text ,
+ IsDir Integer default 0
+);
+
+
+/* temp tables */
+CREATE TABLE FileTemp
+(
+ ID Integer primary key not null,
+ FileID Integer default -1,
+ Action Integer default 0,
+ FileUri Text not null,
+ MimeType Text ,
+ IsDir Integer default 0
+);
+
+CREATE TABLE MetadataTemp
+(
+ ID Integer primary key not null,
+ FileID Integer default -1,
+ Action Integer default 0,
+ FileUri Text not null,
+ MimeType Text ,
+ IsDir Integer default 0
+);
+
+
+CREATE TABLE FileWatches
+(
+ WatchID Integer not null,
+ URI Text not null,
+
+ primary key (WatchID),
+ unique (URI)
+);
+
+
+
+/* allow aliasing of VFolders with nice names */
+CREATE TABLE VFolders
+(
+ Path Text not null,
+ Name Text not null,
+ Query text not null,
+ RDF text,
+ active integer,
+
+ primary key (Path, Name)
+
+);
+
+
+
+
+