diff options
author | Jamie McCracken <jamiemcc@src.gnome.org> | 2006-09-11 16:25:49 +0000 |
---|---|---|
committer | Jamie McCracken <jamiemcc@src.gnome.org> | 2006-09-11 16:25:49 +0000 |
commit | 59fa14f84e43b6c00fbc0ad207e167c8b234cfea (patch) | |
tree | e29878031ee260f25abd732ecae1a640378ce00a /data | |
parent | 56ba86aec07cc24203505d1585fe330427396066 (diff) | |
download | tracker-59fa14f84e43b6c00fbc0ad207e167c8b234cfea.tar.gz |
updates
Diffstat (limited to 'data')
-rw-r--r-- | data/sqlite-stored-procs.sql | 134 | ||||
-rw-r--r-- | data/sqlite-tracker.sql | 319 |
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) + +); + + + + + |