summaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorGravatar John Cowan 2021-07-26 18:46:38 -0400
committerGravatar Arthur A. Gleckler 2021-07-26 16:10:31 -0700
commit4bf584b5e234248ee4089bfcf8e4c8059a75ba79 (patch)
tree0c3c08e3d7c1970b7d60fe2f0ff2d6d555c0ead7 /Dockerfile
parentexceptions (diff)
paired mutators
Diffstat (limited to 'Dockerfile')
0 files changed, 0 insertions, 0 deletions
vatar/6efbd5bcc7f355e2bb23bd8e26e1d83b?s=13&d=retro' width='13' height='13' alt='Gravatar' /> Peter McGoron 1-15/+1 2021-07-27queryparse: fix NOTGravatar Peter McGoron 1-7/+8 NOT queries are now two-step: the list is queries and then all elements in the cards table that are also in the query are discarded. 2021-07-26add command line option for searchGravatar Peter McGoron 2-12/+28 As of right now NOT queries do not work correctly for cards with more than one tag. 2021-07-26natargs: add missing importGravatar Peter McGoron 1-0/+2 2021-07-26queryparse: remove literal setGravatar Peter McGoron 2-17/+14 2021-07-26queryparse: add function to build SQL queriesGravatar Peter McGoron 2-1/+73 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