summaryrefslogtreecommitdiff
path: root/src/db/DatabaseTable.c
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2016-08-20 15:11:08 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2016-08-20 15:11:08 +0200
commitcb612a12b952e349b96d427645aaeb55d15f509a (patch)
treef29298f41d2a7ea2a976616243aca64c2c2547ce /src/db/DatabaseTable.c
parente7be93745e4a2ff3aa255227bef7b9d3b733aafa (diff)
parent143bfc9f801c84428074312d661f8e08803df83b (diff)
Merge tag 'upstream/0.23.5'
Upstream version 0.23.5
Diffstat (limited to 'src/db/DatabaseTable.c')
-rw-r--r--src/db/DatabaseTable.c2638
1 files changed, 2638 insertions, 0 deletions
diff --git a/src/db/DatabaseTable.c b/src/db/DatabaseTable.c
new file mode 100644
index 0000000..4e0ada2
--- /dev/null
+++ b/src/db/DatabaseTable.c
@@ -0,0 +1,2638 @@
+/* DatabaseTable.c generated by valac 0.32.1, the Vala compiler
+ * generated from DatabaseTable.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU LGPL (version 2.1 or later).
+ * See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sqlite3.h>
+#include <glib/gi18n-lib.h>
+#include <gio/gio.h>
+#include <gobject/gvaluecollector.h>
+
+
+#define TYPE_DATABASE_TABLE (database_table_get_type ())
+#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable))
+#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass))
+#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE))
+#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE))
+#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass))
+
+typedef struct _DatabaseTable DatabaseTable;
+typedef struct _DatabaseTableClass DatabaseTableClass;
+typedef struct _DatabaseTablePrivate DatabaseTablePrivate;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _sqlite3_close0(var) ((var == NULL) ? NULL : (var = (sqlite3_close (var), NULL)))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL)))
+typedef struct _ParamSpecDatabaseTable ParamSpecDatabaseTable;
+#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
+#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
+#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+
+typedef enum {
+ DATABASE_ERROR_ERROR,
+ DATABASE_ERROR_BACKING,
+ DATABASE_ERROR_MEMORY,
+ DATABASE_ERROR_ABORT,
+ DATABASE_ERROR_LIMITS,
+ DATABASE_ERROR_TYPESPEC
+} DatabaseError;
+#define DATABASE_ERROR database_error_quark ()
+struct _DatabaseTable {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ DatabaseTablePrivate * priv;
+ gchar* table_name;
+};
+
+struct _DatabaseTableClass {
+ GTypeClass parent_class;
+ void (*finalize) (DatabaseTable *self);
+};
+
+struct _ParamSpecDatabaseTable {
+ GParamSpec parent_instance;
+};
+
+
+static gpointer database_table_parent_class = NULL;
+extern sqlite3* database_table_db;
+sqlite3* database_table_db = NULL;
+static gint database_table_in_transaction;
+static gint database_table_in_transaction = 0;
+
+GQuark database_error_quark (void);
+gpointer database_table_ref (gpointer instance);
+void database_table_unref (gpointer instance);
+GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_database_table (GValue* value, gpointer v_object);
+void value_take_database_table (GValue* value, gpointer v_object);
+gpointer value_get_database_table (const GValue* value);
+GType database_table_get_type (void) G_GNUC_CONST;
+enum {
+ DATABASE_TABLE_DUMMY_PROPERTY
+};
+#define DATABASE_TABLE_SCHEMA_VERSION 20
+static void database_table_prepare_db (const gchar* filename);
+void app_window_panic (const gchar* msg);
+#define DB_IN_MEMORY_NAME ":memory:"
+void database_table_on_trace (const gchar* message);
+void database_table_init (const gchar* filename);
+void database_table_warning (const gchar* op, gint res);
+void database_table_terminate (void);
+void database_table_fatal (const gchar* op, gint res);
+void database_table_set_table_name (DatabaseTable* self, const gchar* table_name);
+void database_table_throw_error (const gchar* method, gint res, GError** error);
+gboolean database_table_exists_by_id (DatabaseTable* self, gint64 id);
+gboolean database_table_select_by_id (DatabaseTable* self, gint64 id, const gchar* columns, sqlite3_stmt** stmt);
+static void database_table_prepare_update_by_id (DatabaseTable* self, gint64 id, const gchar* column, sqlite3_stmt** stmt);
+static gboolean database_table_execute_update_by_id (DatabaseTable* self, sqlite3_stmt* stmt);
+gboolean database_table_update_text_by_id (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text);
+void database_table_update_text_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text, GError** error);
+gboolean database_table_update_int_by_id (DatabaseTable* self, gint64 id, const gchar* column, gint value);
+void database_table_update_int_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint value, GError** error);
+gboolean database_table_update_int64_by_id (DatabaseTable* self, gint64 id, const gchar* column, gint64 value);
+void database_table_update_int64_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint64 value, GError** error);
+void database_table_delete_by_id (DatabaseTable* self, gint64 id, GError** error);
+gboolean database_table_has_column (const gchar* table_name, const gchar* column_name);
+gboolean database_table_has_table (const gchar* table_name);
+gboolean database_table_add_column (const gchar* table_name, const gchar* column_name, const gchar* column_constraints);
+gboolean database_table_ensure_column (const gchar* table_name, const gchar* column_name, const gchar* column_constraints, const gchar* upgrade_msg);
+gint database_table_get_row_count (DatabaseTable* self);
+void database_table_begin_transaction (void);
+void database_table_commit_transaction (GError** error);
+DatabaseTable* database_table_construct (GType object_type);
+static void database_table_finalize (DatabaseTable* obj);
+
+
+GQuark database_error_quark (void) {
+ return g_quark_from_static_string ("database_error-quark");
+}
+
+
+static void database_table_prepare_db (const gchar* filename) {
+ gint res = 0;
+ const gchar* _tmp0_ = NULL;
+ sqlite3* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ gint _tmp3_ = 0;
+ const gchar* _tmp9_ = NULL;
+ GError * _inner_error_ = NULL;
+#line 32 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (filename != NULL);
+#line 34 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = filename;
+#line 34 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = sqlite3_open_v2 (_tmp0_, &_tmp1_, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
+#line 34 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_close0 (database_table_db);
+#line 34 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_db = _tmp1_;
+#line 34 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp2_;
+#line 36 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = res;
+#line 36 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp3_ != SQLITE_OK) {
+#line 147 "DatabaseTable.c"
+ const gchar* _tmp4_ = NULL;
+ const gchar* _tmp5_ = NULL;
+ gint _tmp6_ = 0;
+ gchar* _tmp7_ = NULL;
+ gchar* _tmp8_ = NULL;
+#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = _ ("Unable to open/create photo database %s: error code %d");
+#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = filename;
+#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = res;
+#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = g_strdup_printf (_tmp4_, _tmp5_, _tmp6_);
+#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = _tmp7_;
+#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ app_window_panic (_tmp8_);
+#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp8_);
+#line 167 "DatabaseTable.c"
+ }
+#line 41 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = filename;
+#line 41 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (g_strcmp0 (_tmp9_, DB_IN_MEMORY_NAME) != 0) {
+#line 173 "DatabaseTable.c"
+ {
+ GFile* file_db = NULL;
+ const gchar* _tmp10_ = NULL;
+ GFile* _tmp11_ = NULL;
+ GFileInfo* info = NULL;
+ GFile* _tmp12_ = NULL;
+ GFileInfo* _tmp13_ = NULL;
+ GFileInfo* _tmp14_ = NULL;
+ gboolean _tmp15_ = FALSE;
+#line 43 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = filename;
+#line 43 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = g_file_new_for_path (_tmp10_);
+#line 43 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ file_db = _tmp11_;
+#line 44 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = file_db;
+#line 44 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = g_file_query_info (_tmp12_, G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_);
+#line 44 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ info = _tmp13_;
+#line 44 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 44 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_object_unref0 (file_db);
+#line 199 "DatabaseTable.c"
+ goto __catch13_g_error;
+ }
+#line 45 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = info;
+#line 45 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp15_ = g_file_info_get_attribute_boolean (_tmp14_, G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE);
+#line 45 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (!_tmp15_) {
+#line 208 "DatabaseTable.c"
+ const gchar* _tmp16_ = NULL;
+ const gchar* _tmp17_ = NULL;
+ gchar* _tmp18_ = NULL;
+ gchar* _tmp19_ = NULL;
+#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp16_ = _ ("Unable to write to photo database file:\n %s");
+#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp17_ = filename;
+#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp18_ = g_strdup_printf (_tmp16_, _tmp17_);
+#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp19_ = _tmp18_;
+#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ app_window_panic (_tmp19_);
+#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp19_);
+#line 225 "DatabaseTable.c"
+ }
+#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_object_unref0 (info);
+#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_object_unref0 (file_db);
+#line 231 "DatabaseTable.c"
+ }
+ goto __finally13;
+ __catch13_g_error:
+ {
+ GError* e = NULL;
+ const gchar* _tmp20_ = NULL;
+ const gchar* _tmp21_ = NULL;
+ GError* _tmp22_ = NULL;
+ const gchar* _tmp23_ = NULL;
+ gchar* _tmp24_ = NULL;
+ gchar* _tmp25_ = NULL;
+#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ e = _inner_error_;
+#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _inner_error_ = NULL;
+#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp20_ = _ ("Error accessing database file:\n %s\n\nError was: \n%s");
+#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp21_ = filename;
+#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp22_ = e;
+#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp23_ = _tmp22_->message;
+#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp24_ = g_strdup_printf (_tmp20_, _tmp21_, _tmp23_);
+#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp25_ = _tmp24_;
+#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ app_window_panic (_tmp25_);
+#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp25_);
+#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_error_free0 (e);
+#line 265 "DatabaseTable.c"
+ }
+ __finally13:
+#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 276 "DatabaseTable.c"
+ }
+ }
+}
+
+
+void database_table_on_trace (const gchar* message) {
+ const gchar* _tmp0_ = NULL;
+#line 57 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (message != NULL);
+#line 58 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = message;
+#line 58 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_debug ("DatabaseTable.vala:58: SQLITE: %s", _tmp0_);
+#line 290 "DatabaseTable.c"
+}
+
+
+static gint _sqlite3_exec (sqlite3* self, const gchar* sql, sqlite3_callback callback, void* callback_target, gchar** errmsg) {
+ gchar* _vala_errmsg = NULL;
+ gint result = 0;
+ const gchar* sqlite_errmsg = NULL;
+ gint ec = 0;
+ const gchar* _tmp0_ = NULL;
+ sqlite3_callback _tmp1_ = NULL;
+ void* _tmp1__target = NULL;
+ const gchar* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ const gchar* _tmp6_ = NULL;
+#line 34 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ g_return_val_if_fail (self != NULL, 0);
+#line 34 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ g_return_val_if_fail (sql != NULL, 0);
+#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ _tmp0_ = sql;
+#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ _tmp1_ = callback;
+#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ _tmp1__target = callback_target;
+#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ _tmp3_ = sqlite3_exec (self, _tmp0_, _tmp1_, _tmp1__target, (char**) (&_tmp2_));
+#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ sqlite_errmsg = _tmp2_;
+#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ ec = _tmp3_;
+#line 37 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ if ((&_vala_errmsg) != NULL) {
+#line 323 "DatabaseTable.c"
+ const gchar* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+#line 38 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ _tmp4_ = sqlite_errmsg;
+#line 38 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ _tmp5_ = g_strdup (_tmp4_);
+#line 38 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ _g_free0 (_vala_errmsg);
+#line 38 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ _vala_errmsg = _tmp5_;
+#line 334 "DatabaseTable.c"
+ }
+#line 40 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ _tmp6_ = sqlite_errmsg;
+#line 40 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ sqlite3_free ((void*) _tmp6_);
+#line 41 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ result = ec;
+#line 41 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ if (errmsg) {
+#line 41 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ *errmsg = _vala_errmsg;
+#line 346 "DatabaseTable.c"
+ } else {
+#line 41 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ _g_free0 (_vala_errmsg);
+#line 350 "DatabaseTable.c"
+ }
+#line 41 "/usr/share/vala-0.32/vapi/sqlite3.vapi"
+ return result;
+#line 354 "DatabaseTable.c"
+}
+
+
+void database_table_init (const gchar* filename) {
+ const gchar* _tmp0_ = NULL;
+ sqlite3_stmt* stmt = NULL;
+ gint res = 0;
+ sqlite3* _tmp1_ = NULL;
+ sqlite3_stmt* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+ sqlite3* _tmp19_ = NULL;
+ gint _tmp20_ = 0;
+ gint _tmp21_ = 0;
+ GError * _inner_error_ = NULL;
+#line 61 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (filename != NULL);
+#line 63 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = filename;
+#line 63 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_prepare_db (_tmp0_);
+#line 67 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = database_table_db;
+#line 67 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = sqlite3_prepare_v2 (_tmp1_, "CREATE TABLE IF NOT EXISTS VersionTable (" "id INTEGER PRIMARY KEY, " "schema_version INTEGER, " "app_version TEXT, " "user_data TEXT NULL" ")", -1, &_tmp2_, NULL);
+#line 67 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 67 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp2_;
+#line 67 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp3_;
+#line 75 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = res;
+#line 75 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp4_ != SQLITE_OK) {
+#line 390 "DatabaseTable.c"
+ gchar* backup_path = NULL;
+ const gchar* _tmp5_ = NULL;
+ gchar* _tmp6_ = NULL;
+#line 76 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_close0 (database_table_db);
+#line 76 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_db = NULL;
+#line 78 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = filename;
+#line 78 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = g_strconcat (_tmp5_, ".bak", NULL);
+#line 78 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ backup_path = _tmp6_;
+#line 404 "DatabaseTable.c"
+ {
+ GFile* src = NULL;
+ const gchar* _tmp7_ = NULL;
+ GFile* _tmp8_ = NULL;
+ GFile* dest = NULL;
+ const gchar* _tmp9_ = NULL;
+ GFile* _tmp10_ = NULL;
+ GFile* _tmp11_ = NULL;
+ GFile* _tmp12_ = NULL;
+ const gchar* _tmp13_ = NULL;
+#line 81 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = backup_path;
+#line 81 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = g_file_new_for_commandline_arg (_tmp7_);
+#line 81 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ src = _tmp8_;
+#line 82 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = filename;
+#line 82 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = g_file_new_for_commandline_arg (_tmp9_);
+#line 82 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ dest = _tmp10_;
+#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = src;
+#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = dest;
+#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_file_copy (_tmp11_, _tmp12_, G_FILE_COPY_OVERWRITE | G_FILE_COPY_ALL_METADATA, NULL, NULL, NULL, &_inner_error_);
+#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_object_unref0 (dest);
+#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_object_unref0 (src);
+#line 439 "DatabaseTable.c"
+ goto __catch14_g_error;
+ }
+#line 86 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = filename;
+#line 86 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_prepare_db (_tmp13_);
+#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_object_unref0 (dest);
+#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_object_unref0 (src);
+#line 450 "DatabaseTable.c"
+ }
+ goto __finally14;
+ __catch14_g_error:
+ {
+ GError* _error_ = NULL;
+ const gchar* _tmp14_ = NULL;
+ GError* _tmp15_ = NULL;
+ const gchar* _tmp16_ = NULL;
+ gchar* _tmp17_ = NULL;
+ gchar* _tmp18_ = NULL;
+#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _error_ = _inner_error_;
+#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _inner_error_ = NULL;
+#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = _ ("Unable to restore photo database %s");
+#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp15_ = _error_;
+#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp16_ = _tmp15_->message;
+#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp17_ = g_strdup_printf (_tmp14_, _tmp16_);
+#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp18_ = _tmp17_;
+#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ app_window_panic (_tmp18_);
+#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp18_);
+#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_error_free0 (_error_);
+#line 481 "DatabaseTable.c"
+ }
+ __finally14:
+#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (backup_path);
+#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 496 "DatabaseTable.c"
+ }
+#line 75 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (backup_path);
+#line 500 "DatabaseTable.c"
+ }
+#line 94 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp19_ = database_table_db;
+#line 94 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp20_ = _sqlite3_exec (_tmp19_, "PRAGMA synchronous=OFF", NULL, NULL, NULL);
+#line 94 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp20_;
+#line 95 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp21_ = res;
+#line 95 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp21_ != SQLITE_OK) {
+#line 512 "DatabaseTable.c"
+ gint _tmp22_ = 0;
+#line 96 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp22_ = res;
+#line 96 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_warning ("Unable to disable synchronous mode", _tmp22_);
+#line 518 "DatabaseTable.c"
+ }
+#line 61 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 522 "DatabaseTable.c"
+}
+
+
+void database_table_terminate (void) {
+#line 101 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_close0 (database_table_db);
+#line 101 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_db = NULL;
+#line 531 "DatabaseTable.c"
+}
+
+
+void database_table_fatal (const gchar* op, gint res) {
+ const gchar* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ sqlite3* _tmp2_ = NULL;
+ const gchar* _tmp3_ = NULL;
+#line 105 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (op != NULL);
+#line 106 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = op;
+#line 106 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = res;
+#line 106 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = database_table_db;
+#line 106 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = sqlite3_errmsg (_tmp2_);
+#line 106 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_error ("DatabaseTable.vala:106: %s: [%d] %s", _tmp0_, _tmp1_, _tmp3_);
+#line 552 "DatabaseTable.c"
+}
+
+
+void database_table_warning (const gchar* op, gint res) {
+ const gchar* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ sqlite3* _tmp2_ = NULL;
+ const gchar* _tmp3_ = NULL;
+#line 110 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (op != NULL);
+#line 111 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = op;
+#line 111 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = res;
+#line 111 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = database_table_db;
+#line 111 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = sqlite3_errmsg (_tmp2_);
+#line 111 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_warning ("DatabaseTable.vala:111: %s: [%d] %s", _tmp0_, _tmp1_, _tmp3_);
+#line 573 "DatabaseTable.c"
+}
+
+
+void database_table_set_table_name (DatabaseTable* self, const gchar* table_name) {
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 114 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (IS_DATABASE_TABLE (self));
+#line 114 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (table_name != NULL);
+#line 115 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = table_name;
+#line 115 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 115 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (self->table_name);
+#line 115 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ self->table_name = _tmp1_;
+#line 592 "DatabaseTable.c"
+}
+
+
+void database_table_throw_error (const gchar* method, gint res, GError** error) {
+ gchar* msg = NULL;
+ const gchar* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ sqlite3* _tmp2_ = NULL;
+ const gchar* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ GError * _inner_error_ = NULL;
+#line 120 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (method != NULL);
+#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = method;
+#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = res;
+#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = database_table_db;
+#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = sqlite3_errmsg (_tmp2_);
+#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = g_strdup_printf ("(%s) [%d] - %s", _tmp0_, _tmp1_, _tmp3_);
+#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ msg = _tmp4_;
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = res;
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ switch (_tmp5_) {
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_OK:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_DONE:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_ROW:
+#line 629 "DatabaseTable.c"
+ {
+#line 127 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 127 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 635 "DatabaseTable.c"
+ }
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_PERM:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_BUSY:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_READONLY:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_IOERR:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_CORRUPT:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_CANTOPEN:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_NOLFS:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_AUTH:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_FORMAT:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_NOTADB:
+#line 657 "DatabaseTable.c"
+ {
+ const gchar* _tmp6_ = NULL;
+ GError* _tmp7_ = NULL;
+#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = msg;
+#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_BACKING, _tmp6_);
+#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _inner_error_ = _tmp7_;
+#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_propagate_error (error, _inner_error_);
+#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 675 "DatabaseTable.c"
+ } else {
+#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 685 "DatabaseTable.c"
+ }
+ }
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_NOMEM:
+#line 690 "DatabaseTable.c"
+ {
+ const gchar* _tmp8_ = NULL;
+ GError* _tmp9_ = NULL;
+#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = msg;
+#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_MEMORY, _tmp8_);
+#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _inner_error_ = _tmp9_;
+#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_propagate_error (error, _inner_error_);
+#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 708 "DatabaseTable.c"
+ } else {
+#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 718 "DatabaseTable.c"
+ }
+ }
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_ABORT:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_LOCKED:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_INTERRUPT:
+#line 727 "DatabaseTable.c"
+ {
+ const gchar* _tmp10_ = NULL;
+ GError* _tmp11_ = NULL;
+#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = msg;
+#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_ABORT, _tmp10_);
+#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _inner_error_ = _tmp11_;
+#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_propagate_error (error, _inner_error_);
+#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 745 "DatabaseTable.c"
+ } else {
+#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 755 "DatabaseTable.c"
+ }
+ }
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_FULL:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_EMPTY:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_TOOBIG:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_CONSTRAINT:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_RANGE:
+#line 768 "DatabaseTable.c"
+ {
+ const gchar* _tmp12_ = NULL;
+ GError* _tmp13_ = NULL;
+#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = msg;
+#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_LIMITS, _tmp12_);
+#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _inner_error_ = _tmp13_;
+#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_propagate_error (error, _inner_error_);
+#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 786 "DatabaseTable.c"
+ } else {
+#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 796 "DatabaseTable.c"
+ }
+ }
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_SCHEMA:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_MISMATCH:
+#line 803 "DatabaseTable.c"
+ {
+ const gchar* _tmp14_ = NULL;
+ GError* _tmp15_ = NULL;
+#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = msg;
+#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp15_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_TYPESPEC, _tmp14_);
+#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _inner_error_ = _tmp15_;
+#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_propagate_error (error, _inner_error_);
+#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 821 "DatabaseTable.c"
+ } else {
+#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 831 "DatabaseTable.c"
+ }
+ }
+ default:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_ERROR:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_INTERNAL:
+#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ case SQLITE_MISUSE:
+#line 841 "DatabaseTable.c"
+ {
+ const gchar* _tmp16_ = NULL;
+ GError* _tmp17_ = NULL;
+#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp16_ = msg;
+#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp17_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_ERROR, _tmp16_);
+#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _inner_error_ = _tmp17_;
+#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_propagate_error (error, _inner_error_);
+#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 859 "DatabaseTable.c"
+ } else {
+#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 869 "DatabaseTable.c"
+ }
+ }
+ }
+#line 120 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (msg);
+#line 875 "DatabaseTable.c"
+}
+
+
+gboolean database_table_exists_by_id (DatabaseTable* self, gint64 id) {
+ gboolean result = FALSE;
+ sqlite3_stmt* stmt = NULL;
+ gint res = 0;
+ sqlite3* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ sqlite3_stmt* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ sqlite3_stmt* _tmp8_ = NULL;
+ gint64 _tmp9_ = 0LL;
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+ sqlite3_stmt* _tmp12_ = NULL;
+ gint _tmp13_ = 0;
+ gboolean _tmp14_ = FALSE;
+ gint _tmp15_ = 0;
+ gint _tmp24_ = 0;
+#line 168 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE);
+#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = database_table_db;
+#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = self->table_name;
+#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = g_strdup_printf ("SELECT id FROM %s WHERE id=?", _tmp1_);
+#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = _tmp2_;
+#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = sqlite3_prepare_v2 (_tmp0_, _tmp3_, -1, &_tmp4_, NULL);
+#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp4_;
+#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = _tmp5_;
+#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp3_);
+#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp6_;
+#line 171 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = res;
+#line 171 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK");
+#line 173 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = stmt;
+#line 173 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = id;
+#line 173 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = sqlite3_bind_int64 (_tmp8_, 1, _tmp9_);
+#line 173 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp10_;
+#line 174 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = res;
+#line 174 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK");
+#line 176 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = stmt;
+#line 176 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = sqlite3_step (_tmp12_);
+#line 176 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp13_;
+#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp15_ = res;
+#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp15_ != SQLITE_ROW) {
+#line 948 "DatabaseTable.c"
+ gint _tmp16_ = 0;
+#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp16_ = res;
+#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = _tmp16_ != SQLITE_DONE;
+#line 954 "DatabaseTable.c"
+ } else {
+#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = FALSE;
+#line 958 "DatabaseTable.c"
+ }
+#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp14_) {
+#line 962 "DatabaseTable.c"
+ gint64 _tmp17_ = 0LL;
+ gchar* _tmp18_ = NULL;
+ gchar* _tmp19_ = NULL;
+ const gchar* _tmp20_ = NULL;
+ gchar* _tmp21_ = NULL;
+ gchar* _tmp22_ = NULL;
+ gint _tmp23_ = 0;
+#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp17_ = id;
+#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp18_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp17_);
+#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp19_ = _tmp18_;
+#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp20_ = self->table_name;
+#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp21_ = g_strdup_printf ("exists_by_id [%s] %s", _tmp19_, _tmp20_);
+#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp22_ = _tmp21_;
+#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp23_ = res;
+#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_fatal (_tmp22_, _tmp23_);
+#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp22_);
+#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp19_);
+#line 990 "DatabaseTable.c"
+ }
+#line 180 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp24_ = res;
+#line 180 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = _tmp24_ == SQLITE_ROW;
+#line 180 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 180 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 1000 "DatabaseTable.c"
+}
+
+
+gboolean database_table_select_by_id (DatabaseTable* self, gint64 id, const gchar* columns, sqlite3_stmt** stmt) {
+ sqlite3_stmt* _vala_stmt = NULL;
+ gboolean result = FALSE;
+ gchar* sql = NULL;
+ const gchar* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gint res = 0;
+ sqlite3* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ sqlite3_stmt* _tmp5_ = NULL;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ sqlite3_stmt* _tmp8_ = NULL;
+ gint64 _tmp9_ = 0LL;
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+ sqlite3_stmt* _tmp12_ = NULL;
+ gint _tmp13_ = 0;
+ gboolean _tmp14_ = FALSE;
+ gint _tmp15_ = 0;
+ gint _tmp25_ = 0;
+#line 183 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE);
+#line 183 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (columns != NULL, FALSE);
+#line 184 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = columns;
+#line 184 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = self->table_name;
+#line 184 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = g_strdup_printf ("SELECT %s FROM %s WHERE id=?", _tmp0_, _tmp1_);
+#line 184 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ sql = _tmp2_;
+#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = database_table_db;
+#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = sql;
+#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = sqlite3_prepare_v2 (_tmp3_, _tmp4_, -1, &_tmp5_, NULL);
+#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (_vala_stmt);
+#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_stmt = _tmp5_;
+#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp6_;
+#line 187 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = res;
+#line 187 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK");
+#line 189 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = _vala_stmt;
+#line 189 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = id;
+#line 189 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = sqlite3_bind_int64 (_tmp8_, 1, _tmp9_);
+#line 189 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp10_;
+#line 190 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = res;
+#line 190 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK");
+#line 192 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = _vala_stmt;
+#line 192 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = sqlite3_step (_tmp12_);
+#line 192 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp13_;
+#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp15_ = res;
+#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp15_ != SQLITE_ROW) {
+#line 1076 "DatabaseTable.c"
+ gint _tmp16_ = 0;
+#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp16_ = res;
+#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = _tmp16_ != SQLITE_DONE;
+#line 1082 "DatabaseTable.c"
+ } else {
+#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = FALSE;
+#line 1086 "DatabaseTable.c"
+ }
+#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp14_) {
+#line 1090 "DatabaseTable.c"
+ gint64 _tmp17_ = 0LL;
+ gchar* _tmp18_ = NULL;
+ gchar* _tmp19_ = NULL;
+ const gchar* _tmp20_ = NULL;
+ const gchar* _tmp21_ = NULL;
+ gchar* _tmp22_ = NULL;
+ gchar* _tmp23_ = NULL;
+ gint _tmp24_ = 0;
+#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp17_ = id;
+#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp18_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp17_);
+#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp19_ = _tmp18_;
+#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp20_ = self->table_name;
+#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp21_ = columns;
+#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp22_ = g_strdup_printf ("select_by_id [%s] %s %s", _tmp19_, _tmp20_, _tmp21_);
+#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp23_ = _tmp22_;
+#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp24_ = res;
+#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_fatal (_tmp23_, _tmp24_);
+#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp23_);
+#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp19_);
+#line 1121 "DatabaseTable.c"
+ }
+#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp25_ = res;
+#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = _tmp25_ == SQLITE_ROW;
+#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (sql);
+#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (stmt) {
+#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ *stmt = _vala_stmt;
+#line 1133 "DatabaseTable.c"
+ } else {
+#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (_vala_stmt);
+#line 1137 "DatabaseTable.c"
+ }
+#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 1141 "DatabaseTable.c"
+}
+
+
+static void database_table_prepare_update_by_id (DatabaseTable* self, gint64 id, const gchar* column, sqlite3_stmt** stmt) {
+ sqlite3_stmt* _vala_stmt = NULL;
+ gchar* sql = NULL;
+ const gchar* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gint res = 0;
+ sqlite3* _tmp3_ = NULL;
+ sqlite3_stmt* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ gint64 _tmp7_ = 0LL;
+ gint _tmp8_ = 0;
+ gint _tmp9_ = 0;
+#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (IS_DATABASE_TABLE (self));
+#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (column != NULL);
+#line 201 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = self->table_name;
+#line 201 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = column;
+#line 201 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = g_strdup_printf ("UPDATE %s SET %s=? WHERE id=?", _tmp0_, _tmp1_);
+#line 201 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ sql = _tmp2_;
+#line 203 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = database_table_db;
+#line 203 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = sqlite3_prepare_v2 (_tmp3_, sql, -1, &_tmp4_, NULL);
+#line 203 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (_vala_stmt);
+#line 203 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_stmt = _tmp4_;
+#line 203 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp5_;
+#line 204 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = res;
+#line 204 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp6_ == SQLITE_OK, "res == Sqlite.OK");
+#line 206 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = id;
+#line 206 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = sqlite3_bind_int64 (_vala_stmt, 2, _tmp7_);
+#line 206 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp8_;
+#line 207 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = res;
+#line 207 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp9_ == SQLITE_OK, "res == Sqlite.OK");
+#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (sql);
+#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (stmt) {
+#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ *stmt = _vala_stmt;
+#line 1201 "DatabaseTable.c"
+ } else {
+#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (_vala_stmt);
+#line 1205 "DatabaseTable.c"
+ }
+}
+
+
+static gboolean database_table_execute_update_by_id (DatabaseTable* self, sqlite3_stmt* stmt) {
+ gboolean result = FALSE;
+ gint res = 0;
+ sqlite3_stmt* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+#line 210 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE);
+#line 210 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (stmt != NULL, FALSE);
+#line 211 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = stmt;
+#line 211 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = sqlite3_step (_tmp0_);
+#line 211 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp1_;
+#line 212 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = res;
+#line 212 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp2_ != SQLITE_DONE) {
+#line 1230 "DatabaseTable.c"
+ gint _tmp3_ = 0;
+#line 213 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = res;
+#line 213 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_fatal ("execute_update_by_id", _tmp3_);
+#line 215 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = FALSE;
+#line 215 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 1240 "DatabaseTable.c"
+ }
+#line 218 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = TRUE;
+#line 218 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 1246 "DatabaseTable.c"
+}
+
+
+gboolean database_table_update_text_by_id (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text) {
+ gboolean result = FALSE;
+ sqlite3_stmt* stmt = NULL;
+ gint64 _tmp0_ = 0LL;
+ const gchar* _tmp1_ = NULL;
+ sqlite3_stmt* _tmp2_ = NULL;
+ gint res = 0;
+ const gchar* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ GDestroyNotify _tmp5_ = NULL;
+ gint _tmp6_ = 0;
+ gboolean _tmp7_ = FALSE;
+#line 221 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE);
+#line 221 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (column != NULL, FALSE);
+#line 221 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (text != NULL, FALSE);
+#line 223 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = id;
+#line 223 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = column;
+#line 223 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_);
+#line 223 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 223 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp2_;
+#line 225 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = text;
+#line 225 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = g_strdup (_tmp3_);
+#line 225 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = g_free;
+#line 225 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = sqlite3_bind_text (stmt, 1, _tmp4_, -1, _tmp5_);
+#line 225 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp6_;
+#line 226 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (res == SQLITE_OK, "res == Sqlite.OK");
+#line 228 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = database_table_execute_update_by_id (self, stmt);
+#line 228 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = _tmp7_;
+#line 228 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 228 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 1298 "DatabaseTable.c"
+}
+
+
+void database_table_update_text_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text, GError** error) {
+ sqlite3_stmt* stmt = NULL;
+ gint64 _tmp0_ = 0LL;
+ const gchar* _tmp1_ = NULL;
+ sqlite3_stmt* _tmp2_ = NULL;
+ gint res = 0;
+ sqlite3_stmt* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+ GDestroyNotify _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ sqlite3_stmt* _tmp9_ = NULL;
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+ GError * _inner_error_ = NULL;
+#line 231 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (IS_DATABASE_TABLE (self));
+#line 231 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (column != NULL);
+#line 231 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (text != NULL);
+#line 233 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = id;
+#line 233 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = column;
+#line 233 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_);
+#line 233 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 233 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp2_;
+#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = stmt;
+#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = text;
+#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = g_strdup (_tmp4_);
+#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = g_free;
+#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = sqlite3_bind_text (_tmp3_, 1, _tmp5_, -1, _tmp6_);
+#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp7_;
+#line 236 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = res;
+#line 236 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK");
+#line 238 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = stmt;
+#line 238 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = sqlite3_step (_tmp9_);
+#line 238 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp10_;
+#line 239 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = res;
+#line 239 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp11_ != SQLITE_DONE) {
+#line 1360 "DatabaseTable.c"
+ const gchar* _tmp12_ = NULL;
+ const gchar* _tmp13_ = NULL;
+ gchar* _tmp14_ = NULL;
+ gchar* _tmp15_ = NULL;
+ gint _tmp16_ = 0;
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = self->table_name;
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = column;
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = g_strdup_printf ("DatabaseTable.update_text_by_id_2 %s.%s", _tmp12_, _tmp13_);
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp15_ = _tmp14_;
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp16_ = res;
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_throw_error (_tmp15_, _tmp16_, &_inner_error_);
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp15_);
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_propagate_error (error, _inner_error_);
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 1390 "DatabaseTable.c"
+ } else {
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 1400 "DatabaseTable.c"
+ }
+ }
+ }
+#line 231 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 1406 "DatabaseTable.c"
+}
+
+
+gboolean database_table_update_int_by_id (DatabaseTable* self, gint64 id, const gchar* column, gint value) {
+ gboolean result = FALSE;
+ sqlite3_stmt* stmt = NULL;
+ gint64 _tmp0_ = 0LL;
+ const gchar* _tmp1_ = NULL;
+ sqlite3_stmt* _tmp2_ = NULL;
+ gint res = 0;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+ gboolean _tmp5_ = FALSE;
+#line 243 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE);
+#line 243 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (column != NULL, FALSE);
+#line 245 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = id;
+#line 245 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = column;
+#line 245 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_);
+#line 245 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 245 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp2_;
+#line 247 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = value;
+#line 247 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = sqlite3_bind_int (stmt, 1, _tmp3_);
+#line 247 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp4_;
+#line 248 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (res == SQLITE_OK, "res == Sqlite.OK");
+#line 250 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = database_table_execute_update_by_id (self, stmt);
+#line 250 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = _tmp5_;
+#line 250 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 250 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 1450 "DatabaseTable.c"
+}
+
+
+void database_table_update_int_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint value, GError** error) {
+ sqlite3_stmt* stmt = NULL;
+ gint64 _tmp0_ = 0LL;
+ const gchar* _tmp1_ = NULL;
+ sqlite3_stmt* _tmp2_ = NULL;
+ gint res = 0;
+ sqlite3_stmt* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ sqlite3_stmt* _tmp7_ = NULL;
+ gint _tmp8_ = 0;
+ gint _tmp9_ = 0;
+ GError * _inner_error_ = NULL;
+#line 253 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (IS_DATABASE_TABLE (self));
+#line 253 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (column != NULL);
+#line 255 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = id;
+#line 255 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = column;
+#line 255 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_);
+#line 255 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 255 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp2_;
+#line 257 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = stmt;
+#line 257 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = value;
+#line 257 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = sqlite3_bind_int (_tmp3_, 1, _tmp4_);
+#line 257 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp5_;
+#line 258 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = res;
+#line 258 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp6_ == SQLITE_OK, "res == Sqlite.OK");
+#line 260 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = stmt;
+#line 260 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = sqlite3_step (_tmp7_);
+#line 260 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp8_;
+#line 261 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = res;
+#line 261 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp9_ != SQLITE_DONE) {
+#line 1504 "DatabaseTable.c"
+ const gchar* _tmp10_ = NULL;
+ const gchar* _tmp11_ = NULL;
+ gchar* _tmp12_ = NULL;
+ gchar* _tmp13_ = NULL;
+ gint _tmp14_ = 0;
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = self->table_name;
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = column;
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = g_strdup_printf ("DatabaseTable.update_int_by_id_2 %s.%s", _tmp10_, _tmp11_);
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = _tmp12_;
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = res;
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_throw_error (_tmp13_, _tmp14_, &_inner_error_);
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp13_);
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_propagate_error (error, _inner_error_);
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 1534 "DatabaseTable.c"
+ } else {
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 1544 "DatabaseTable.c"
+ }
+ }
+ }
+#line 253 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 1550 "DatabaseTable.c"
+}
+
+
+gboolean database_table_update_int64_by_id (DatabaseTable* self, gint64 id, const gchar* column, gint64 value) {
+ gboolean result = FALSE;
+ sqlite3_stmt* stmt = NULL;
+ gint64 _tmp0_ = 0LL;
+ const gchar* _tmp1_ = NULL;
+ sqlite3_stmt* _tmp2_ = NULL;
+ gint res = 0;
+ gint64 _tmp3_ = 0LL;
+ gint _tmp4_ = 0;
+ gboolean _tmp5_ = FALSE;
+#line 265 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE);
+#line 265 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (column != NULL, FALSE);
+#line 267 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = id;
+#line 267 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = column;
+#line 267 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_);
+#line 267 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 267 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp2_;
+#line 269 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = value;
+#line 269 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = sqlite3_bind_int64 (stmt, 1, _tmp3_);
+#line 269 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp4_;
+#line 270 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (res == SQLITE_OK, "res == Sqlite.OK");
+#line 272 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = database_table_execute_update_by_id (self, stmt);
+#line 272 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = _tmp5_;
+#line 272 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 272 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 1594 "DatabaseTable.c"
+}
+
+
+void database_table_update_int64_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint64 value, GError** error) {
+ sqlite3_stmt* stmt = NULL;
+ gint64 _tmp0_ = 0LL;
+ const gchar* _tmp1_ = NULL;
+ sqlite3_stmt* _tmp2_ = NULL;
+ gint res = 0;
+ sqlite3_stmt* _tmp3_ = NULL;
+ gint64 _tmp4_ = 0LL;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ sqlite3_stmt* _tmp7_ = NULL;
+ gint _tmp8_ = 0;
+ gint _tmp9_ = 0;
+ GError * _inner_error_ = NULL;
+#line 275 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (IS_DATABASE_TABLE (self));
+#line 275 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (column != NULL);
+#line 277 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = id;
+#line 277 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = column;
+#line 277 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_);
+#line 277 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 277 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp2_;
+#line 279 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = stmt;
+#line 279 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = value;
+#line 279 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = sqlite3_bind_int64 (_tmp3_, 1, _tmp4_);
+#line 279 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp5_;
+#line 280 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = res;
+#line 280 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp6_ == SQLITE_OK, "res == Sqlite.OK");
+#line 282 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = stmt;
+#line 282 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = sqlite3_step (_tmp7_);
+#line 282 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp8_;
+#line 283 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = res;
+#line 283 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp9_ != SQLITE_DONE) {
+#line 1648 "DatabaseTable.c"
+ const gchar* _tmp10_ = NULL;
+ const gchar* _tmp11_ = NULL;
+ gchar* _tmp12_ = NULL;
+ gchar* _tmp13_ = NULL;
+ gint _tmp14_ = 0;
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = self->table_name;
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = column;
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = g_strdup_printf ("DatabaseTable.update_int64_by_id_2 %s.%s", _tmp10_, _tmp11_);
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = _tmp12_;
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = res;
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_throw_error (_tmp13_, _tmp14_, &_inner_error_);
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp13_);
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_propagate_error (error, _inner_error_);
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 1678 "DatabaseTable.c"
+ } else {
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 1688 "DatabaseTable.c"
+ }
+ }
+ }
+#line 275 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 1694 "DatabaseTable.c"
+}
+
+
+void database_table_delete_by_id (DatabaseTable* self, gint64 id, GError** error) {
+ sqlite3_stmt* stmt = NULL;
+ gint res = 0;
+ sqlite3* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ sqlite3_stmt* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ sqlite3_stmt* _tmp8_ = NULL;
+ gint64 _tmp9_ = 0LL;
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+ sqlite3_stmt* _tmp12_ = NULL;
+ gint _tmp13_ = 0;
+ gint _tmp14_ = 0;
+ GError * _inner_error_ = NULL;
+#line 287 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (IS_DATABASE_TABLE (self));
+#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = database_table_db;
+#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = self->table_name;
+#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = g_strdup_printf ("DELETE FROM %s WHERE id=?", _tmp1_);
+#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = _tmp2_;
+#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = sqlite3_prepare_v2 (_tmp0_, _tmp3_, -1, &_tmp4_, NULL);
+#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp4_;
+#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = _tmp5_;
+#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp3_);
+#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp6_;
+#line 290 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = res;
+#line 290 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK");
+#line 292 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = stmt;
+#line 292 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = id;
+#line 292 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = sqlite3_bind_int64 (_tmp8_, 1, _tmp9_);
+#line 292 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp10_;
+#line 293 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = res;
+#line 293 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK");
+#line 295 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = stmt;
+#line 295 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = sqlite3_step (_tmp12_);
+#line 295 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp13_;
+#line 296 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = res;
+#line 296 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp14_ != SQLITE_DONE) {
+#line 1765 "DatabaseTable.c"
+ const gchar* _tmp15_ = NULL;
+ gchar* _tmp16_ = NULL;
+ gchar* _tmp17_ = NULL;
+ gint _tmp18_ = 0;
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp15_ = self->table_name;
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp16_ = g_strdup_printf ("%s.remove", _tmp15_);
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp17_ = _tmp16_;
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp18_ = res;
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_throw_error (_tmp17_, _tmp18_, &_inner_error_);
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp17_);
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_propagate_error (error, _inner_error_);
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 1792 "DatabaseTable.c"
+ } else {
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 1802 "DatabaseTable.c"
+ }
+ }
+ }
+#line 287 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 1808 "DatabaseTable.c"
+}
+
+
+gboolean database_table_has_column (const gchar* table_name, const gchar* column_name) {
+ gboolean result = FALSE;
+ sqlite3_stmt* stmt = NULL;
+ gint res = 0;
+ sqlite3* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ sqlite3_stmt* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+#line 300 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (table_name != NULL, FALSE);
+#line 300 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (column_name != NULL, FALSE);
+#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = database_table_db;
+#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = table_name;
+#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = g_strdup_printf ("PRAGMA table_info(%s)", _tmp1_);
+#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = _tmp2_;
+#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = sqlite3_prepare_v2 (_tmp0_, _tmp3_, -1, &_tmp4_, NULL);
+#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp4_;
+#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = _tmp5_;
+#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp3_);
+#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp6_;
+#line 303 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = res;
+#line 303 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK");
+#line 1852 "DatabaseTable.c"
+ {
+ gboolean _tmp8_ = FALSE;
+#line 305 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = TRUE;
+#line 305 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ while (TRUE) {
+#line 1859 "DatabaseTable.c"
+ sqlite3_stmt* _tmp9_ = NULL;
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+#line 305 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (!_tmp8_) {
+#line 1865 "DatabaseTable.c"
+ }
+#line 305 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = FALSE;
+#line 306 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = stmt;
+#line 306 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = sqlite3_step (_tmp9_);
+#line 306 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp10_;
+#line 307 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = res;
+#line 307 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp11_ == SQLITE_DONE) {
+#line 308 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ break;
+#line 1881 "DatabaseTable.c"
+ } else {
+ gint _tmp12_ = 0;
+#line 309 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = res;
+#line 309 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp12_ != SQLITE_ROW) {
+#line 1888 "DatabaseTable.c"
+ const gchar* _tmp13_ = NULL;
+ gchar* _tmp14_ = NULL;
+ gchar* _tmp15_ = NULL;
+ gint _tmp16_ = 0;
+#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = table_name;
+#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = g_strdup_printf ("has_column %s", _tmp13_);
+#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp15_ = _tmp14_;
+#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp16_ = res;
+#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_fatal (_tmp15_, _tmp16_);
+#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp15_);
+#line 312 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ break;
+#line 1907 "DatabaseTable.c"
+ } else {
+ gchar* column = NULL;
+ sqlite3_stmt* _tmp17_ = NULL;
+ const gchar* _tmp18_ = NULL;
+ gchar* _tmp19_ = NULL;
+ gboolean _tmp20_ = FALSE;
+ const gchar* _tmp21_ = NULL;
+#line 314 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp17_ = stmt;
+#line 314 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp18_ = sqlite3_column_text (_tmp17_, 1);
+#line 314 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp19_ = g_strdup (_tmp18_);
+#line 314 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ column = _tmp19_;
+#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp21_ = column;
+#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp21_ != NULL) {
+#line 1927 "DatabaseTable.c"
+ const gchar* _tmp22_ = NULL;
+ const gchar* _tmp23_ = NULL;
+#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp22_ = column;
+#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp23_ = column_name;
+#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp20_ = g_strcmp0 (_tmp22_, _tmp23_) == 0;
+#line 1936 "DatabaseTable.c"
+ } else {
+#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp20_ = FALSE;
+#line 1940 "DatabaseTable.c"
+ }
+#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp20_) {
+#line 316 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = TRUE;
+#line 316 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (column);
+#line 316 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 316 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 1952 "DatabaseTable.c"
+ }
+#line 309 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (column);
+#line 1956 "DatabaseTable.c"
+ }
+ }
+ }
+ }
+#line 320 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = FALSE;
+#line 320 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 320 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 1967 "DatabaseTable.c"
+}
+
+
+gboolean database_table_has_table (const gchar* table_name) {
+ gboolean result = FALSE;
+ sqlite3_stmt* stmt = NULL;
+ gint res = 0;
+ sqlite3* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ sqlite3_stmt* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ gint _tmp9_ = 0;
+#line 323 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (table_name != NULL, FALSE);
+#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = database_table_db;
+#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = table_name;
+#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = g_strdup_printf ("PRAGMA table_info(%s)", _tmp1_);
+#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = _tmp2_;
+#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = sqlite3_prepare_v2 (_tmp0_, _tmp3_, -1, &_tmp4_, NULL);
+#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp4_;
+#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = _tmp5_;
+#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp3_);
+#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp6_;
+#line 326 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = res;
+#line 326 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK");
+#line 328 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = sqlite3_step (stmt);
+#line 328 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp8_;
+#line 330 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = res;
+#line 330 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = _tmp9_ != SQLITE_DONE;
+#line 330 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 330 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 2023 "DatabaseTable.c"
+}
+
+
+gboolean database_table_add_column (const gchar* table_name, const gchar* column_name, const gchar* column_constraints) {
+ gboolean result = FALSE;
+ sqlite3_stmt* stmt = NULL;
+ gint res = 0;
+ sqlite3* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ const gchar* _tmp2_ = NULL;
+ const gchar* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+ sqlite3_stmt* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ gint _tmp9_ = 0;
+ sqlite3_stmt* _tmp10_ = NULL;
+ gint _tmp11_ = 0;
+ gint _tmp12_ = 0;
+#line 333 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (table_name != NULL, FALSE);
+#line 333 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (column_name != NULL, FALSE);
+#line 333 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (column_constraints != NULL, FALSE);
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = database_table_db;
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = table_name;
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = column_name;
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = column_constraints;
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = g_strdup_printf ("ALTER TABLE %s ADD COLUMN %s %s", _tmp1_, _tmp2_, _tmp3_);
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = _tmp4_;
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = sqlite3_prepare_v2 (_tmp0_, _tmp5_, -1, &_tmp6_, NULL);
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp6_;
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = _tmp7_;
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp5_);
+#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp8_;
+#line 337 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = res;
+#line 337 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp9_ == SQLITE_OK, "res == Sqlite.OK");
+#line 339 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = stmt;
+#line 339 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = sqlite3_step (_tmp10_);
+#line 339 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp11_;
+#line 340 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = res;
+#line 340 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp12_ != SQLITE_DONE) {
+#line 2088 "DatabaseTable.c"
+ const gchar* _tmp13_ = NULL;
+ const gchar* _tmp14_ = NULL;
+ const gchar* _tmp15_ = NULL;
+ gint _tmp16_ = 0;
+ sqlite3* _tmp17_ = NULL;
+ const gchar* _tmp18_ = NULL;
+#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = table_name;
+#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = column_name;
+#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp15_ = column_constraints;
+#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp16_ = res;
+#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp17_ = database_table_db;
+#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp18_ = sqlite3_errmsg (_tmp17_);
+#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("DatabaseTable.vala:341: Unable to add column %s %s %s: (%d) %s", _tmp13_, _tmp14_, _tmp15_, _tmp16_, _tmp18_);
+#line 344 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = FALSE;
+#line 344 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 344 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 2115 "DatabaseTable.c"
+ }
+#line 347 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = TRUE;
+#line 347 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 347 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 2123 "DatabaseTable.c"
+}
+
+
+gboolean database_table_ensure_column (const gchar* table_name, const gchar* column_name, const gchar* column_constraints, const gchar* upgrade_msg) {
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ const gchar* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ const gchar* _tmp6_ = NULL;
+ const gchar* _tmp7_ = NULL;
+ const gchar* _tmp8_ = NULL;
+ const gchar* _tmp9_ = NULL;
+ gboolean _tmp10_ = FALSE;
+#line 353 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (table_name != NULL, FALSE);
+#line 353 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (column_name != NULL, FALSE);
+#line 353 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (column_constraints != NULL, FALSE);
+#line 353 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (upgrade_msg != NULL, FALSE);
+#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = table_name;
+#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = database_table_has_table (_tmp1_);
+#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (!_tmp2_) {
+#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = TRUE;
+#line 2153 "DatabaseTable.c"
+ } else {
+ const gchar* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ gboolean _tmp5_ = FALSE;
+#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = table_name;
+#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = column_name;
+#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = database_table_has_column (_tmp3_, _tmp4_);
+#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = _tmp5_;
+#line 2166 "DatabaseTable.c"
+ }
+#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp0_) {
+#line 356 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = TRUE;
+#line 356 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 2174 "DatabaseTable.c"
+ }
+#line 358 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = upgrade_msg;
+#line 358 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_message ("DatabaseTable.vala:358: %s", _tmp6_);
+#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = table_name;
+#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = column_name;
+#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = column_constraints;
+#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = database_table_add_column (_tmp7_, _tmp8_, _tmp9_);
+#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = _tmp10_;
+#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 2192 "DatabaseTable.c"
+}
+
+
+gint database_table_get_row_count (DatabaseTable* self) {
+ gint result = 0;
+ sqlite3_stmt* stmt = NULL;
+ gint res = 0;
+ sqlite3* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ sqlite3_stmt* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ sqlite3_stmt* _tmp8_ = NULL;
+ gint _tmp9_ = 0;
+ gint _tmp10_ = 0;
+ sqlite3_stmt* _tmp15_ = NULL;
+ gint _tmp16_ = 0;
+#line 363 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (IS_DATABASE_TABLE (self), 0);
+#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = database_table_db;
+#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = self->table_name;
+#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = g_strdup_printf ("SELECT COUNT(id) AS RowCount FROM %s", _tmp1_);
+#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = _tmp2_;
+#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = sqlite3_prepare_v2 (_tmp0_, _tmp3_, -1, &_tmp4_, NULL);
+#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ stmt = _tmp4_;
+#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = _tmp5_;
+#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (_tmp3_);
+#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp6_;
+#line 366 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp7_ = res;
+#line 366 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK");
+#line 368 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp8_ = stmt;
+#line 368 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp9_ = sqlite3_step (_tmp8_);
+#line 368 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp9_;
+#line 369 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp10_ = res;
+#line 369 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp10_ != SQLITE_ROW) {
+#line 2249 "DatabaseTable.c"
+ const gchar* _tmp11_ = NULL;
+ gint _tmp12_ = 0;
+ sqlite3* _tmp13_ = NULL;
+ const gchar* _tmp14_ = NULL;
+#line 370 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp11_ = self->table_name;
+#line 370 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp12_ = res;
+#line 370 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp13_ = database_table_db;
+#line 370 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp14_ = sqlite3_errmsg (_tmp13_);
+#line 370 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("DatabaseTable.vala:370: Unable to retrieve row count on %s: (%d) %s", _tmp11_, _tmp12_, _tmp14_);
+#line 372 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = 0;
+#line 372 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 372 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 2270 "DatabaseTable.c"
+ }
+#line 375 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp15_ = stmt;
+#line 375 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp16_ = sqlite3_column_int (_tmp15_, 0);
+#line 375 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ result = _tmp16_;
+#line 375 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _sqlite3_finalize0 (stmt);
+#line 375 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return result;
+#line 2282 "DatabaseTable.c"
+}
+
+
+void database_table_begin_transaction (void) {
+ gint _tmp0_ = 0;
+ gint res = 0;
+ sqlite3* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ gint _tmp3_ = 0;
+#line 380 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = database_table_in_transaction;
+#line 380 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_in_transaction = _tmp0_ + 1;
+#line 380 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp0_ != 0) {
+#line 381 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 2300 "DatabaseTable.c"
+ }
+#line 383 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = database_table_db;
+#line 383 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = _sqlite3_exec (_tmp1_, "BEGIN TRANSACTION", NULL, NULL, NULL);
+#line 383 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp2_;
+#line 384 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = res;
+#line 384 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK");
+#line 2312 "DatabaseTable.c"
+}
+
+
+void database_table_commit_transaction (GError** error) {
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ gint res = 0;
+ sqlite3* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+ GError * _inner_error_ = NULL;
+#line 389 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp0_ = database_table_in_transaction;
+#line 389 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _vala_assert (_tmp0_ > 0, "in_transaction > 0");
+#line 390 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp1_ = database_table_in_transaction;
+#line 390 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_in_transaction = _tmp1_ - 1;
+#line 390 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp2_ = database_table_in_transaction;
+#line 390 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp2_ != 0) {
+#line 391 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 2339 "DatabaseTable.c"
+ }
+#line 393 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp3_ = database_table_db;
+#line 393 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp4_ = _sqlite3_exec (_tmp3_, "COMMIT TRANSACTION", NULL, NULL, NULL);
+#line 393 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ res = _tmp4_;
+#line 394 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp5_ = res;
+#line 394 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_tmp5_ != SQLITE_DONE) {
+#line 2351 "DatabaseTable.c"
+ gint _tmp6_ = 0;
+#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _tmp6_ = res;
+#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_throw_error ("commit_transaction", _tmp6_, &_inner_error_);
+#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_propagate_error (error, _inner_error_);
+#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 2365 "DatabaseTable.c"
+ } else {
+#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_clear_error (&_inner_error_);
+#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return;
+#line 2373 "DatabaseTable.c"
+ }
+ }
+ }
+}
+
+
+DatabaseTable* database_table_construct (GType object_type) {
+ DatabaseTable* self = NULL;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ self = (DatabaseTable*) g_type_create_instance (object_type);
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return self;
+#line 2386 "DatabaseTable.c"
+}
+
+
+static void value_database_table_init (GValue* value) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ value->data[0].v_pointer = NULL;
+#line 2393 "DatabaseTable.c"
+}
+
+
+static void value_database_table_free_value (GValue* value) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (value->data[0].v_pointer) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_unref (value->data[0].v_pointer);
+#line 2402 "DatabaseTable.c"
+ }
+}
+
+
+static void value_database_table_copy_value (const GValue* src_value, GValue* dest_value) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (src_value->data[0].v_pointer) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ dest_value->data[0].v_pointer = database_table_ref (src_value->data[0].v_pointer);
+#line 2412 "DatabaseTable.c"
+ } else {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ dest_value->data[0].v_pointer = NULL;
+#line 2416 "DatabaseTable.c"
+ }
+}
+
+
+static gpointer value_database_table_peek_pointer (const GValue* value) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return value->data[0].v_pointer;
+#line 2424 "DatabaseTable.c"
+}
+
+
+static gchar* value_database_table_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (collect_values[0].v_pointer) {
+#line 2431 "DatabaseTable.c"
+ DatabaseTable* object;
+ object = collect_values[0].v_pointer;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (object->parent_instance.g_class == NULL) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 2438 "DatabaseTable.c"
+ } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 2442 "DatabaseTable.c"
+ }
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ value->data[0].v_pointer = database_table_ref (object);
+#line 2446 "DatabaseTable.c"
+ } else {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ value->data[0].v_pointer = NULL;
+#line 2450 "DatabaseTable.c"
+ }
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return NULL;
+#line 2454 "DatabaseTable.c"
+}
+
+
+static gchar* value_database_table_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+ DatabaseTable** object_p;
+ object_p = collect_values[0].v_pointer;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (!object_p) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+#line 2465 "DatabaseTable.c"
+ }
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (!value->data[0].v_pointer) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ *object_p = NULL;
+#line 2471 "DatabaseTable.c"
+ } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ *object_p = value->data[0].v_pointer;
+#line 2475 "DatabaseTable.c"
+ } else {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ *object_p = database_table_ref (value->data[0].v_pointer);
+#line 2479 "DatabaseTable.c"
+ }
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return NULL;
+#line 2483 "DatabaseTable.c"
+}
+
+
+GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
+ ParamSpecDatabaseTable* spec;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (g_type_is_a (object_type, TYPE_DATABASE_TABLE), NULL);
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ G_PARAM_SPEC (spec)->value_type = object_type;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return G_PARAM_SPEC (spec);
+#line 2497 "DatabaseTable.c"
+}
+
+
+gpointer value_get_database_table (const GValue* value) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATABASE_TABLE), NULL);
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return value->data[0].v_pointer;
+#line 2506 "DatabaseTable.c"
+}
+
+
+void value_set_database_table (GValue* value, gpointer v_object) {
+ DatabaseTable* old;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATABASE_TABLE));
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ old = value->data[0].v_pointer;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (v_object) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DATABASE_TABLE));
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ value->data[0].v_pointer = v_object;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_ref (value->data[0].v_pointer);
+#line 2526 "DatabaseTable.c"
+ } else {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ value->data[0].v_pointer = NULL;
+#line 2530 "DatabaseTable.c"
+ }
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (old) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_unref (old);
+#line 2536 "DatabaseTable.c"
+ }
+}
+
+
+void value_take_database_table (GValue* value, gpointer v_object) {
+ DatabaseTable* old;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATABASE_TABLE));
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ old = value->data[0].v_pointer;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (v_object) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DATABASE_TABLE));
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ value->data[0].v_pointer = v_object;
+#line 2555 "DatabaseTable.c"
+ } else {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ value->data[0].v_pointer = NULL;
+#line 2559 "DatabaseTable.c"
+ }
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (old) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_unref (old);
+#line 2565 "DatabaseTable.c"
+ }
+}
+
+
+static void database_table_class_init (DatabaseTableClass * klass) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ database_table_parent_class = g_type_class_peek_parent (klass);
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ ((DatabaseTableClass *) klass)->finalize = database_table_finalize;
+#line 2575 "DatabaseTable.c"
+}
+
+
+static void database_table_instance_init (DatabaseTable * self) {
+#line 30 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ self->table_name = NULL;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ self->ref_count = 1;
+#line 2584 "DatabaseTable.c"
+}
+
+
+static void database_table_finalize (DatabaseTable* obj) {
+ DatabaseTable * self;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DATABASE_TABLE, DatabaseTable);
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_signal_handlers_destroy (self);
+#line 30 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ _g_free0 (self->table_name);
+#line 2596 "DatabaseTable.c"
+}
+
+
+GType database_table_get_type (void) {
+ static volatile gsize database_table_type_id__volatile = 0;
+ if (g_once_init_enter (&database_table_type_id__volatile)) {
+ static const GTypeValueTable g_define_type_value_table = { value_database_table_init, value_database_table_free_value, value_database_table_copy_value, value_database_table_peek_pointer, "p", value_database_table_collect_value, "p", value_database_table_lcopy_value };
+ static const GTypeInfo g_define_type_info = { sizeof (DatabaseTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) database_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DatabaseTable), 0, (GInstanceInitFunc) database_table_instance_init, &g_define_type_value_table };
+ static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
+ GType database_table_type_id;
+ database_table_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DatabaseTable", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT);
+ g_once_init_leave (&database_table_type_id__volatile, database_table_type_id);
+ }
+ return database_table_type_id__volatile;
+}
+
+
+gpointer database_table_ref (gpointer instance) {
+ DatabaseTable* self;
+ self = instance;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_atomic_int_inc (&self->ref_count);
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ return instance;
+#line 2621 "DatabaseTable.c"
+}
+
+
+void database_table_unref (gpointer instance) {
+ DatabaseTable* self;
+ self = instance;
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ if (g_atomic_int_dec_and_test (&self->ref_count)) {
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ DATABASE_TABLE_GET_CLASS (self)->finalize (self);
+#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala"
+ g_type_free_instance ((GTypeInstance *) self);
+#line 2634 "DatabaseTable.c"
+ }
+}
+
+
+