Ion Integration in PartiQL Rust implementation

I recently started exploring PartiQL for use within a FoundationDB layer that I am currently developing.

In the PartiQL spec, on Page 6, following is mentioned.

PartiQL’s data model extends SQL to Ion’s type system to cover schema-less and nested data.

As I was exploring partiql_value::Value type, I noticed it does not directly use Ion types. Instead there is partiql-extension-ion crate that converts Ion values into PartiQL values and vice-versa.

For my use-case, I won’t be using ion-rs. Instead I’ll need to adapt two type systems to partiql_value::Value.

  1. FDB Tuple Layer Elements
  2. Protobuf Values

I like the current approach of keeping ion-rs and partiql-value independent. I was wondering if this was a deliberate design choice and something that you expect would be carried forward as the PartiQL Rust implementation evolves?

Hey @rajivr,

Glad to hear about your interest in our Rust implementation! As far as I know we are looking to keep ion-rs and partiql-value independent/decoupled. It was intentional to create the partiql-extension-ion crate to store the functions to convert to Ion values from partiql-value and vice-versa. We expect this to be carried forward as we continue working on the PartiQL Rust implementation.

Should something change, this will be documented in our CHANGELOG.

FYI, in the near future, we are looking to move our PartiQL discussions to GitHub Discussions rather than use community.partiql.org. Feel free to ask any PartiQL-related questions on that forum.