[rygel-gst-0-10-plugins/wip/tracking: 1/8] Update SQL factory strings.
- From: Krzesimir Nowak <krnowak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel-gst-0-10-plugins/wip/tracking: 1/8] Update SQL factory strings.
- Date: Fri, 22 Feb 2013 12:32:01 +0000 (UTC)
commit fb357ce4a189bbcc622dd5f50ec7770b398ec9f2
Author: Krzesimir Nowak <krnowak openismus com>
Date: Tue Feb 19 12:26:03 2013 +0100
Update SQL factory strings.
src/media-export/rygel-media-export-sql-factory.c | 196 +++++++++------------
src/media-export/rygel-media-export-sql-factory.h | 11 +-
2 files changed, 91 insertions(+), 116 deletions(-)
---
diff --git a/src/media-export/rygel-media-export-sql-factory.c
b/src/media-export/rygel-media-export-sql-factory.c
index 265dbfb..6934432 100644
--- a/src/media-export/rygel-media-export-sql-factory.c
+++ b/src/media-export/rygel-media-export-sql-factory.c
@@ -36,8 +36,9 @@ G_DEFINE_TYPE (RygelMediaExportSQLFactory, rygel_media_export_sql_factory, G_TYP
#define RYGEL_MEDIA_EXPORT_SQL_FACTORY_INSERT_OBJECT_STRING \
"INSERT OR REPLACE INTO Object " \
- "(upnp_id, title, type_fk, parent, timestamp, uri) " \
- "VALUES (?,?,?,?,?,?)"
+ "(upnp_id, title, type_fk, parent, timestamp, uri, " \
+ "object_update_id, deleted_child_count, container_update_id) " \
+ "VALUES (?,?,?,?,?,?,?,?,?)"
#define RYGEL_MEDIA_EXPORT_SQL_FACTORY_DELETE_BY_ID_STRING \
"DELETE FROM Object WHERE upnp_id IN " \
@@ -48,7 +49,8 @@ G_DEFINE_TYPE (RygelMediaExportSQLFactory, rygel_media_export_sql_factory, G_TYP
"m.height, m.class, m.author, m.album, m.date, m.bitrate, " \
"m.sample_freq, m.bits_per_sample, m.channels, m.track, " \
"m.color_depth, m.duration, o.upnp_id, o.parent, o.timestamp, " \
- "o.uri, m.dlna_profile, m.genre, m.disc "
+ "o.uri, m.dlna_profile, m.genre, m.disc, o.object_update_id, " \
+ "o.deleted_child_count, o.container_update_id "
#define RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECT_WITH_PATH \
"SELECT DISTINCT " RYGEL_MEDIA_EXPORT_SQL_FACTORY_ALL_DETAILS_STRING \
@@ -73,7 +75,7 @@ G_DEFINE_TYPE (RygelMediaExportSQLFactory, rygel_media_export_sql_factory, G_TYP
"JOIN Closure c ON (o.upnp_id = c.descendant) " \
"LEFT OUTER JOIN meta_data m " \
"ON c.descendant = m.object_fk " \
- "WHERE c.ancestor = ? AND c.depth = 1 %s" \
+ "WHERE c.ancestor = ? AND c.depth = 1 %s " \
"LIMIT ?,?"
#define RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECTS_BY_FILTER_STRING_WITH_ANCESTOR \
@@ -137,10 +139,11 @@ G_DEFINE_TYPE (RygelMediaExportSQLFactory, rygel_media_export_sql_factory, G_TYP
"color_depth INTEGER, " \
"object_fk TEXT UNIQUE CONSTRAINT " \
"object_fk_id REFERENCES Object(upnp_id) " \
- "ON DELETE CASCADE);"
+ "ON DELETE CASCADE); "
#define RYGEL_MEDIA_EXPORT_SQL_FACTORY_SCHEMA_STRING \
- "CREATE TABLE schema_info (version TEXT NOT NULL); " \
+ "CREATE TABLE schema_info (version TEXT NOT NULL, " \
+ "reset_token TEXT); " \
RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_META_DATA_TABLE_STRING \
"CREATE TABLE object (parent TEXT CONSTRAINT parent_fk_id " \
"REFERENCES Object(upnp_id), " \
@@ -149,7 +152,10 @@ G_DEFINE_TYPE (RygelMediaExportSQLFactory, rygel_media_export_sql_factory, G_TYP
"title TEXT NOT NULL, " \
"timestamp INTEGER NOT NULL, " \
"uri TEXT, " \
- "flags TEXT);" \
+ "flags TEXT, " \
+ "object_update_id INTEGER, " \
+ "deleted_child_count INTEGER, " \
+ "container_update_id INTEGER); " \
"INSERT INTO schema_info (version) VALUES ('" \
RYGEL_MEDIA_EXPORT_SQL_FACTORY_SCHEMA_VERSION "'); "
@@ -163,17 +169,17 @@ G_DEFINE_TYPE (RygelMediaExportSQLFactory, rygel_media_export_sql_factory, G_TYP
"SELECT RAISE(IGNORE) WHERE (SELECT COUNT(*) FROM Closure " \
"WHERE ancestor = NEW.upnp_id " \
"AND descendant = NEW.upnp_id " \
- "AND depth = 0) != 0;" \
+ "AND depth = 0) != 0; " \
"INSERT INTO Closure (ancestor, descendant, depth) " \
"VALUES (NEW.upnp_id, NEW.upnp_id, 0); " \
"INSERT INTO Closure (ancestor, descendant, depth) " \
"SELECT ancestor, NEW.upnp_id, depth + 1 FROM Closure " \
- "WHERE descendant = NEW.parent;" \
- "END;" \
+ "WHERE descendant = NEW.parent; " \
+ "END; " \
"CREATE TRIGGER trgr_delete_closure " \
"AFTER DELETE ON Object " \
"FOR EACH ROW BEGIN " \
- "DELETE FROM Closure WHERE descendant = OLD.upnp_id;" \
+ "DELETE FROM Closure WHERE descendant = OLD.upnp_id; " \
"END;"
// these triggers emulate ON DELETE CASCADE
@@ -185,16 +191,16 @@ G_DEFINE_TYPE (RygelMediaExportSQLFactory, rygel_media_export_sql_factory, G_TYP
"END;"
#define RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_INDICES_STRING \
- "CREATE INDEX IF NOT EXISTS idx_parent on Object(parent);" \
- "CREATE INDEX IF NOT EXISTS idx_object_upnp_id on Object(upnp_id);" \
- "CREATE INDEX IF NOT EXISTS idx_meta_data_fk on meta_data(object_fk);" \
- "CREATE INDEX IF NOT EXISTS idx_closure on Closure(descendant,depth);" \
- "CREATE INDEX IF NOT EXISTS idx_closure_descendant on Closure(descendant);" \
- "CREATE INDEX IF NOT EXISTS idx_closure_ancestor on Closure(ancestor);" \
- "CREATE INDEX IF NOT EXISTS idx_uri on Object(uri);" \
- "CREATE INDEX IF NOT EXISTS idx_meta_data_date on meta_data(date);" \
- "CREATE INDEX IF NOT EXISTS idx_meta_data_genre on meta_data(genre);" \
- "CREATE INDEX IF NOT EXISTS idx_meta_data_album on meta_data(album);" \
+ "CREATE INDEX IF NOT EXISTS idx_parent on Object(parent); " \
+ "CREATE INDEX IF NOT EXISTS idx_object_upnp_id on Object(upnp_id); " \
+ "CREATE INDEX IF NOT EXISTS idx_meta_data_fk on meta_data(object_fk); " \
+ "CREATE INDEX IF NOT EXISTS idx_closure on Closure(descendant,depth); " \
+ "CREATE INDEX IF NOT EXISTS idx_closure_descendant on Closure(descendant); " \
+ "CREATE INDEX IF NOT EXISTS idx_closure_ancestor on Closure(ancestor); " \
+ "CREATE INDEX IF NOT EXISTS idx_uri on Object(uri); " \
+ "CREATE INDEX IF NOT EXISTS idx_meta_data_date on meta_data(date); " \
+ "CREATE INDEX IF NOT EXISTS idx_meta_data_genre on meta_data(genre); " \
+ "CREATE INDEX IF NOT EXISTS idx_meta_data_album on meta_data(album); " \
"CREATE INDEX IF NOT EXISTS idx_meta_data_artist_album on " \
"meta_data(author, album);"
@@ -205,113 +211,77 @@ G_DEFINE_TYPE (RygelMediaExportSQLFactory, rygel_media_export_sql_factory, G_TYP
#define RYGEL_MEDIA_EXPORT_SQL_FACTORY_STATISTICS_STRING \
"SELECT class, count(1) FROM meta_data GROUP BY class"
-RygelMediaExportSQLFactory *rygel_media_export_sql_factory_construct (GType object_type);
+#define RYGEL_MEDIA_EXPORT_SQL_FACTORY_RESET_TOKEN_STRING \
+ "SELECT reset_token FROM schema_info"
+
+#define RYGEL_MEDIA_EXPORT_SQL_FACTORY_MAX_UPDATE_ID_STRING \
+ "SELECT MAX(MAX(object_update_id), MAX(container_update_id)) FROM Object"
const gchar*
rygel_media_export_sql_factory_make (RygelMediaExportSQLFactory *self, RygelMediaExportSQLString query) {
g_return_val_if_fail (self, NULL);
switch (query) {
- case RYGEL_MEDIA_EXPORT_SQL_STRING_SAVE_METADATA:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_SAVE_META_DATA_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_INSERT:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_INSERT_OBJECT_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_DELETE:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_DELETE_BY_ID_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_OBJECT:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECT_WITH_PATH;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_CHILDREN:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_CHILDREN_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_OBJECTS_BY_FILTER:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECTS_BY_FILTER_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_OBJECTS_BY_FILTER_WITH_ANCESTOR:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECTS_BY_FILTER_STRING_WITH_ANCESTOR;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_OBJECT_COUNT_BY_FILTER:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECT_COUNT_BY_FILTER_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_OBJECT_COUNT_BY_FILTER_WITH_ANCESTOR:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECT_COUNT_BY_FILTER_STRING_WITH_ANCESTOR;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_META_DATA_COLUMN:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_META_DATA_COLUMN_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_CHILD_COUNT:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CHILDREN_COUNT_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_EXISTS:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_OBJECT_EXISTS_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_CHILD_IDS:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_CHILD_ID_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_TABLE_METADATA:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_META_DATA_TABLE_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_TRIGGER_COMMON:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_TRIGGER_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_TRIGGER_CLOSURE:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_CLOSURE_TRIGGER_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_INDEX_COMMON:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_INDICES_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_SCHEMA:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_SCHEMA_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_EXISTS_CACHE:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_EXISTS_CACHE_STRING;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_TABLE_CLOSURE:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_CLOSURE_TABLE;
- }
- case RYGEL_MEDIA_EXPORT_SQL_STRING_STATISTICS:
- {
- return RYGEL_MEDIA_EXPORT_SQL_FACTORY_STATISTICS_STRING;
- }
- default:
- {
- g_assert_not_reached ();
- }
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_SAVE_METADATA:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_SAVE_META_DATA_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_INSERT:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_INSERT_OBJECT_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_DELETE:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_DELETE_BY_ID_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_OBJECT:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECT_WITH_PATH;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_CHILDREN:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_CHILDREN_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_OBJECTS_BY_FILTER:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECTS_BY_FILTER_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_OBJECTS_BY_FILTER_WITH_ANCESTOR:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECTS_BY_FILTER_STRING_WITH_ANCESTOR;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_OBJECT_COUNT_BY_FILTER:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECT_COUNT_BY_FILTER_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_OBJECT_COUNT_BY_FILTER_WITH_ANCESTOR:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_OBJECT_COUNT_BY_FILTER_STRING_WITH_ANCESTOR;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_GET_META_DATA_COLUMN:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_META_DATA_COLUMN_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_CHILD_COUNT:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CHILDREN_COUNT_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_EXISTS:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_OBJECT_EXISTS_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_CHILD_IDS:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_GET_CHILD_ID_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_TABLE_METADATA:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_META_DATA_TABLE_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_TRIGGER_COMMON:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_TRIGGER_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_TRIGGER_CLOSURE:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_CLOSURE_TRIGGER_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_INDEX_COMMON:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_INDICES_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_SCHEMA:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_SCHEMA_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_EXISTS_CACHE:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_EXISTS_CACHE_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_TABLE_CLOSURE:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_CREATE_CLOSURE_TABLE;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_STATISTICS:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_STATISTICS_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_RESET_TOKEN:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_RESET_TOKEN_STRING;
+ case RYGEL_MEDIA_EXPORT_SQL_STRING_MAX_UPDATE_ID:
+ return RYGEL_MEDIA_EXPORT_SQL_FACTORY_MAX_UPDATE_ID_STRING;
+ default:
+ g_assert_not_reached ();
}
}
-RygelMediaExportSQLFactory*
+RygelMediaExportSQLFactory *
rygel_media_export_sql_factory_new (void) {
return RYGEL_MEDIA_EXPORT_SQL_FACTORY (g_object_new (RYGEL_MEDIA_EXPORT_TYPE_SQL_FACTORY, NULL));
}
static void
-rygel_media_export_sql_factory_class_init (RygelMediaExportSQLFactoryClass *klass G_GNUC_UNUSED) {
+rygel_media_export_sql_factory_class_init (RygelMediaExportSQLFactoryClass *klass G_GNUC_UNUSED) {
}
static void
-rygel_media_export_sql_factory_init (RygelMediaExportSQLFactory *self G_GNUC_UNUSED) {
+rygel_media_export_sql_factory_init (RygelMediaExportSQLFactory *self G_GNUC_UNUSED) {
}
diff --git a/src/media-export/rygel-media-export-sql-factory.h
b/src/media-export/rygel-media-export-sql-factory.h
index 504c1b7..d22fe3f 100644
--- a/src/media-export/rygel-media-export-sql-factory.h
+++ b/src/media-export/rygel-media-export-sql-factory.h
@@ -47,7 +47,7 @@ struct _RygelMediaExportSQLFactoryClass {
GObjectClass parent_class;
};
-#define RYGEL_MEDIA_EXPORT_SQL_FACTORY_SCHEMA_VERSION "11"
+#define RYGEL_MEDIA_EXPORT_SQL_FACTORY_SCHEMA_VERSION "12"
typedef enum {
RYGEL_MEDIA_EXPORT_DETAIL_COLUMN_TYPE,
@@ -73,7 +73,10 @@ typedef enum {
RYGEL_MEDIA_EXPORT_DETAIL_COLUMN_URI,
RYGEL_MEDIA_EXPORT_DETAIL_COLUMN_DLNA_PROFILE,
RYGEL_MEDIA_EXPORT_DETAIL_COLUMN_GENRE,
- RYGEL_MEDIA_EXPORT_DETAIL_COLUMN_DISC
+ RYGEL_MEDIA_EXPORT_DETAIL_COLUMN_DISC,
+ RYGEL_MEDIA_EXPORT_DETAIL_COLUMN_OBJECT_UPDATE_ID,
+ RYGEL_MEDIA_EXPORT_DETAIL_COLUMN_DELETED_CHILD_COUNT,
+ RYGEL_MEDIA_EXPORT_DETAIL_COLUMN_CONTAINER_UPDATE_ID
} RygelMediaExportDetailColumn;
typedef enum {
@@ -97,7 +100,9 @@ typedef enum {
RYGEL_MEDIA_EXPORT_SQL_STRING_INDEX_COMMON,
RYGEL_MEDIA_EXPORT_SQL_STRING_SCHEMA,
RYGEL_MEDIA_EXPORT_SQL_STRING_EXISTS_CACHE,
- RYGEL_MEDIA_EXPORT_SQL_STRING_STATISTICS
+ RYGEL_MEDIA_EXPORT_SQL_STRING_STATISTICS,
+ RYGEL_MEDIA_EXPORT_SQL_STRING_RESET_TOKEN,
+ RYGEL_MEDIA_EXPORT_SQL_STRING_MAX_UPDATE_ID
} RygelMediaExportSQLString;
GType
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]