Re: [gnome-db] Partial Meta Store update.
Vivien Malerba <[email protected]>
| Newsgroups | gmane.comp.gnome.db |
|---|---|
| Message-ID | <[email protected]> |
2009/7/19 Bas Driessen <[email protected]> > Hello, > > Question regarding partial meta store update. I found that the following to > update a single table does not appear to work: > > * g_print ("\nPartial metastore update for table '%s'...\n", > TABLE_NAME);* > * GdaMetaContext mcontext = {"_tables", 1, NULL, NULL};* > * mcontext.column_names = g_new (gchar *, 1);* > * mcontext.column_names[0] = "table_name";* > * mcontext.column_values = g_new (GValue *, 1);* > * g_value_set_string ((mcontext.column_values[0] = gda_value_new > (G_TYPE_STRING)), TABLE_NAME);* > * if (!gda_connection_update_meta_store (connection, &mcontext, > &error))* > * return -1;* > > After this, my meta store is NOT updated. > This may depend on the actual value of TABLE_NAME, specifically if it is a mix of upper and lower case, or if it's a reserved keyword. The proper way is: *tmp = gda_sql_identifier_quote (TABLE_NAME, cnc, NULL, TRUE, FALSE); // or with the last argument being TRUE, see the doc* *g_value_set_string ((mcontext.column_values[0] = gda_value_new (G_TYPE_STRING)), tmp); g_free (tmp); *Note that this is brand new (just been sorted out) and will require the master or LIBGDA_4.0 branches up to date.* * > > > A partial update to update ALL the tables works fine: > > *g_print ("\nPartial metastore update for all the tables...\n");* > * GdaMetaContext mcontext2 = {"_tables", 0, NULL, NULL};* > * if (!gda_connection_update_meta_store (connection, &mcontext2, > &error))* > * return -1;* > > > The "full" update to update everything also works fine. > > Therefore my question, are there any issues with the "single" table update? > Also, is this supposed to work if I DELETE a table or is it only when new > tables are added? > It should work fine even with removed tables (the table which has been removed won't appear in the meta store afterwards). Vivien _______________________________________________ gnome-db-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-db-list