You can pass parameters to the xCreate function in the CREATE VIRTUAL TABLE 
statement, if the setting you desire remains unchanged during the lifetime of 
the table.

CREATE VIRTUAL TABLE <name> USING <module> [ ( <parameter>,...) ];

You can declare hidden fields in the call to sqlite3_declare_vtab() call within 
your xCreate function if the setting you desire are specific to a query. The 
constraint will be passed to your xBestIndex function, and (if the query plan 
is selected) the value will be passed to your xFilter function.

CREATE VIRTUAL TABLE with_foo USING handle_foo;

Sqlite3_declare_vtab(db_hanlde, "CREATE TABLE x ( ..., foo integer hidden, 

SELECT .... FROM with_foo wf .... WHERE = 'bar';

Or, for "none of the above", create a user defined function that will handle 
storing/retrieving the settings and provide a C interface for your virtual 
table implementation to access them directly

SELECT param('foo','bar') AS p;

SELECT param('foo') AS foo;

-----Urspr√ľngliche Nachricht-----
Von: sqlite-users [] Im 
Auftrag von Ulrich Telle
Gesendet: Dienstag, 06. Februar 2018 09:34
Betreff: [EXTERNAL] [sqlite] How to parameterize a loadable extension at runtime

I have implemented a loadable SQLite extension. The behaviour of the extension 
can be configured by setting various parameters. Currently I select the 
parameter settings at compile time. However this is not very flexible. I would 
like to be able to modify the parameters at runtime.

The most logical way would be to add extension-specific pragmas, but it doesn't 
seem to be possible to intercept the pragma handling of SQLite without 
modifying the SQLite source.

Another possibility would be to add a user-defined function for the 
configuration of the extension that could be called from a SELECT

SELECT myextension_config('param-name', 'param-value');

Is there a better (or even recommended) way how to accomplish such 
parameterization at runtime?


E-Mail privat:
World Wide Web:

sqlite-users mailing list

 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

Reply via email to