Skip to content

Commit 674157e

Browse files
c-thielZENOTME
authored and
ZENOTME
committed
feat: Safer PartitionSpec & SchemalessPartitionSpec (apache#645)
* SchemalessPartitionSpec * Traits -> Enum * Remove PartitionSpec enum * Address comments
1 parent e287264 commit 674157e

File tree

11 files changed

+969
-627
lines changed

11 files changed

+969
-627
lines changed

crates/catalog/memory/src/catalog.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ mod tests {
283283
use std::iter::FromIterator;
284284

285285
use iceberg::io::FileIOBuilder;
286-
use iceberg::spec::{NestedField, PartitionSpec, PrimitiveType, Schema, SortOrder, Type};
286+
use iceberg::spec::{BoundPartitionSpec, NestedField, PrimitiveType, Schema, SortOrder, Type};
287287
use regex::Regex;
288288
use tempfile::TempDir;
289289

@@ -355,7 +355,7 @@ mod tests {
355355

356356
assert_eq!(metadata.current_schema().as_ref(), expected_schema);
357357

358-
let expected_partition_spec = PartitionSpec::builder(expected_schema)
358+
let expected_partition_spec = BoundPartitionSpec::builder((*expected_schema).clone())
359359
.with_spec_id(0)
360360
.build()
361361
.unwrap();
@@ -365,7 +365,7 @@ mod tests {
365365
.partition_specs_iter()
366366
.map(|p| p.as_ref())
367367
.collect_vec(),
368-
vec![&expected_partition_spec]
368+
vec![&expected_partition_spec.into_schemaless()]
369369
);
370370

371371
let expected_sorted_order = SortOrder::builder()

crates/catalog/sql/src/catalog.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,7 @@ mod tests {
781781
use std::hash::Hash;
782782

783783
use iceberg::io::FileIOBuilder;
784-
use iceberg::spec::{NestedField, PartitionSpec, PrimitiveType, Schema, SortOrder, Type};
784+
use iceberg::spec::{BoundPartitionSpec, NestedField, PrimitiveType, Schema, SortOrder, Type};
785785
use iceberg::table::Table;
786786
use iceberg::{Catalog, Namespace, NamespaceIdent, TableCreation, TableIdent};
787787
use itertools::Itertools;
@@ -874,10 +874,11 @@ mod tests {
874874

875875
assert_eq!(metadata.current_schema().as_ref(), expected_schema);
876876

877-
let expected_partition_spec = PartitionSpec::builder(expected_schema)
877+
let expected_partition_spec = BoundPartitionSpec::builder(expected_schema.clone())
878878
.with_spec_id(0)
879879
.build()
880-
.unwrap();
880+
.unwrap()
881+
.into_schemaless();
881882

882883
assert_eq!(
883884
metadata

0 commit comments

Comments
 (0)