mentat/query-projector
Richard Newman 3dc68bcd38 Combine NamespacedKeyword and Keyword. (#689) r=nalexander
* Make properties on NamespacedKeyword/NamespacedSymbol private

* Use only a single String for NamespacedKeyword/NamespacedSymbol

* Review comments.

* Remove unsafe code in namespaced_name.

Benchmarking shows approximately zero change.

* Allow the types of ns and name to differ when constructing a NamespacedName.

* Make symbol namespaces optional.

* Normalize names of keyword/symbol constructors.

This will make the subsequent refactor much less painful.

* Use expect not unwrap.

* Merge Keyword and NamespacedKeyword.
2018-05-11 09:52:17 -07:00
..
src Combine NamespacedKeyword and Keyword. (#689) r=nalexander 2018-05-11 09:52:17 -07:00
tests Combine NamespacedKeyword and Keyword. (#689) r=nalexander 2018-05-11 09:52:17 -07:00
Cargo.toml Implement simple pull expressions (#638) r=nalexander 2018-05-04 12:56:00 -07:00
README.md Implement projection and querying. (#353) r=nalexander 2017-03-06 14:40:10 -08:00

This module handles the derivation from an algebrized query of two things:

  • A SQL projection: a mapping from columns mentioned in the body of the query to columns in the output.
  • A Datalog projection: a function that consumes rows of the appropriate shape (as defined by the SQL projection) to yield one of the four kinds of Datalog query result.

These two must naturally coordinate, and so they are both produced here.