Yes, I am beginning to understand that. SQLite3 is its own GLOB standard.

I will abide by that.

It is just very confusing when 5 other apps using SQLite as their DB engine all report the opposite.
    The SQLite versions they use are 3.9.2, 3.10.1, 3.11.0 and 3.13.0.

Example: the SQLite Manager in FireFox 50 uses SQLite 3.13.0 and faithfully removes the names with digits in them.

I am developing an app for contractors which will include a SQLite3 GUI so they can browse their files at will. The CLI is not viable for them as they are not very computer literate. They do grasp the 'Select * from parts where ........;' syntax.

And there's the rub: GLOB "*[^1-9]*" works in the GUI tools that use SQLite but not in the SQLite CLI.

This introduces an additional support issue because some users will migrate to the CLI.

If you go to www.sqlitetutorial.net they, too, use and also teach the GLOB "*[^1-9]*" usage.

My issue is: Why the discrepancy. The other 5 apps all honor the GLOB "*[^1-9]*" usage. Only SQLite3 CLI doesn't. If this was deprecated it would be understandable. But, no such proviso is shown.

Do you not think that's a bit odd?

Rest assured, I will abide by the SQLite 3.15.0 and future upgrades. It's just extra work and support, places a blot on the escutcheon of efficiency. It's awkward mixing the GLOB and Regex metaphors.

Ken


On 01/04/2017 11:01 AM, Jens Alfke wrote:
On Jan 4, 2017, at 5:57 AM, R Smith <rsm...@rsweb.co.za> wrote:

As I have it (and as is implemented by SQLite) the GLOB operator implements a 
REGEXP that matches against a regexp pattern
No, these are NOT regular expressions in the usual sense of the word. GLOB's 
syntax is incompatible with what are commonly called “regular expressions”, and 
its feature set is a lot more limited. (It may technically implement a type of 
regular expression in the underlying algorithmic sense, but I think using the 
term is misleading.)

Case in point: the string "*[^1-9]*" is illegal in every regex syntax I know 
of, because “*” is a postfix operator in regex and can’t appear at the start of the 
string.

Thanks to Dr. Hipp for quoting the exact definition. It looks like this is 
basically the same syntax as the Unix glob(3) function, which is familiar to 
anyone who’s used a Unix shell.

—Jens
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to