aboutsummaryrefslogtreecommitdiffstats
path: root/test (follow)
Commit message (Collapse)AuthorAgeFilesLines
* queryparse: remove literal setGravatar Peter McGoron 2021-07-261-2/+1
|
* queryparse: add function to build SQL queriesGravatar Peter McGoron 2021-07-261-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SQLite allows for UNIONs and INTERSECTIONs between SELECT statements, but it does not support grouping them. By recursively applying DeMorgan's laws, the parser can reduce the parse tree to only * Literals * NOT literals (i.e. "all items not belonging to this tag") * ANDs * ORs What SQLite /can/ do is have SELECT statements come from other SELECT statements. A query like (X & Y & Z) | (A & B & C) in pseudo-SQLite becomes SELECT * FROM ( SELECT * FROM tbl WHERE name IN X INTERSECTION SELECT * FROM tbl WHERE name IN Y INTERSECTION SELECT * FROM tbl WHERE name IN Z ) UNION SELECT * FROM ( SELECT * FROM tbl WHERE name IN A INTERSECTION SELECT * FROM tbl WHERE name IN B INTERSECTION SELECT * FROM tbl WHERE name IN C ) One future optimization would be to group all literals at a certain level with each other, so that there are less direct queries to the entire tag table.
* queryparse: use demorgan's laws to simplify parsed expressionGravatar Peter McGoron 2021-07-261-0/+1
|
* queryparse: collect literals into set and return itGravatar Peter McGoron 2021-07-261-3/+7
|
* queryparse: fix tagglob and titleglob, fix encapsulating literalsGravatar Peter McGoron 2021-07-261-0/+2
|
* queryparse: fix infinite recursion in '[' e1 ']'Gravatar Peter McGoron 2021-07-261-0/+1
|
* queryparse: fix error in returning from NOTGravatar Peter McGoron 2021-07-261-0/+2
|
* queryparse: fix mistaken command in ANDGravatar Peter McGoron 2021-07-261-0/+1
|
* start query parserGravatar Peter McGoron 2021-07-261-0/+10
+4 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@23 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-05Add userdata functions.Gravatar aeb 3-0/+18 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@22 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Bump version number to 0.6.Gravatar aeb 3-5/+6 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@21 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Mention byte order change.Gravatar aeb 1-0/+2 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@20 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Mention SourceForge home.Gravatar aeb 1-1/+5 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@19 53a565d1-3bb7-0310-b661-cf11e63c67ab