/usr/include/libtomahawk/database/Schema.sql.h is in libtomahawk-dev 0.8.4+dfsg1-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | /*
This file was automatically generated from ./Schema.sql on Tue Jul 30 12:51:06 CEST 2013.
*/
static const char * tomahawk_schema_sql =
"CREATE TABLE IF NOT EXISTS oplog ("
" id INTEGER PRIMARY KEY AUTOINCREMENT,"
" source INTEGER REFERENCES source(id) ON DELETE CASCADE ON UPDATE CASCADE, "
" guid TEXT NOT NULL,"
" command TEXT NOT NULL,"
" singleton BOOLEAN NOT NULL,"
" compressed BOOLEAN NOT NULL,"
" json TEXT NOT NULL"
");"
"CREATE UNIQUE INDEX oplog_guid ON oplog(guid);"
"CREATE INDEX oplog_source ON oplog(source);"
"CREATE TABLE IF NOT EXISTS artist ("
" id INTEGER PRIMARY KEY AUTOINCREMENT,"
" name TEXT NOT NULL,"
" sortname TEXT NOT NULL"
");"
"CREATE UNIQUE INDEX artist_sortname ON artist(sortname);"
"CREATE INDEX artist_name ON artist(name);"
"CREATE TABLE IF NOT EXISTS track ("
" id INTEGER PRIMARY KEY AUTOINCREMENT,"
" artist INTEGER NOT NULL REFERENCES artist(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" name TEXT NOT NULL,"
" sortname TEXT NOT NULL"
");"
"CREATE UNIQUE INDEX track_artist_sortname ON track(artist,sortname);"
"CREATE INDEX track_name ON track(name);"
"CREATE TABLE IF NOT EXISTS album ("
" id INTEGER PRIMARY KEY AUTOINCREMENT,"
" artist INTEGER NOT NULL REFERENCES artist(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" name TEXT NOT NULL,"
" sortname TEXT NOT NULL"
");"
"CREATE UNIQUE INDEX album_artist_sortname ON album(artist,sortname);"
"CREATE TABLE IF NOT EXISTS source ("
" id INTEGER PRIMARY KEY AUTOINCREMENT,"
" name TEXT NOT NULL,"
" friendlyname TEXT,"
" lastop TEXT NOT NULL DEFAULT \"\", "
" isonline BOOLEAN NOT NULL DEFAULT false"
");"
"CREATE UNIQUE INDEX source_name ON source(name);"
"CREATE TABLE IF NOT EXISTS playlist ("
" guid TEXT PRIMARY KEY,"
" source INTEGER REFERENCES source(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED, "
" shared BOOLEAN DEFAULT false,"
" title TEXT,"
" info TEXT,"
" creator TEXT,"
" lastmodified INTEGER NOT NULL DEFAULT 0,"
" currentrevision TEXT REFERENCES playlist_revision(guid) DEFERRABLE INITIALLY DEFERRED,"
" dynplaylist BOOLEAN DEFAULT false,"
" createdOn INTEGER NOT NULL DEFAULT 0"
");"
"CREATE TABLE IF NOT EXISTS playlist_item ("
" guid TEXT PRIMARY KEY,"
" playlist TEXT NOT NULL REFERENCES playlist(guid) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" trackname TEXT NOT NULL,"
" artistname TEXT NOT NULL,"
" albumname TEXT,"
" annotation TEXT,"
" duration INTEGER, "
" addedon INTEGER NOT NULL DEFAULT 0, "
" addedby INTEGER REFERENCES source(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED, "
" result_hint TEXT "
");"
"CREATE INDEX playlist_item_playlist ON playlist_item(playlist);"
"CREATE INDEX playlist_item_trackname ON playlist_item(trackname);"
"CREATE INDEX playlist_item_artistname ON playlist_item(artistname);"
"CREATE TABLE IF NOT EXISTS playlist_revision ("
" guid TEXT PRIMARY KEY,"
" playlist TEXT NOT NULL REFERENCES playlist(guid) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" entries TEXT, "
" author INTEGER REFERENCES source(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" timestamp INTEGER NOT NULL DEFAULT 0,"
" previous_revision TEXT REFERENCES playlist_revision(guid) DEFERRABLE INITIALLY DEFERRED"
");"
"CREATE TABLE IF NOT EXISTS dynamic_playlist ("
" guid TEXT NOT NULL REFERENCES playlist(guid) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" pltype TEXT, "
" plmode INTEGER, "
" autoload BOOLEAN DEFAULT true "
");"
"CREATE TABLE IF NOT EXISTS dynamic_playlist_controls ("
" id TEXT PRIMARY KEY,"
" playlist TEXT NOT NULL REFERENCES playlist(guid) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" selectedType TEXT,"
" match TEXT,"
" input TEXT"
");"
"CREATE TABLE IF NOT EXISTS dynamic_playlist_revision ("
" guid TEXT PRIMARY KEY NOT NULL REFERENCES playlist_revision(guid) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" controls TEXT, "
" plmode INTEGER,"
" pltype TEXT"
");"
"CREATE TABLE IF NOT EXISTS file ("
" id INTEGER PRIMARY KEY AUTOINCREMENT,"
" source INTEGER REFERENCES source(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" url TEXT NOT NULL, "
" size INTEGER NOT NULL, "
" mtime INTEGER NOT NULL, "
" md5 TEXT, "
" mimetype TEXT, "
" duration INTEGER NOT NULL DEFAULT 0, "
" bitrate INTEGER NOT NULL DEFAULT 0 "
");"
"CREATE UNIQUE INDEX file_url_src_uniq ON file(source, url);"
"CREATE INDEX file_source ON file(source);"
"CREATE INDEX file_mtime ON file(mtime);"
"CREATE TABLE IF NOT EXISTS dirs_scanned ("
" name TEXT PRIMARY KEY,"
" mtime INTEGER NOT NULL"
");"
"CREATE TABLE IF NOT EXISTS file_join ("
" file INTEGER PRIMARY KEY REFERENCES file(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" artist INTEGER NOT NULL REFERENCES artist(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" track INTEGER NOT NULL REFERENCES track(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" album INTEGER REFERENCES album(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" albumpos INTEGER,"
" composer INTEGER REFERENCES artist(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" discnumber INTEGER"
");"
"CREATE INDEX file_join_track ON file_join(track);"
"CREATE INDEX file_join_artist ON file_join(artist);"
"CREATE INDEX file_join_album ON file_join(album);"
"CREATE TABLE IF NOT EXISTS track_tags ("
" id INTEGER PRIMARY KEY, "
" source INTEGER REFERENCES source(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" tag TEXT NOT NULL, "
" ns TEXT, "
" weight float DEFAULT 1.0 "
");"
"CREATE INDEX track_tags_tag ON track_tags(tag);"
"CREATE TABLE IF NOT EXISTS album_tags ("
" id INTEGER PRIMARY KEY, "
" source INTEGER REFERENCES source(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" tag TEXT NOT NULL, "
" ns TEXT, "
" weight float DEFAULT 1.0 "
");"
"CREATE INDEX album_tags_tag ON album_tags(tag);"
"CREATE TABLE IF NOT EXISTS artist_tags ("
" id INTEGER PRIMARY KEY, "
" source INTEGER REFERENCES source(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" tag TEXT NOT NULL, "
" ns TEXT, "
" weight float DEFAULT 1.0 "
");"
"CREATE INDEX artist_tags_tag ON artist_tags(tag);"
"CREATE TABLE IF NOT EXISTS track_attributes ("
" id INTEGER REFERENCES track(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED, "
" k TEXT NOT NULL,"
" v TEXT NOT NULL"
");"
"CREATE INDEX track_attrib_id ON track_attributes(id);"
"CREATE INDEX track_attrib_k ON track_attributes(k);"
"CREATE TABLE IF NOT EXISTS collection_attributes ("
" id INTEGER REFERENCES source(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED, "
" k TEXT NOT NULL,"
" v TEXT NOT NULL"
");"
"CREATE TABLE IF NOT EXISTS social_attributes ("
" id INTEGER REFERENCES track(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED, "
" source INTEGER REFERENCES source(id) ON DELETE CASCADE ON UPDATE CASCADE, "
" k TEXT NOT NULL,"
" v TEXT NOT NULL,"
" timestamp INTEGER NOT NULL DEFAULT 0"
");"
"CREATE INDEX social_attrib_id ON social_attributes(id);"
"CREATE INDEX social_attrib_source ON social_attributes(source);"
"CREATE INDEX social_attrib_k ON social_attributes(k);"
"CREATE INDEX social_attrib_timestamp ON social_attributes(timestamp);"
"CREATE TABLE IF NOT EXISTS playback_log ("
" id INTEGER PRIMARY KEY AUTOINCREMENT,"
" source INTEGER REFERENCES source(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" track INTEGER REFERENCES track(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,"
" playtime INTEGER NOT NULL, "
" secs_played INTEGER NOT NULL"
");"
"CREATE INDEX playback_log_source ON playback_log(source);"
"CREATE INDEX playback_log_track ON playback_log(track);"
"CREATE INDEX playback_log_playtime ON playback_log(playtime);"
"CREATE TABLE IF NOT EXISTS http_client_auth ("
" token TEXT NOT NULL PRIMARY KEY,"
" website TEXT NOT NULL,"
" name TEXT NOT NULL,"
" ua TEXT,"
" mtime INTEGER,"
" permissions TEXT NOT NULL"
");"
"CREATE TABLE IF NOT EXISTS settings ("
" k TEXT NOT NULL PRIMARY KEY,"
" v TEXT NOT NULL DEFAULT ''"
");"
"INSERT INTO settings(k,v) VALUES('schema_version', '31');"
;
const char * get_tomahawk_sql()
{
return tomahawk_schema_sql;
}
|