Richard Newman
997df0b776
Part 1: introduce ColumnIntersection and ColumnAlternation.
...
This provides a limited form of OR and AND for column constraints, allowing
simple 'or-join' queries to be expressed on a single table alias.
2017-03-30 19:13:19 -07:00
Richard Newman
88df7b3b33
Correctly generate DISTINCT and LIMIT. ( #386 ) r=nalexander
2017-03-22 14:02:00 -07:00
Richard Newman
97749833d0
Algebrize and translate numeric constraints. ( #306 ) r=nalexander
2017-03-22 10:19:47 -07:00
Richard Newman
bf38105fef
( #362 ) Part 4: handle unknown attributes by expanding type codes. r=nalexander
...
Also, don't run any SQL at all if an algebrized query is known to return no results.
2017-03-08 17:44:27 -08:00
Richard Newman
1961815acd
Pre: add an interpose macro for SQL output.
2017-03-08 17:41:50 -08:00
Richard Newman
e898df8842
Implement basic query limits. ( #361 ) r=nalexander
2017-03-08 17:41:42 -08:00
Richard Newman
70b112801c
Implement projection and querying. ( #353 ) r=nalexander
...
* Add a failing test for EDN parsing '…'.
* Expose a SQLValueType trait to get value_type_tag values out of a ValueType.
* Add accessors to FindSpec.
* Implement querying.
* Implement rudimentary projection.
* Export mentat_db::new_connection.
* Export symbols from mentat.
* Add rudimentary end-to-end query tests.
2017-03-06 14:40:10 -08:00