Skip to content

Commit 9562d22

Browse files
committed
Traits -> Enum
1 parent 002a0c3 commit 9562d22

File tree

9 files changed

+202
-253
lines changed

9 files changed

+202
-253
lines changed

crates/catalog/memory/src/catalog.rs

Lines changed: 2 additions & 2 deletions
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).clone())
358+
let expected_partition_spec = BoundPartitionSpec::builder((*expected_schema).clone())
359359
.with_spec_id(0)
360360
.build()
361361
.unwrap();

crates/catalog/sql/src/catalog.rs

Lines changed: 4 additions & 3 deletions
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

crates/iceberg/src/expr/visitors/expression_evaluator.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -258,12 +258,13 @@ mod tests {
258258
UnaryExpression,
259259
};
260260
use crate::spec::{
261-
DataContentType, DataFile, DataFileFormat, Datum, Literal, NestedField, PartitionSpec,
262-
PartitionSpecRef, PrimitiveType, Schema, Struct, Transform, Type, UnboundPartitionField,
261+
BoundPartitionSpec, BoundPartitionSpecRef, DataContentType, DataFile, DataFileFormat,
262+
Datum, Literal, NestedField, PrimitiveType, Schema, Struct, Transform, Type,
263+
UnboundPartitionField,
263264
};
264265
use crate::Result;
265266

266-
fn create_partition_spec(r#type: PrimitiveType) -> Result<PartitionSpecRef> {
267+
fn create_partition_spec(r#type: PrimitiveType) -> Result<BoundPartitionSpecRef> {
267268
let schema = Schema::builder()
268269
.with_fields(vec![Arc::new(NestedField::optional(
269270
1,
@@ -272,7 +273,7 @@ mod tests {
272273
))])
273274
.build()?;
274275

275-
let spec = PartitionSpec::builder(schema.clone())
276+
let spec = BoundPartitionSpec::builder(schema.clone())
276277
.with_spec_id(1)
277278
.add_unbound_fields(vec![UnboundPartitionField::builder()
278279
.source_id(1)
@@ -288,7 +289,7 @@ mod tests {
288289
}
289290

290291
fn create_partition_filter(
291-
partition_spec: PartitionSpecRef,
292+
partition_spec: BoundPartitionSpecRef,
292293
predicate: &BoundPredicate,
293294
case_sensitive: bool,
294295
) -> Result<BoundPredicate> {
@@ -312,7 +313,7 @@ mod tests {
312313
}
313314

314315
fn create_expression_evaluator(
315-
partition_spec: PartitionSpecRef,
316+
partition_spec: BoundPartitionSpecRef,
316317
predicate: &BoundPredicate,
317318
case_sensitive: bool,
318319
) -> Result<ExpressionEvaluator> {

crates/iceberg/src/expr/visitors/inclusive_metrics_evaluator.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ mod test {
495495
UnaryExpression,
496496
};
497497
use crate::spec::{
498-
DataContentType, DataFile, DataFileFormat, Datum, NestedField, PartitionSpec,
498+
BoundPartitionSpec, DataContentType, DataFile, DataFileFormat, Datum, NestedField,
499499
PrimitiveType, Schema, Struct, Transform, Type, UnboundPartitionField,
500500
};
501501

@@ -1645,7 +1645,7 @@ mod test {
16451645
assert!(result, "Should read: NotIn on no nulls column");
16461646
}
16471647

1648-
fn create_test_partition_spec() -> Arc<PartitionSpec> {
1648+
fn create_test_partition_spec() -> Arc<BoundPartitionSpec> {
16491649
let table_schema = Schema::builder()
16501650
.with_fields(vec![Arc::new(NestedField::optional(
16511651
1,
@@ -1656,7 +1656,7 @@ mod test {
16561656
.unwrap();
16571657
let table_schema_ref = Arc::new(table_schema);
16581658

1659-
let partition_spec = PartitionSpec::builder(table_schema_ref.clone())
1659+
let partition_spec = BoundPartitionSpec::builder(table_schema_ref.clone())
16601660
.with_spec_id(1)
16611661
.add_unbound_fields(vec![UnboundPartitionField::builder()
16621662
.source_id(1)

crates/iceberg/src/expr/visitors/inclusive_projection.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ mod tests {
235235
use crate::expr::visitors::inclusive_projection::InclusiveProjection;
236236
use crate::expr::{Bind, Predicate, Reference};
237237
use crate::spec::{
238-
Datum, NestedField, PartitionSpec, PrimitiveType, Schema, Transform, Type,
238+
BoundPartitionSpec, Datum, NestedField, PrimitiveType, Schema, Transform, Type,
239239
UnboundPartitionField,
240240
};
241241

@@ -267,7 +267,7 @@ mod tests {
267267
let schema = build_test_schema();
268268
let arc_schema = Arc::new(schema);
269269

270-
let partition_spec = PartitionSpec::builder(arc_schema.clone())
270+
let partition_spec = BoundPartitionSpec::builder(arc_schema.clone())
271271
.with_spec_id(1)
272272
.build()
273273
.unwrap()
@@ -298,7 +298,7 @@ mod tests {
298298
let schema = build_test_schema();
299299
let arc_schema = Arc::new(schema);
300300

301-
let partition_spec = PartitionSpec::builder(arc_schema.clone())
301+
let partition_spec = BoundPartitionSpec::builder(arc_schema.clone())
302302
.with_spec_id(1)
303303
.add_unbound_field(
304304
UnboundPartitionField::builder()
@@ -336,7 +336,7 @@ mod tests {
336336
let schema = build_test_schema();
337337
let arc_schema = Arc::new(schema);
338338

339-
let partition_spec = PartitionSpec::builder(arc_schema.clone())
339+
let partition_spec = BoundPartitionSpec::builder(arc_schema.clone())
340340
.with_spec_id(1)
341341
.add_unbound_fields(vec![UnboundPartitionField {
342342
source_id: 2,
@@ -372,7 +372,7 @@ mod tests {
372372
let schema = build_test_schema();
373373
let arc_schema = Arc::new(schema);
374374

375-
let partition_spec = PartitionSpec::builder(arc_schema.clone())
375+
let partition_spec = BoundPartitionSpec::builder(arc_schema.clone())
376376
.with_spec_id(1)
377377
.add_unbound_fields(vec![UnboundPartitionField {
378378
source_id: 2,
@@ -408,7 +408,7 @@ mod tests {
408408
let schema = build_test_schema();
409409
let arc_schema = Arc::new(schema);
410410

411-
let partition_spec = PartitionSpec::builder(arc_schema.clone())
411+
let partition_spec = BoundPartitionSpec::builder(arc_schema.clone())
412412
.with_spec_id(1)
413413
.add_unbound_fields(vec![UnboundPartitionField {
414414
source_id: 2,
@@ -444,7 +444,7 @@ mod tests {
444444
let schema = build_test_schema();
445445
let arc_schema = Arc::new(schema);
446446

447-
let partition_spec = PartitionSpec::builder(arc_schema.clone())
447+
let partition_spec = BoundPartitionSpec::builder(arc_schema.clone())
448448
.with_spec_id(1)
449449
.add_unbound_field(
450450
UnboundPartitionField::builder()
@@ -485,7 +485,7 @@ mod tests {
485485
let schema = build_test_schema();
486486
let arc_schema = Arc::new(schema);
487487

488-
let partition_spec = PartitionSpec::builder(arc_schema.clone())
488+
let partition_spec = BoundPartitionSpec::builder(arc_schema.clone())
489489
.with_spec_id(1)
490490
.add_unbound_field(
491491
UnboundPartitionField::builder()

crates/iceberg/src/spec/manifest.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ use typed_builder::TypedBuilder;
3030

3131
use self::_const_schema::{manifest_schema_v1, manifest_schema_v2};
3232
use super::{
33-
Datum, FieldSummary, FormatVersion, ManifestContentType, ManifestFile, PartitionSpec, Schema,
34-
SchemaId, SchemaRef, Struct, INITIAL_SEQUENCE_NUMBER, UNASSIGNED_SEQUENCE_NUMBER,
33+
BoundPartitionSpec, Datum, FieldSummary, FormatVersion, ManifestContentType, ManifestFile,
34+
Schema, SchemaId, SchemaRef, Struct, INITIAL_SEQUENCE_NUMBER, UNASSIGNED_SEQUENCE_NUMBER,
3535
};
3636
use crate::error::Result;
3737
use crate::io::OutputFile;
@@ -706,7 +706,7 @@ pub struct ManifestMetadata {
706706
/// ID of the schema used to write the manifest as a string
707707
schema_id: SchemaId,
708708
/// The partition spec used to write the manifest
709-
partition_spec: PartitionSpec,
709+
partition_spec: BoundPartitionSpec,
710710
/// Table format version number of the manifest as a string
711711
format_version: FormatVersion,
712712
/// Type of content files tracked by the manifest: “data” or “deletes”
@@ -773,7 +773,7 @@ impl ManifestMetadata {
773773
})
774774
.transpose()?
775775
.unwrap_or(0);
776-
PartitionSpec::builder(schema.clone())
776+
BoundPartitionSpec::builder(schema.clone())
777777
.with_spec_id(spec_id)
778778
.add_unbound_fields(fields.into_iter().map(|f| f.into_unbound()))?
779779
.build()?
@@ -1594,7 +1594,7 @@ mod tests {
15941594
metadata: ManifestMetadata {
15951595
schema_id: 0,
15961596
schema: schema.clone(),
1597-
partition_spec: PartitionSpec::builder(schema).with_spec_id(0).build().unwrap(),
1597+
partition_spec: BoundPartitionSpec::builder(schema).with_spec_id(0).build().unwrap(),
15981598
content: ManifestContentType::Data,
15991599
format_version: FormatVersion::V2,
16001600
},
@@ -1707,7 +1707,7 @@ mod tests {
17071707
metadata: ManifestMetadata {
17081708
schema_id: 0,
17091709
schema: schema.clone(),
1710-
partition_spec: PartitionSpec::builder(schema)
1710+
partition_spec: BoundPartitionSpec::builder(schema)
17111711
.with_spec_id(0).add_partition_field("v_int", "v_int", Transform::Identity).unwrap()
17121712
.add_partition_field("v_long", "v_long", Transform::Identity).unwrap().build().unwrap(),
17131713
content: ManifestContentType::Data,
@@ -1818,7 +1818,7 @@ mod tests {
18181818
metadata: ManifestMetadata {
18191819
schema_id: 1,
18201820
schema: schema.clone(),
1821-
partition_spec: PartitionSpec::builder(schema).with_spec_id(0).build().unwrap(),
1821+
partition_spec: BoundPartitionSpec::builder(schema).with_spec_id(0).build().unwrap(),
18221822
content: ManifestContentType::Data,
18231823
format_version: FormatVersion::V1,
18241824
},
@@ -1882,7 +1882,7 @@ mod tests {
18821882
metadata: ManifestMetadata {
18831883
schema_id: 0,
18841884
schema: schema.clone(),
1885-
partition_spec: PartitionSpec::builder(schema).add_partition_field("category", "category", Transform::Identity).unwrap().build().unwrap(),
1885+
partition_spec: BoundPartitionSpec::builder(schema).add_partition_field("category", "category", Transform::Identity).unwrap().build().unwrap(),
18861886
content: ManifestContentType::Data,
18871887
format_version: FormatVersion::V1,
18881888
},
@@ -1961,7 +1961,7 @@ mod tests {
19611961
metadata: ManifestMetadata {
19621962
schema_id: 0,
19631963
schema: schema.clone(),
1964-
partition_spec: PartitionSpec::builder(schema).with_spec_id(0).build().unwrap(),
1964+
partition_spec: BoundPartitionSpec::builder(schema).with_spec_id(0).build().unwrap(),
19651965
content: ManifestContentType::Data,
19661966
format_version: FormatVersion::V2,
19671967
},
@@ -2033,7 +2033,7 @@ mod tests {
20332033
metadata: ManifestMetadata {
20342034
schema_id: 0,
20352035
schema: schema.clone(),
2036-
partition_spec: PartitionSpec::builder(schema).with_spec_id(0).build().unwrap(),
2036+
partition_spec: BoundPartitionSpec::builder(schema).with_spec_id(0).build().unwrap(),
20372037
content: ManifestContentType::Data,
20382038
format_version: FormatVersion::V2,
20392039
},

0 commit comments

Comments
 (0)