Skip to content

Commit

Permalink
fix: handle version number field renames substrait-io/substrait#362
Browse files Browse the repository at this point in the history
  • Loading branch information
mbrobbel committed Nov 2, 2022
1 parent c084abe commit 814beb1
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 29 deletions.
12 changes: 9 additions & 3 deletions rs/src/parse/plan.rs
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,15 @@ fn parse_producer_id(x: &String, y: &mut context::Context) -> diagnostic::Result
/// Parse a version node.
fn parse_version(x: &substrait::Version, y: &mut context::Context) -> diagnostic::Result<()> {
// Parse the version information.
let major = proto_primitive_field!(x, y, major).1.unwrap_or_default() as u64;
let minor = proto_primitive_field!(x, y, minor).1.unwrap_or_default() as u64;
let patch = proto_primitive_field!(x, y, patch).1.unwrap_or_default() as u64;
let major = proto_primitive_field!(x, y, major_number)
.1
.unwrap_or_default() as u64;
let minor = proto_primitive_field!(x, y, minor_number)
.1
.unwrap_or_default() as u64;
let patch = proto_primitive_field!(x, y, patch_number)
.1
.unwrap_or_default() as u64;
let version = semver::Version::new(major, minor, patch);
if version == semver::Version::new(0, 0, 0) {
diagnostic!(y, Error, Versioning, "invalid plan version (0.0.0)");
Expand Down
2 changes: 1 addition & 1 deletion rs/src/resources/substrait-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.18.0
0.18.0-2-g4170bf1
2 changes: 1 addition & 1 deletion substrait
8 changes: 4 additions & 4 deletions tests/tests/version/current-version.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: version-current
diags:
- { code: 0007, min: e } # Make all versioning messages errors; there shouldn't be any
- { code: 5001, max: i } # Disable missing root relation diag
- { code: 0007, min: e } # Make all versioning messages errors; there shouldn't be any
- { code: 5001, max: i } # Disable missing root relation diag
plan:
__test:
- level: i
- level: i
version:
minor: 18
minorNumber: 18
producer: validator-test
10 changes: 5 additions & 5 deletions tests/tests/version/incompatible-version.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: version-incompatible
diags:
- { code: 0007 } # Disable the default override for versioning diags
- { code: 5001, max: i } # Disable missing root relation diag
- { code: 0007 } # Disable the default override for versioning diags
- { code: 5001, max: i } # Disable missing root relation diag
plan:
__test:
- level: i
- level: i
version:
major: 1
majorNumber: 1
producer: validator-test
__test: [ diag: { level: w, code: 0007, msg: "*version*is not compatible*" } ]
__test: [diag: { level: w, code: 0007, msg: "*version*is not compatible*" }]
15 changes: 10 additions & 5 deletions tests/tests/version/invalid-hash.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
name: version-invalid-hash
diags:
- { code: 0007 } # Disable the default override for versioning diags
- { code: 5001, max: i } # Disable missing root relation diag
- { code: 0007 } # Disable the default override for versioning diags
- { code: 5001, max: i } # Disable missing root relation diag
plan:
__test:
- level: iw
- level: iw
version:
minor: 1
minorNumber: 1
gitHash: foobar
gitHash__test:
- diag: { level: e, code: 0002, msg: "*40-character lowercase hexadecimal string*" }
- diag:
{
level: e,
code: 0002,
msg: "*40-character lowercase hexadecimal string*",
}
producer: validator-test
18 changes: 13 additions & 5 deletions tests/tests/version/unknown-version.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
name: version-unknown
diags:
- { code: 0007 } # Disable the default override for versioning diags
- { code: 5001, max: i } # Disable missing root relation diag
- { code: 0007 } # Disable the default override for versioning diags
- { code: 5001, max: i } # Disable missing root relation diag
plan:
__test:
- level: i
- level: i
version:
minor: 1
minorNumber: 1
producer: validator-test
__test: [ diag: { level: w, code: 0007, msg: "*cannot automatically determine*compat*" } ]
__test:
[
diag:
{
level: w,
code: 0007,
msg: "*cannot automatically determine*compat*",
},
]
10 changes: 5 additions & 5 deletions tests/tests/version/valid-hash.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: version-valid-hash
diags:
- { code: 0007 } # Disable the default override for versioning diags
- { code: 5001, max: i } # Disable missing root relation diag
- { code: 0007 } # Disable the default override for versioning diags
- { code: 5001, max: i } # Disable missing root relation diag
plan:
__test:
- level: iw
- level: iw
version:
minor: 1
minorNumber: 1
gitHash: "0123456789012345678901234567890123456789"
gitHash__test:
- diag: { level: w, code: 0007, msg: "*git hash was specified*" }
- diag: { level: w, code: 0007, msg: "*git hash was specified*" }
producer: validator-test

0 comments on commit 814beb1

Please sign in to comment.