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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.