aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/query/optimizer.go
AgeCommit message (Collapse)Author
2025-11-21Update documentation, comments, and tidy codebaseJP Appel
2025-08-10Change approximate statmenets to use sqlite MATCH operatorJP Appel
2025-07-28Add regex operatorJP Appel
Implemented regex operator using go flavored regular expressions. Added optimization to combine regex's in `OR` clauses.
2025-06-30Implement compiled query executionJP Appel
2025-06-28Add leveld optimization wrapperJP Appel
2025-06-26Move category and operator iteratorsJP Appel
2025-06-24Add tests and fix minor bugs for optimizierJP Appel
2025-06-19Add multiple clause and tree level optimizationsJP Appel
Implement optimizations that can be called in parallel or serial. Optimizations occur mostly in place and result in a logically equivalent tree when used correctly. Optimizations ============= * Sort - sort all statements within a clause tree * Simplify - apply negation rules to all statements * Flatten - merge child clauses with parents * Compact - merge equivalent statements * Tidy^ - remove zero statements * Contradictions - zero contradicting statements and clauses * StrictEquality - zero fuzzy statements when exact statements are within clause * Tighten - combine multiple fuzzy statements to the least (AND) or most (OR) restrictive bounds ^: when used incorrectly can turn an invalid clause tree into a valid one
2025-06-15Add query optimizerJP Appel
2025-06-14Move clause tree optimizationsJP Appel