summaryrefslogtreecommitdiffstats
path: root/Makefile.am (follow)
Commit message (Expand)AuthorAgeFilesLines
* Moved testlibraw.c from src to tools directory.Gravatar aeb 2001-06-081-1/+1
* Handle generation number is not automatically advanced with bus reset.Gravatar aeb 2001-05-141-0/+13
* Fix Makefile.am to include libraw1394.m4 in distribution.Gravatar aeb 2001-05-071-0/+2
* Install libraw1394.am.Gravatar aeb 2001-02-281-7/+9
* testlibraw gets installed now.Gravatar aeb 2001-02-281-1/+1
* Bump version number to 0.6.Gravatar aeb 2000-03-181-3/+1
* Added dev target to MakefileGravatar abombe 2000-01-021-0/+24
* Initial revisionGravatar abombe 1999-12-021-0/+5
colspan='5' class='logmsg'> 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. 2021-07-26queryparse: use demorgan's laws to simplify parsed expressionGravatar Peter McGoron 2-1/+17 2021-07-26update README.mdGravatar Peter McGoron 1-0/+10 2021-07-26queryparse: collect literals into set and return itGravatar Peter McGoron 2-16/+22 2021-07-26gitea wants .md suffixes for web renderingGravatar Peter McGoron 2-0/+0 2021-07-26example/query.md: change to what the code actually implementsGravatar Peter McGoron 1-3/+3