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 wf.foo = '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;
p
----------
NULL
SELECT param('foo') AS foo;
foo
---------
bar
-----Ursprüngliche Nachricht-----
Von: sqlite-users [mailto:[email protected]] Im
Auftrag von Ulrich Telle
Gesendet: Dienstag, 06. Februar 2018 09:34
An: [email protected]
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
statement:
SELECT myextension_config('param-name', 'param-value');
Is there a better (or even recommended) way how to accomplish such
parameterization at runtime?
Regards,
Ulrich
--
E-Mail privat: [email protected]
World Wide Web: http://www.telle-online.de
_______________________________________________
sqlite-users mailing list
[email protected]
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
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users