Hello everybody, we are using SQLite with in-memory tables to speed up importing of data into persistent tables. We therefore clone the persistent table's structure by querying the sqlite_master table for its create statement and replacing the table name. After importing the fresh data is copied over to the persistent table. Yesterday we introduced cloning of indexes on the permanent tables too.
The import of small data sets just works fine as before. However after importing larger data sets (~ 40000 rows) this causes problems. When trying to to copy them into the persistent table we get some weird errors like: Error in query "DROP TABLE functionsSQLITEINMEMORYTEMP" Error text is "database table is locked Unable to fetch row" Error in query "DROP TABLE classes_2329_trunkSQLITEINMEMORYTEMP" Error text is "database table is locked Unable to fetch row" Error in query "DROP TABLE variables_2329_trunkSQLITEINMEMORYTEMP" Error text is "database table is locked Unable to fetch row" Error in query "INSERT INTO varaccess_2329_trunk SELECT * FROM varaccess_2329_tr unkSQLITEINMEMORYTEMP" Error text is "no such table: varaccess_2329_trunkSQLITEINMEMORYTEMP Unable to e xecute statement" Error in query "DELETE FROM varaccess_2329_trunkSQLITEINMEMORYTEMP" Error text is "no such table: varaccess_2329_trunkSQLITEINMEMORYTEMP Unable to e SQLite does not throw any warnings or errors before. We are kind of confused by the error messages: 1.) How can in-memory temporary tables that are only valid for one session be locked? No one else has access to these tables. Additionally we don't have any concurrent access to the persistent database file either. 2.) How can tables just disappear? See the last 2 error messages: the table varaccess_2329_trunkSQLITEINMEMORYTEMP was never dropped and previously used without problems to import the fresh data. Is there any memory-limit for in-memory temporary tables? We did not find anything about this in the SQLite documentation. The cache_size pragma does not seem to be related to this problem - or is it? Maybe SQLite just has dropped the tables because it ran out of memory? However why is there no error message... Thanks for any help in advance & greetings, Jonas _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users