Yes.  The GLOB was invented on Unix.  I posted an example of the Unix filename 
globbing (which has not changed, to my knowledge, since the 60's), which works 
exactly the same as the GLOB operator in SQLite 3.9.0 through the current head 
of trunk.  Perhaps there were minor changes, but nothing that affects the 
output of the *[1-9]* or *[^1-9]* patterns when applied to the same data used 
in the Linux demonstration.  However, I did not try and build every single 
version of SQLite between 3.9.0 to 3.17.0 to see if one of them happened to be 
broken.  The two ends and a sampling from the middle all worked the same.

And by the way, GLOB predates REGEX by about 15 years.  REGEX borrowed (and 
modified) GLOB syntax.

(in case you have never used a Linux/Unix system with an ll command alias, the 
command to create it is:  alias ll='ls -l')

Are you ABSOLUTELY SURE that the authors of the third-party tools have not 
provided their own GLOB function that works differently, perhaps in accordance 
with their Dim Sum because their little hearts did not desire the built in one?

> -----Original Message-----
> From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org]
> On Behalf Of Ken Wagner
> Sent: Wednesday, 4 January, 2017 21:24
> To: SQLite mailing list
> Subject: Re: [sqlite] SQLite3 Tutorial error
> 
> Aha! GLOB is an implementation of the UNIX Glob function. It just
> borrows the regex character notation of [^1-9].
> 
> I have 3.15 and 3.16 CLIs installed. Trying any other CLI versions at
> this point won't help for the customer. They will be using a SQLite3
> GUI. I will explain the difference between the CLI and the GUI versions.
> 
> Where is this UNIX Glob notation spelled out? My system is Linux. I
> expect the UNIX version will be somewhat different.
> 
> The Linux GLOB is used to find patterns in pathnames (not databases.) Is
> the Unix version the same?
> 
> Thanks,
> 
> Ken
> 
> On 01/04/2017 11:51 AM, R Smith wrote:
> >
> >
> > On 2017/01/04 7:01 PM, 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.)
> >
> > Quite correct, I meant REGEXP as an internal function of the
> > Regular-expression type, not the official "regular expression" syntax
> > - So a "misleading term" then in your words. Allow me to be more clear
> > then: GLOB in SQLite specifically matches Unix file globbing syntax
> > (which is very different to official RegEx). 3rd party utilities can
> > override both the internal REGEXP and GLOB functions with custom
> > versions.
> > https://sqlite.org/lang_expr.html#glob
> >
> > The bit I don't know for sure is whether Unix file globbing will
> > regard 'AB5' as matching '*[^1-9]*' or not? I know in SQLite it
> > matches (and I believe this to be correct, but I could be mistaken and
> > I don't have a Unix box handy to test).
> >
> > Either way, the concern is more towards consistency than specific
> > operation.
> > The SQLite scripts I sent previously will reveal any difference
> > between versions if they exist. Have you tried it on different
> > versions of the CLI?
> >
> >
> > _______________________________________________
> > 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



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

Reply via email to