How to check whether SQLiteStudio is using build-in REGEXP or extension? #3938
-
It's very useful that SQLiteStudio has built in support von regular expressions via REGEXP, however I feel the used Qt implementation is much slower compared to running a sqlite shell with a pcre wrapper extension loaded (on unix). I therefore compiled pcre and a wrapper extension on windows and loaded it into SQLiteStudio, which accepts it fine. However, I cannot tell if the REGEXP function is now caught by SQLiteStudio and Qt or by my custom extension. Which one takes precedence and how can i verify this? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
REGEXP implementation in SQLite3 is done via registering Now, according to this documentation: https://sqlite.org/appfunc.html#multiple_calls_to_sqlite3_create_function_for_the_same_function whichever function implementation is registered later - will be in use. This means that if you load extension through the Extension Manager, you will still use SQLiteStudio REGEXP implementation. If you want to use your own - provided by extension, you will need to load the extension manually, later, using |
Beta Was this translation helpful? Give feedback.
REGEXP implementation in SQLite3 is done via registering
regexp()
custom function.The way that SQLiteStudio initializes database upon opening is that it loads all registered extensions first - registered extensions are those added in the Extensions Manager window - this one:
Then it registers all functions (including the
regexp()
).Now, according to this documentation: https://sqlite.org/appfunc.html#multiple_calls_to_sqlite3_create_function_for_the_same_function whichever function implementation is registered later - will be in use.
This means that if you load extension through the Extension Manager, you will still use SQLiteStudio REGEXP implementation. If you want to use your own - p…