feat: implement relation ir
1. Implement columns (with types) and tables as a part of IR. 2. Use serde deserialization trait to build tables from YAML files. It would be also helpful when writing tests for arbitrary plan transformations.
Showing
- Cargo.toml 4 additions, 0 deletionsCargo.toml
- src/errors.rs 15 additions, 3 deletionssrc/errors.rs
- src/ir.rs 1 addition, 0 deletionssrc/ir.rs
- src/ir/relation.rs 244 additions, 0 deletionssrc/ir/relation.rs
- tests/artifactory/ir/relation/table_serialized.yaml 13 additions, 0 deletionstests/artifactory/ir/relation/table_serialized.yaml
- tests/artifactory/ir/relation/table_serialized_duplicate_columns.yaml 10 additions, 0 deletions...ctory/ir/relation/table_serialized_duplicate_columns.yaml
- tests/artifactory/ir/relation/table_serialized_no_columns.yaml 4 additions, 0 deletions.../artifactory/ir/relation/table_serialized_no_columns.yaml
- tests/artifactory/ir/relation/table_serialized_no_sharding_key.yaml 5 additions, 0 deletions...factory/ir/relation/table_serialized_no_sharding_key.yaml
- tests/artifactory/ir/relation/table_serialized_out_of_range_sharding_key.yaml 6 additions, 0 deletions.../relation/table_serialized_out_of_range_sharding_key.yaml
... | @@ -11,8 +11,12 @@ decimal = "2.1.0" | ... | @@ -11,8 +11,12 @@ decimal = "2.1.0" |
tarantool = "0.4.2" | tarantool = "0.4.2" | ||
sqlparser = "0.11.0" | sqlparser = "0.11.0" | ||
serde = { version = "1.0", features = ["derive"] } | serde = { version = "1.0", features = ["derive"] } | ||
serde_yaml = "0.8" | |||
fasthash = "0.4.0" | fasthash = "0.4.0" | ||
yaml-rust = "0.4.1" | yaml-rust = "0.4.1" | ||
[dev-dependencies] | |||
pretty_assertions = "1.0.0" | |||
[lib] | [lib] | ||
crate-type = ["cdylib"] | crate-type = ["cdylib"] |
src/ir/relation.rs
0 → 100644
Please register or sign in to comment