From c88a6efac3d2c1b7fd6ec646a64d91fe5f2bd77c Mon Sep 17 00:00:00 2001 From: Christian Thiel Date: Fri, 30 Aug 2024 13:21:59 +0200 Subject: [PATCH] Fix tests --- crates/catalog/glue/src/schema.rs | 74 +++++++++---------- crates/catalog/glue/src/utils.rs | 6 +- crates/catalog/memory/src/catalog.rs | 2 +- .../src/spec/table_metadata_builder.rs | 1 - 4 files changed, 41 insertions(+), 42 deletions(-) diff --git a/crates/catalog/glue/src/schema.rs b/crates/catalog/glue/src/schema.rs index 1b490d13d..06de1e307 100644 --- a/crates/catalog/glue/src/schema.rs +++ b/crates/catalog/glue/src/schema.rs @@ -229,82 +229,82 @@ mod tests { fn test_schema_with_simple_fields() -> Result<()> { let record = r#"{ "type": "struct", - "schema-id": 1, + "schema-id": 0, "fields": [ { - "id": 1, + "id": 0, "name": "c1", "required": true, "type": "boolean" }, { - "id": 2, + "id": 1, "name": "c2", "required": true, "type": "int" }, { - "id": 3, + "id": 2, "name": "c3", "required": true, "type": "long" }, { - "id": 4, + "id": 3, "name": "c4", "required": true, "type": "float" }, { - "id": 5, + "id": 4, "name": "c5", "required": true, "type": "double" }, { - "id": 6, + "id": 5, "name": "c6", "required": true, "type": "decimal(2,2)" }, { - "id": 7, + "id": 6, "name": "c7", "required": true, "type": "date" }, { - "id": 8, + "id": 7, "name": "c8", "required": true, "type": "time" }, { - "id": 9, + "id": 8, "name": "c9", "required": true, "type": "timestamp" }, { - "id": 10, + "id": 9, "name": "c10", "required": true, "type": "string" }, { - "id": 11, + "id": 10, "name": "c11", "required": true, "type": "uuid" }, { - "id": 12, + "id": 11, "name": "c12", "required": true, "type": "fixed[4]" }, { - "id": 13, + "id": 12, "name": "c13", "required": true, "type": "binary" @@ -318,19 +318,19 @@ mod tests { let result = GlueSchemaBuilder::from_iceberg(&metadata)?.build(); let expected = vec![ - create_column("c1", "boolean", "1")?, - create_column("c2", "int", "2")?, - create_column("c3", "bigint", "3")?, - create_column("c4", "float", "4")?, - create_column("c5", "double", "5")?, - create_column("c6", "decimal(2,2)", "6")?, - create_column("c7", "date", "7")?, - create_column("c8", "string", "8")?, - create_column("c9", "timestamp", "9")?, - create_column("c10", "string", "10")?, - create_column("c11", "string", "11")?, - create_column("c12", "binary", "12")?, - create_column("c13", "binary", "13")?, + create_column("c1", "boolean", "0")?, + create_column("c2", "int", "1")?, + create_column("c3", "bigint", "2")?, + create_column("c4", "float", "3")?, + create_column("c5", "double", "4")?, + create_column("c6", "decimal(2,2)", "5")?, + create_column("c7", "date", "6")?, + create_column("c8", "string", "7")?, + create_column("c9", "timestamp", "8")?, + create_column("c10", "string", "9")?, + create_column("c11", "string", "10")?, + create_column("c12", "binary", "11")?, + create_column("c13", "binary", "12")?, ]; assert_eq!(result, expected); @@ -345,7 +345,7 @@ mod tests { "schema-id": 1, "fields": [ { - "id": 1, + "id": 0, "name": "person", "required": true, "type": { @@ -377,7 +377,7 @@ mod tests { let expected = vec![create_column( "person", "struct", - "1", + "0", )?]; assert_eq!(result, expected); @@ -393,7 +393,7 @@ mod tests { "type": "struct", "fields": [ { - "id": 1, + "id": 0, "name": "location", "required": true, "type": { @@ -431,7 +431,7 @@ mod tests { let expected = vec![create_column( "location", "array>", - "1", + "0", )?]; assert_eq!(result, expected); @@ -447,20 +447,20 @@ mod tests { "type": "struct", "fields": [ { - "id": 1, + "id": 0, "name": "quux", "required": true, "type": { "type": "map", - "key-id": 2, + "key-id": 1, "key": "string", - "value-id": 3, + "value-id": 2, "value-required": true, "value": { "type": "map", - "key-id": 4, + "key-id": 3, "key": "string", - "value-id": 5, + "value-id": 4, "value-required": true, "value": "int" } @@ -475,7 +475,7 @@ mod tests { let result = GlueSchemaBuilder::from_iceberg(&metadata)?.build(); - let expected = vec![create_column("quux", "map>", "1")?]; + let expected = vec![create_column("quux", "map>", "0")?]; assert_eq!(result, expected); diff --git a/crates/catalog/glue/src/utils.rs b/crates/catalog/glue/src/utils.rs index c43af500b..085d68f1e 100644 --- a/crates/catalog/glue/src/utils.rs +++ b/crates/catalog/glue/src/utils.rs @@ -335,9 +335,9 @@ mod tests { let metadata_location = create_metadata_location(location.clone(), 0)?; let properties = HashMap::new(); let schema = Schema::builder() - .with_schema_id(1) + .with_schema_id(0) .with_fields(vec![NestedField::required( - 1, + 0, "foo", Type::Primitive(PrimitiveType::Int), ) @@ -347,7 +347,7 @@ mod tests { let metadata = create_metadata(schema)?; let parameters = HashMap::from([ - (ICEBERG_FIELD_ID.to_string(), "1".to_string()), + (ICEBERG_FIELD_ID.to_string(), "0".to_string()), (ICEBERG_FIELD_OPTIONAL.to_string(), "true".to_string()), (ICEBERG_FIELD_CURRENT.to_string(), "true".to_string()), ]); diff --git a/crates/catalog/memory/src/catalog.rs b/crates/catalog/memory/src/catalog.rs index aaf6f2e9a..a5555be0c 100644 --- a/crates/catalog/memory/src/catalog.rs +++ b/crates/catalog/memory/src/catalog.rs @@ -322,7 +322,7 @@ mod tests { fn simple_table_schema() -> Schema { Schema::builder() .with_fields(vec![NestedField::required( - 1, + 0, "foo", Type::Primitive(PrimitiveType::Int), ) diff --git a/crates/iceberg/src/spec/table_metadata_builder.rs b/crates/iceberg/src/spec/table_metadata_builder.rs index 56e7b978a..4eb999ac5 100644 --- a/crates/iceberg/src/spec/table_metadata_builder.rs +++ b/crates/iceberg/src/spec/table_metadata_builder.rs @@ -524,7 +524,6 @@ impl TableMetadataBuilder { // Thus, replaying the changes, would lead to a different result if a schema is added twice in unfavorable // conditions. // Here we do it differently, but a check from a Java maintainer would be nice. - if self.last_added_schema_id != Some(new_schema_id) { self.changes.push(TableUpdate::AddSchema { last_column_id: Some(self.metadata.last_column_id),