Interesting. How do you discern between "names of virtual tables that are not yet loaded" and "names of virtual tables that do not exist"?
We have two strategies here: 1) "Cloned" general tables: These have identical structures, but contents is partitioned by one or more fields. The backing store (typically one ctree file per table) and SQLite virtual table are created/destroyed ("cloned" und "uncloned") together. There is usually another virtual table (called the "partition" table) that works as a single point of access for queries. E.g. a table of customer cards organized per jurisdiction. There will be one (or more, for a multi-jurisdiction application) customer card file "/...cust_card_01.dat" with a corresponding SQLite virtual table "CREATE VIRTUAL TABLE cust_card_01 USING ctree(...);" and one partition table for SQL access "CREATE VIRUTAL TABLE cust_card USING partition(...);" This strategy is mostly used for tables that typically stick around for a long time. Application processes typically directly access the backing store, because this is faster; reports and queries typically access the partition table, because they are independant of the jurisdiction. 2) Speciality tables: The backing store is composed of files that are typically created per day and persist only for a short period of time. There is only one virtual table, and the virtual table module handles which files are present internally. E.g. a transaction log table, organised by daily files that are kept for a certai number of days. "CREATE VIRTUAL TABLE txlog USING txlog(...);" Which checks internally if the requested day's file is present or not. -----Ursprüngliche Nachricht----- Von: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] Im Auftrag von Philippe Riand Gesendet: Samstag, 17. März 2018 15:53 An: sqlite-users@mailinglists.sqlite.org Betreff: [EXTERNAL] [sqlite] Lazy virtual table creation We are using virtual tables to provide an SQL access to our data set and this works very well. But we have potentially "a lot” of virtual tables, with some even yet unknown when we start the DB. We’d like to create them lazily, on first access. Is there a hook we can use so when an SQL statement refers to a non existing table it asks a callback for a VT definition? It is fine if these dynamic table requires a specific prefix similar to the "temp” one. Regards, Phil. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users ___________________________________________ Gunter Hick | Software Engineer | Scientific Games International GmbH | Klitschgasse 2-4, A-1130 Vienna | FN 157284 a, HG Wien, DVR: 0430013 | (O) +43 1 80100 - 0 May be privileged. May be confidential. Please delete if not the addressee. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users