Skip to main content
Question

InlineQuerier - how much of SQLite SQL is implemented ?

  • February 26, 2026
  • 3 replies
  • 38 views

lifalin2016
Supporter
Forum|alt.badge.img+40

Hi.

I’m looking into whether I can use InlineQuerier for a Workbench validation of data using a list of criterias.

One of the things I need to do is use RegEx, and is thus trying to use the REGEXP construct mentioned in the documentation. However, this is the error I’m getting:

InlineQuerier_2 (InlineQueryFactory): Error preparing database query: no such function: REGEXP Unable to execute statement

The full query is here:

SELECT * 
FROM "Data"
WHERE
NOT((
"tvaersnitsform" IS NULL
OR
"tvaersnitsform" REGEXP '^(other: )[0-9a-zA-ZæøåÆØÅ]{2,}$'
OR
"tvaersnitsform" IN (SELECT "key" FROM "LOOKUP.Tvaersnitsformtype")
))

If I remove the REGEXP part of the criteria, it works just fine.

Has anyone used InlineQuerier much, and have some insights into what might be wrong here ?

Is it just a subset of SQLite’s SQL language being available in InlineQuerier ?

If I click the dialog Help button, it leads me to a page, that clearly shows REGEXP.

Cheers.

3 replies

david_r
Celebrity
  • February 26, 2026

From the SQLite documentation:

The REGEXP operator is a special syntax for the regexp() user function. No regexp() user function is defined by default and so use of the REGEXP operator will normally result in an error message.

It seems that the REGEXP functionality isn’t built into SQLite, and to use it you’ll have to supply the regex function yourself. I suspect this isn’t possible from the InlineQuerier.


lifalin2016
Supporter
Forum|alt.badge.img+40
  • Author
  • Supporter
  • February 27, 2026

From the SQLite documentation:

The REGEXP operator is a special syntax for the regexp() user function. No regexp() user function is defined by default and so use of the REGEXP operator will normally result in an error message.

It seems that the REGEXP functionality isn’t built into SQLite, and to use it you’ll have to supply the regex function yourself. I suspect this isn’t possible from the InlineQuerier.

That sounds peculiar, since Regex is a well established standard afaik.

But it might have been done to keep SQLite as light as possible ?

Alas, this will be a deal breaker for me. I’ll have to explore other possible avenues then.

Thanks.


david_r
Celebrity
  • February 27, 2026

Indeed. SQLite is very much optimized for speed and size (of the executable), so default behavior has several “gotchas” that can be confusing or unexpected if you deviate from simple usage. If so, careful consultation of the documentation is necessary.

For example, by default foreign key constraints aren’t enforced unless you specifically ask it to. This is contrary to almost any other RDBMS.