From f0bd34d20cfcc467bc6d7d90adcee542f6998089 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Sun, 11 Jul 2010 15:08:59 +0200 Subject: [PATCH] Catalog plugin: store and retrieve the date field for watched movies --- src/plugins/catalog-sqlite.vala | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/plugins/catalog-sqlite.vala b/src/plugins/catalog-sqlite.vala index c2bfbbc..509b47a 100644 --- a/src/plugins/catalog-sqlite.vala +++ b/src/plugins/catalog-sqlite.vala @@ -58,10 +58,17 @@ class CatalogSqlite : Object { } public int add_movie (string table, Movie movie) { - string sql = "INSERT INTO %s(Title, Year, Rating, Genres) VALUES (\"%s\", %d, %d, %d);".printf (table, movie.title, movie.year, movie.rating, movie.genres.field); + var sql = new StringBuilder (); int rc; + sql.append_printf ("INSERT INTO %s(Title, Year, Rating, Genres", table); + if (table == "Watched") + sql.append_printf (", Date) VALUES (\"%s\", %d, %d, %d, %u);", + movie.title, movie.year, movie.rating, movie.genres.field, movie.julian_date); + else + sql.append_printf (") VALUES (\"%s\", %d, %d, %d);", + movie.title, movie.year, movie.rating, movie.genres.field); - rc = db.exec (sql, callback, null); + rc = db.exec (sql.str, callback, null); if (rc != Sqlite.OK) { stderr.printf ("Failed to insert movie \"%s\" (%d): %d, %s\n", movie.title, movie.year, rc, db.errmsg ()); return 1; @@ -250,6 +257,8 @@ class CatalogSqlite : Object { movie.title = stmt.column_text (0); movie.rating = stmt.column_int (2); movie.genres.field = stmt.column_int (3); + if (table == "Watched") + movie.julian_date = stmt.column_int (4); // TODO - depending on settings, this could be something else, like director info or runtime movie.secondary = movie.genres.to_string (); result.append (movie); -- 1.7.9.5