PartiQL Rust
This is a collection of crates to provide Rust support for the PartiQL query language.
The crates in this repository are considered experimental, under active/early development, and APIs are subject to change.
This project uses workspaces to manage the crates in this repository. The partiql crate is intended
to be the crate that exports all the relevant partiql-* sub-crate functionality. It is factored in this way
to make applications needing only some sub-component of the PartiQL implementation possible (e.g. an application
that only requires the PartiQL parser can depend on partiql-parser directly).
Development
This project uses a git submodule to pull in partiql-tests. The easiest way to pull everything in is to clone the repository recursively:
You can also initialize the submodules as follows:
Local CI Checks
To run the same checks that GitHub Actions CI runs locally, you can use the provided Makefile:
# Run all core CI checks (build, test, format, clippy, security)
# Or run individual checks
The ci-check target runs the essential checks that must pass for CI, equivalent to:
&& && && && &&
Note: The deny target requires cargo-deny to be installed:
Running the conformance tests
Running cargo test from the partiql-lang-rust root will not run the conformance tests by default.
To run all the tests (including conformance tests), you will need to run cargo test with the "conformance_test" --features flag:
cargo test --features "conformance_test"
Or to run just the conformance tests:
cargo test --package partiql-conformance-tests --features "conformance_test"
More details on running individual tests can be found in the partiql-conformance-tests crate README.
Security
See CONTRIBUTING for more information.
License
This project is licensed under the Apache-2.0 License.