Skip to content

Commit 6dec7ef

Browse files
marc-pydanticadriangb
authored andcommitted
Serialize partitioned_by_file_group in FileScanExecConf protobuf
1 parent d89176c commit 6dec7ef

5 files changed

Lines changed: 23 additions & 0 deletions

File tree

datafusion/proto-models/proto/datafusion.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1120,6 +1120,7 @@ message FileScanExecConf {
11201120
optional uint64 batch_size = 12;
11211121

11221122
optional ProjectionExprs projection_exprs = 13;
1123+
optional bool partitioned_by_file_group = 14;
11231124
}
11241125

11251126
message ParquetScanExecNode {

datafusion/proto-models/src/generated/pbjson.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6848,6 +6848,9 @@ impl serde::Serialize for FileScanExecConf {
68486848
if self.projection_exprs.is_some() {
68496849
len += 1;
68506850
}
6851+
if self.partitioned_by_file_group.is_some() {
6852+
len += 1;
6853+
}
68516854
let mut struct_ser = serializer.serialize_struct("datafusion.FileScanExecConf", len)?;
68526855
if !self.file_groups.is_empty() {
68536856
struct_ser.serialize_field("fileGroups", &self.file_groups)?;
@@ -6884,6 +6887,9 @@ impl serde::Serialize for FileScanExecConf {
68846887
if let Some(v) = self.projection_exprs.as_ref() {
68856888
struct_ser.serialize_field("projectionExprs", v)?;
68866889
}
6890+
if let Some(v) = self.partitioned_by_file_group.as_ref() {
6891+
struct_ser.serialize_field("partitionedByFileGroup", v)?;
6892+
}
68876893
struct_ser.end()
68886894
}
68896895
}
@@ -6911,6 +6917,8 @@ impl<'de> serde::Deserialize<'de> for FileScanExecConf {
69116917
"batchSize",
69126918
"projection_exprs",
69136919
"projectionExprs",
6920+
"partitioned_by_file_group",
6921+
"partitionedByFileGroup",
69146922
];
69156923

69166924
#[allow(clippy::enum_variant_names)]
@@ -6926,6 +6934,7 @@ impl<'de> serde::Deserialize<'de> for FileScanExecConf {
69266934
Constraints,
69276935
BatchSize,
69286936
ProjectionExprs,
6937+
PartitionedByFileGroup,
69296938
}
69306939
impl<'de> serde::Deserialize<'de> for GeneratedField {
69316940
fn deserialize<D>(deserializer: D) -> std::result::Result<GeneratedField, D::Error>
@@ -6958,6 +6967,7 @@ impl<'de> serde::Deserialize<'de> for FileScanExecConf {
69586967
"constraints" => Ok(GeneratedField::Constraints),
69596968
"batchSize" | "batch_size" => Ok(GeneratedField::BatchSize),
69606969
"projectionExprs" | "projection_exprs" => Ok(GeneratedField::ProjectionExprs),
6970+
"partitionedByFileGroup" | "partitioned_by_file_group" => Ok(GeneratedField::PartitionedByFileGroup),
69616971
_ => Err(serde::de::Error::unknown_field(value, FIELDS)),
69626972
}
69636973
}
@@ -6988,6 +6998,7 @@ impl<'de> serde::Deserialize<'de> for FileScanExecConf {
69886998
let mut constraints__ = None;
69896999
let mut batch_size__ = None;
69907000
let mut projection_exprs__ = None;
7001+
let mut partitioned_by_file_group__ = None;
69917002
while let Some(k) = map_.next_key()? {
69927003
match k {
69937004
GeneratedField::FileGroups => {
@@ -7061,6 +7072,12 @@ impl<'de> serde::Deserialize<'de> for FileScanExecConf {
70617072
}
70627073
projection_exprs__ = map_.next_value()?;
70637074
}
7075+
GeneratedField::PartitionedByFileGroup => {
7076+
if partitioned_by_file_group__.is_some() {
7077+
return Err(serde::de::Error::duplicate_field("partitionedByFileGroup"));
7078+
}
7079+
partitioned_by_file_group__ = map_.next_value()?;
7080+
}
70647081
}
70657082
}
70667083
Ok(FileScanExecConf {
@@ -7075,6 +7092,7 @@ impl<'de> serde::Deserialize<'de> for FileScanExecConf {
70757092
constraints: constraints__,
70767093
batch_size: batch_size__,
70777094
projection_exprs: projection_exprs__,
7095+
partitioned_by_file_group: partitioned_by_file_group__,
70787096
})
70797097
}
70807098
}

datafusion/proto-models/src/generated/prost.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1677,6 +1677,8 @@ pub struct FileScanExecConf {
16771677
pub batch_size: ::core::option::Option<u64>,
16781678
#[prost(message, optional, tag = "13")]
16791679
pub projection_exprs: ::core::option::Option<ProjectionExprs>,
1680+
#[prost(bool, optional, tag = "14")]
1681+
pub partitioned_by_file_group: ::core::option::Option<bool>,
16801682
}
16811683
#[derive(Clone, PartialEq, ::prost::Message)]
16821684
pub struct ParquetScanExecNode {

datafusion/proto/src/physical_plan/from_proto.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,6 +711,7 @@ pub fn parse_protobuf_file_scan_config(
711711
.with_limit(proto.limit.as_ref().map(|sl| sl.limit as usize))
712712
.with_output_ordering(output_ordering)
713713
.with_batch_size(proto.batch_size.map(|s| s as usize))
714+
.with_partitioned_by_file_group(proto.partitioned_by_file_group.unwrap_or(false))
714715
.build();
715716
Ok(config)
716717
}

datafusion/proto/src/physical_plan/to_proto.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,7 @@ pub fn serialize_file_scan_config(
757757
constraints: Some(conf.constraints.clone().into()),
758758
batch_size: conf.batch_size.map(|s| s as u64),
759759
projection_exprs,
760+
partitioned_by_file_group: Some(conf.partitioned_by_file_group),
760761
})
761762
}
762763

0 commit comments

Comments
 (0)