The following limitations apply to SQLite databases accessed via Libgda:
The gda_connection_statement_execute_non_select()'s last_insert_row attribute uses the hidden "_ROWID_" column for each table, but it may fail if the table has a column with the same name.
As SQLite stores dates and times as strings, Libgda only handles dates in the format recommended by SQLite, which is "YYYY-MM-DD" for dates, "HH:MM:SS" for times and "YYYY-MM-DD HH:MM:SS" for timestamps (see SQLite's documentation).
Timezone information associated with time and timestamp data types is not stored by PostgreSQL, so when executing statements all the variables containing a time or timestamp information are converted to GMT (timezone 0) before the execution happens. The consequence is that for example if a variable holds the "11:23:55+2" time (11 hours, 23 minutes and 55 seconds, at GMT + 2), then the actual time stored in the database will be "09:23:55", the same time but GMT.
No limitation if sqlite has been compiled with the SQLITE_THREADSAFE=1 flag (which is the case for the embedded version of SQLite). If the system installed SQLite is used and if it was not compiled using that flag, then Libgda sets the SQLite library in a state where multi threading is fully supported.