Re: [gnome-db] GDA_CONNECTION_OPTIONS_THREAD_SAFE issue.





2009/8/14 Bas Driessen <bas driessen xobas com>
Hi Vivien,

You recently introduced the GDA_CONNECTION_OPTIONS_THREAD_SAFE option. There is a problem with this that if set and a partial meta store update is performed, the meta store is not updated. If using any of the other GDA_CONNECTION_OPTIONS all works fine.

I have attached 2 small c programs to re-produce this issue. The database provider is MySQL, my (test) database is called  'stock' and the DSN is 'mystock'

-1 rm /tmp/mysql_meta.db
-2 in MySQL: drop table xPartsUC;
-3 Run mysql_full (source attached)
-4 in MySQL: CREATE TABLE xPartsUC (Part_ID varchar(5) PRIMARY KEY, Description varchar(30));
-5 Run mysql_partial (source attached)
-6 sqlite3 /tmp/mysql_meta.db  then run: select * from _tables where table_name = '"xPartsUC"';
-7 nothing there. Run mysql_full and the entry is there.

The cause of this problem was that I had forgotten to implement a virtual method. This should now be fixed in the master branch, can you check?


On a side note, how do I pass 2 or more GDA_CONNECTION_OPTIONS to gda_connection_open_from_dsn() ?

ie, if I want to set GDA_CONNECTION_OPTIONS_THREAD_SAFE and the GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE option?

simply use the logical OR operator:
..., GDA_CONNECTION_OPTIONS_THREAD_SAFE | GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE,...


Regards,

Vivien




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]