From 08f8755307630e0ea8d1a21efed3a76551a4edd6 Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Tue, 25 Oct 2022 17:46:12 +0200 Subject: [PATCH 01/12] Implement right semi join --- .../hash_build_probe_order.rs | 11 +- .../core/src/physical_plan/joins/hash_join.rs | 103 +++++++++++++++++- .../physical_plan/joins/sort_merge_join.rs | 16 ++- .../core/src/physical_plan/joins/utils.rs | 17 +++ datafusion/expr/src/logical_plan/builder.rs | 1 + datafusion/expr/src/logical_plan/plan.rs | 5 +- datafusion/optimizer/src/filter_push_down.rs | 5 +- 7 files changed, 148 insertions(+), 10 deletions(-) diff --git a/datafusion/core/src/physical_optimizer/hash_build_probe_order.rs b/datafusion/core/src/physical_optimizer/hash_build_probe_order.rs index 6817001d374a..90f3b746bcab 100644 --- a/datafusion/core/src/physical_optimizer/hash_build_probe_order.rs +++ b/datafusion/core/src/physical_optimizer/hash_build_probe_order.rs @@ -70,8 +70,13 @@ fn should_swap_join_order(left: &dyn ExecutionPlan, right: &dyn ExecutionPlan) - fn supports_swap(join_type: JoinType) -> bool { match join_type { - JoinType::Inner | JoinType::Left | JoinType::Right | JoinType::Full => true, - JoinType::Semi | JoinType::Anti => false, + JoinType::Inner + | JoinType::Left + | JoinType::Right + | JoinType::Full + | JoinType::Semi + | JoinType::RightSemi => true, + JoinType::Anti => false, } } @@ -81,6 +86,8 @@ fn swap_join_type(join_type: JoinType) -> JoinType { JoinType::Full => JoinType::Full, JoinType::Left => JoinType::Right, JoinType::Right => JoinType::Left, + JoinType::Semi => JoinType::RightSemi, + JoinType::RightSemi => JoinType::Semi, _ => unreachable!(), } } diff --git a/datafusion/core/src/physical_plan/joins/hash_join.rs b/datafusion/core/src/physical_plan/joins/hash_join.rs index ff036b78b32e..659688d4abe3 100644 --- a/datafusion/core/src/physical_plan/joins/hash_join.rs +++ b/datafusion/core/src/physical_plan/joins/hash_join.rs @@ -765,6 +765,54 @@ fn build_join_indexes( PrimitiveArray::::from(right), )) } + JoinType::RightSemi => { + let mut left_indices = UInt64BufferBuilder::new(0); + let mut right_indices = UInt32BufferBuilder::new(0); + + // Visit all of the right rows + for (row, hash_value) in hash_values.iter().enumerate() { + // Get the hash and find it in the build index + + // For every item on the left and right we check if it matches + // This possibly contains rows with hash collisions, + // So we have to check here whether rows are equal or not + // We only produce one row if there is a match + if let Some((_, indices)) = + left.0.get(*hash_value, |(hash, _)| *hash_value == *hash) + { + for &i in indices { + // Check hash collisions + if equal_rows( + i as usize, + row, + &left_join_values, + &keys_values, + *null_equals_null, + )? { + left_indices.append(i); + right_indices.append(row as u32); + break; + } + } + } + } + + let left = ArrayData::builder(DataType::UInt64) + .len(left_indices.len()) + .add_buffer(left_indices.finish()) + .build() + .unwrap(); + let right = ArrayData::builder(DataType::UInt32) + .len(right_indices.len()) + .add_buffer(right_indices.finish()) + .build() + .unwrap(); + + Ok(( + PrimitiveArray::::from(left), + PrimitiveArray::::from(right), + )) + } JoinType::Left => { let mut left_indices = UInt64Builder::with_capacity(0); let mut right_indices = UInt32Builder::with_capacity(0); @@ -853,7 +901,11 @@ fn apply_join_filter( )?; match join_type { - JoinType::Inner | JoinType::Left | JoinType::Anti | JoinType::Semi => { + JoinType::Inner + | JoinType::Left + | JoinType::Anti + | JoinType::Semi + | JoinType::RightSemi => { // For both INNER and LEFT joins, input arrays contains only indices for matched data. // Due to this fact it's correct to simply apply filter to intermediate batch and return // indices for left/right rows satisfying filter predicate @@ -1287,7 +1339,9 @@ impl HashJoinStream { buffer } - JoinType::Inner | JoinType::Right => BooleanBufferBuilder::new(0), + JoinType::Inner | JoinType::Right | JoinType::RightSemi => { + BooleanBufferBuilder::new(0) + } } }); @@ -1324,7 +1378,7 @@ impl HashJoinStream { visited_left_side.set_bit(x as usize, true); }); } - JoinType::Inner | JoinType::Right => {} + JoinType::Inner | JoinType::Right | JoinType::RightSemi => {} } } Some(result.map(|x| x.0)) @@ -1361,6 +1415,7 @@ impl HashJoinStream { JoinType::Left | JoinType::Full | JoinType::Semi + | JoinType::RightSemi | JoinType::Anti | JoinType::Inner | JoinType::Right => {} @@ -2116,6 +2171,48 @@ mod tests { Ok(()) } + #[tokio::test] + async fn join_right_semi() -> Result<()> { + let session_ctx = SessionContext::new(); + let task_ctx = session_ctx.task_ctx(); + let left = build_table( + ("a2", &vec![10, 20, 30, 40]), + ("b1", &vec![4, 5, 6, 5]), // 5 is double on the left + ("c2", &vec![70, 80, 90, 100]), + ); + let right = build_table( + ("a1", &vec![1, 2, 2, 3]), + ("b1", &vec![4, 5, 5, 7]), // 7 does not exist on the left + ("c1", &vec![7, 8, 8, 9]), + ); + + let on = vec![( + Column::new_with_schema("b1", &left.schema())?, + Column::new_with_schema("b1", &right.schema())?, + )]; + + let join = join(left, right, on, &JoinType::RightSemi, false)?; + + let columns = columns(&join.schema()); + assert_eq!(columns, vec!["a1", "b1", "c1"]); + + let stream = join.execute(0, task_ctx)?; + let batches = common::collect(stream).await?; + + let expected = vec![ + "+----+----+----+", + "| a1 | b1 | c1 |", + "+----+----+----+", + "| 1 | 4 | 7 |", + "| 2 | 5 | 8 |", + "| 2 | 5 | 8 |", + "+----+----+----+", + ]; + assert_batches_sorted_eq!(expected, &batches); + + Ok(()) + } + #[tokio::test] async fn join_anti() -> Result<()> { let session_ctx = SessionContext::new(); diff --git a/datafusion/core/src/physical_plan/joins/sort_merge_join.rs b/datafusion/core/src/physical_plan/joins/sort_merge_join.rs index 3de712745de4..110b69c95567 100644 --- a/datafusion/core/src/physical_plan/joins/sort_merge_join.rs +++ b/datafusion/core/src/physical_plan/joins/sort_merge_join.rs @@ -89,6 +89,12 @@ impl SortMergeJoinExec { let left_schema = left.schema(); let right_schema = right.schema(); + if join_type == JoinType::RightSemi { + return Err(DataFusionError::Plan( + "RightSemi not yet supported in SortMergeJoinExec".to_string(), + )); + } + check_join_is_valid(&left_schema, &right_schema, &on)?; if sort_options.len() != on.len() { return Err(DataFusionError::Plan(format!( @@ -132,7 +138,7 @@ impl ExecutionPlan for SortMergeJoinExec { JoinType::Inner | JoinType::Left | JoinType::Semi | JoinType::Anti => { self.left.output_ordering() } - JoinType::Right => self.right.output_ordering(), + JoinType::Right | JoinType::RightSemi => self.right.output_ordering(), JoinType::Full => None, } } @@ -180,7 +186,7 @@ impl ExecutionPlan for SortMergeJoinExec { self.on.iter().map(|on| on.0.clone()).collect(), self.on.iter().map(|on| on.1.clone()).collect(), ), - JoinType::Right => ( + JoinType::Right | JoinType::RightSemi => ( self.right.clone(), self.left.clone(), self.on.iter().map(|on| on.1.clone()).collect(), @@ -767,7 +773,11 @@ impl SMJStream { Ordering::Less => { if matches!( self.join_type, - JoinType::Left | JoinType::Right | JoinType::Full | JoinType::Anti + JoinType::Left + | JoinType::Right + | JoinType::RightSemi + | JoinType::Full + | JoinType::Anti ) { join_streamed = !self.streamed_joined; } diff --git a/datafusion/core/src/physical_plan/joins/utils.rs b/datafusion/core/src/physical_plan/joins/utils.rs index f937dc1c42a9..6e3f19ca1832 100644 --- a/datafusion/core/src/physical_plan/joins/utils.rs +++ b/datafusion/core/src/physical_plan/joins/utils.rs @@ -170,6 +170,7 @@ fn output_join_field(old_field: &Field, join_type: &JoinType, is_left: bool) -> JoinType::Right => is_left, // left input is padded with nulls JoinType::Full => true, // both inputs can be padded with nulls JoinType::Semi => false, // doesn't introduce nulls + JoinType::RightSemi => false, // doesn't introduce nulls JoinType::Anti => false, // doesn't introduce nulls (or can it??) }; @@ -236,6 +237,21 @@ pub fn build_join_schema( ) }) .unzip(), + JoinType::RightSemi => right + .fields() + .iter() + .cloned() + .enumerate() + .map(|(index, f)| { + ( + f, + ColumnIndex { + index, + side: JoinSide::Right, + }, + ) + }) + .unzip(), }; (Schema::new(fields), column_indices) @@ -396,6 +412,7 @@ fn estimate_join_cardinality( JoinType::Semi => None, JoinType::Anti => None, + JoinType::RightSemi => None, } } diff --git a/datafusion/expr/src/logical_plan/builder.rs b/datafusion/expr/src/logical_plan/builder.rs index 631a64da6fd6..6d92045ef519 100644 --- a/datafusion/expr/src/logical_plan/builder.rs +++ b/datafusion/expr/src/logical_plan/builder.rs @@ -827,6 +827,7 @@ pub fn build_join_schema( // Only use the left side for the schema left.fields().clone() } + JoinType::RightSemi => right.fields().clone(), }; let mut metadata = left.metadata().clone(); diff --git a/datafusion/expr/src/logical_plan/plan.rs b/datafusion/expr/src/logical_plan/plan.rs index cb3f7f97df54..055ab1cb835e 100644 --- a/datafusion/expr/src/logical_plan/plan.rs +++ b/datafusion/expr/src/logical_plan/plan.rs @@ -980,8 +980,10 @@ pub enum JoinType { Right, /// Full Join Full, - /// Semi Join + /// Left Semi Join Semi, + /// Right Semi Join + RightSemi, /// Anti Join Anti, } @@ -994,6 +996,7 @@ impl Display for JoinType { JoinType::Right => "Right", JoinType::Full => "Full", JoinType::Semi => "Semi", + JoinType::RightSemi => "RightSemi", JoinType::Anti => "Anti", }; write!(f, "{}", join_type) diff --git a/datafusion/optimizer/src/filter_push_down.rs b/datafusion/optimizer/src/filter_push_down.rs index 148ae6715ddb..a4e35b6408a6 100644 --- a/datafusion/optimizer/src/filter_push_down.rs +++ b/datafusion/optimizer/src/filter_push_down.rs @@ -177,6 +177,9 @@ fn lr_is_preserved(plan: &LogicalPlan) -> Result<(bool, bool)> { // No columns from the right side of the join can be referenced in output // predicates for semi/anti joins, so whether we specify t/f doesn't matter. JoinType::Semi | JoinType::Anti => Ok((true, false)), + // No columns from the left side of the join can be referenced in output + // predicates for semi/anti joins, so whether we specify t/f doesn't matter. + JoinType::RightSemi => Ok((false, true)), }, LogicalPlan::CrossJoin(_) => Ok((true, true)), _ => Err(DataFusionError::Internal( @@ -195,7 +198,7 @@ fn on_lr_is_preserved(plan: &LogicalPlan) -> Result<(bool, bool)> { JoinType::Left => Ok((false, true)), JoinType::Right => Ok((true, false)), JoinType::Full => Ok((false, false)), - JoinType::Semi | JoinType::Anti => { + JoinType::Semi | JoinType::Anti | JoinType::RightSemi => { // filter_push_down does not yet support SEMI/ANTI joins with join conditions Ok((false, false)) } From 084833a3bb49d74795eb6eeaef31970509e99bc4 Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Tue, 25 Oct 2022 18:02:58 +0200 Subject: [PATCH 02/12] Change error a bit --- datafusion/core/src/physical_plan/joins/sort_merge_join.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/datafusion/core/src/physical_plan/joins/sort_merge_join.rs b/datafusion/core/src/physical_plan/joins/sort_merge_join.rs index 110b69c95567..4eafddf17e1e 100644 --- a/datafusion/core/src/physical_plan/joins/sort_merge_join.rs +++ b/datafusion/core/src/physical_plan/joins/sort_merge_join.rs @@ -90,8 +90,8 @@ impl SortMergeJoinExec { let right_schema = right.schema(); if join_type == JoinType::RightSemi { - return Err(DataFusionError::Plan( - "RightSemi not yet supported in SortMergeJoinExec".to_string(), + return Err(DataFusionError::NotImplemented( + "SortMergeJoinExec does not support JoinType::RightSemi".to_string(), )); } From 9d60e512d7e9d4f95e25c6928949c7ca711522e3 Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Tue, 25 Oct 2022 19:01:32 +0200 Subject: [PATCH 03/12] protobuf --- datafusion/proto/proto/datafusion.proto | 1 + 1 file changed, 1 insertion(+) diff --git a/datafusion/proto/proto/datafusion.proto b/datafusion/proto/proto/datafusion.proto index 45c607125909..6d8500e1cc01 100644 --- a/datafusion/proto/proto/datafusion.proto +++ b/datafusion/proto/proto/datafusion.proto @@ -232,6 +232,7 @@ enum JoinType { FULL = 3; SEMI = 4; ANTI = 5; + RIGHTSEMI = 6; } enum JoinConstraint { From c531151dfbda584653b068ebce8f2e07312c1bdb Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Tue, 25 Oct 2022 19:55:01 +0200 Subject: [PATCH 04/12] protobuf --- datafusion/proto/src/logical_plan.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/datafusion/proto/src/logical_plan.rs b/datafusion/proto/src/logical_plan.rs index b9f34ff02265..3b2421bc00a0 100644 --- a/datafusion/proto/src/logical_plan.rs +++ b/datafusion/proto/src/logical_plan.rs @@ -244,7 +244,9 @@ impl From for JoinType { protobuf::JoinType::Right => JoinType::Right, protobuf::JoinType::Full => JoinType::Full, protobuf::JoinType::Semi => JoinType::Semi, + protobuf::JoinType::Rightsemi => JoinType::RightSemi, protobuf::JoinType::Anti => JoinType::Anti, + } } } @@ -257,6 +259,7 @@ impl From for protobuf::JoinType { JoinType::Right => protobuf::JoinType::Right, JoinType::Full => protobuf::JoinType::Full, JoinType::Semi => protobuf::JoinType::Semi, + JoinType::RightSemi => protobuf::JoinType::Rightsemi, JoinType::Anti => protobuf::JoinType::Anti, } } From 6e230a818763b79d4cb0f5fcff4e4c767f27c5e2 Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Tue, 25 Oct 2022 20:05:58 +0200 Subject: [PATCH 05/12] protobuf --- datafusion/proto/src/logical_plan.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/datafusion/proto/src/logical_plan.rs b/datafusion/proto/src/logical_plan.rs index 3b2421bc00a0..30a5db361c8d 100644 --- a/datafusion/proto/src/logical_plan.rs +++ b/datafusion/proto/src/logical_plan.rs @@ -246,7 +246,6 @@ impl From for JoinType { protobuf::JoinType::Semi => JoinType::Semi, protobuf::JoinType::Rightsemi => JoinType::RightSemi, protobuf::JoinType::Anti => JoinType::Anti, - } } } From 94461b5aaee07179a9b4ec5daa41811bf5556674 Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Wed, 26 Oct 2022 22:18:17 +0200 Subject: [PATCH 06/12] Change column name to b2 --- datafusion/core/src/physical_plan/joins/hash_join.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/datafusion/core/src/physical_plan/joins/hash_join.rs b/datafusion/core/src/physical_plan/joins/hash_join.rs index 659688d4abe3..e431de45e25f 100644 --- a/datafusion/core/src/physical_plan/joins/hash_join.rs +++ b/datafusion/core/src/physical_plan/joins/hash_join.rs @@ -2177,7 +2177,7 @@ mod tests { let task_ctx = session_ctx.task_ctx(); let left = build_table( ("a2", &vec![10, 20, 30, 40]), - ("b1", &vec![4, 5, 6, 5]), // 5 is double on the left + ("b2", &vec![4, 5, 6, 5]), // 5 is double on the left ("c2", &vec![70, 80, 90, 100]), ); let right = build_table( @@ -2187,7 +2187,7 @@ mod tests { ); let on = vec![( - Column::new_with_schema("b1", &left.schema())?, + Column::new_with_schema("b2", &left.schema())?, Column::new_with_schema("b1", &right.schema())?, )]; From edad01f98c89660843061446fd66efe2b2f64a8b Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Wed, 26 Oct 2022 22:30:44 +0200 Subject: [PATCH 07/12] Rename everything --- .../hash_build_probe_order.rs | 8 ++--- .../core/src/physical_plan/joins/hash_join.rs | 30 +++++++++---------- .../physical_plan/joins/sort_merge_join.rs | 16 +++++----- .../core/src/physical_plan/joins/utils.rs | 10 +++---- datafusion/core/tests/join_fuzz.rs | 4 +-- datafusion/core/tests/sql/subqueries.rs | 10 +++---- datafusion/expr/src/logical_plan/builder.rs | 6 ++-- datafusion/expr/src/logical_plan/plan.rs | 8 ++--- .../optimizer/src/decorrelate_where_exists.rs | 20 ++++++------- .../optimizer/src/decorrelate_where_in.rs | 28 ++++++++--------- datafusion/optimizer/src/filter_push_down.rs | 4 +-- .../optimizer/src/subquery_filter_to_join.rs | 20 ++++++------- .../optimizer/tests/integration-test.rs | 10 +++---- datafusion/proto/proto/datafusion.proto | 4 +-- datafusion/proto/src/logical_plan.rs | 8 ++--- 15 files changed, 93 insertions(+), 93 deletions(-) diff --git a/datafusion/core/src/physical_optimizer/hash_build_probe_order.rs b/datafusion/core/src/physical_optimizer/hash_build_probe_order.rs index 90f3b746bcab..0149210469af 100644 --- a/datafusion/core/src/physical_optimizer/hash_build_probe_order.rs +++ b/datafusion/core/src/physical_optimizer/hash_build_probe_order.rs @@ -74,9 +74,9 @@ fn supports_swap(join_type: JoinType) -> bool { | JoinType::Left | JoinType::Right | JoinType::Full - | JoinType::Semi + | JoinType::LeftSemi | JoinType::RightSemi => true, - JoinType::Anti => false, + JoinType::LeftAnti => false, } } @@ -86,8 +86,8 @@ fn swap_join_type(join_type: JoinType) -> JoinType { JoinType::Full => JoinType::Full, JoinType::Left => JoinType::Right, JoinType::Right => JoinType::Left, - JoinType::Semi => JoinType::RightSemi, - JoinType::RightSemi => JoinType::Semi, + JoinType::LeftSemi => JoinType::RightSemi, + JoinType::RightSemi => JoinType::LeftSemi, _ => unreachable!(), } } diff --git a/datafusion/core/src/physical_plan/joins/hash_join.rs b/datafusion/core/src/physical_plan/joins/hash_join.rs index e431de45e25f..b2be3242e75e 100644 --- a/datafusion/core/src/physical_plan/joins/hash_join.rs +++ b/datafusion/core/src/physical_plan/joins/hash_join.rs @@ -653,7 +653,7 @@ fn build_batch( (left_indices, right_indices) }; - if matches!(join_type, JoinType::Semi | JoinType::Anti) { + if matches!(join_type, JoinType::LeftSemi | JoinType::LeftAnti) { return Ok(( RecordBatch::new_empty(Arc::new(schema.clone())), left_filtered_indices, @@ -719,7 +719,7 @@ fn build_join_indexes( let left = &left_data.0; match join_type { - JoinType::Inner | JoinType::Semi | JoinType::Anti => { + JoinType::Inner | JoinType::LeftSemi | JoinType::LeftAnti => { // Using a buffer builder to avoid slower normal builder let mut left_indices = UInt64BufferBuilder::new(0); let mut right_indices = UInt32BufferBuilder::new(0); @@ -903,8 +903,8 @@ fn apply_join_filter( match join_type { JoinType::Inner | JoinType::Left - | JoinType::Anti - | JoinType::Semi + | JoinType::LeftAnti + | JoinType::LeftSemi | JoinType::RightSemi => { // For both INNER and LEFT joins, input arrays contains only indices for matched data. // Due to this fact it's correct to simply apply filter to intermediate batch and return @@ -1332,7 +1332,7 @@ impl HashJoinStream { let visited_left_side = self.visited_left_side.get_or_insert_with(|| { let num_rows = left_data.1.num_rows(); match self.join_type { - JoinType::Left | JoinType::Full | JoinType::Semi | JoinType::Anti => { + JoinType::Left | JoinType::Full | JoinType::LeftSemi | JoinType::LeftAnti => { let mut buffer = BooleanBufferBuilder::new(num_rows); buffer.append_n(num_rows, false); @@ -1372,8 +1372,8 @@ impl HashJoinStream { match self.join_type { JoinType::Left | JoinType::Full - | JoinType::Semi - | JoinType::Anti => { + | JoinType::LeftSemi + | JoinType::LeftAnti => { left_side.iter().flatten().for_each(|x| { visited_left_side.set_bit(x as usize, true); }); @@ -1389,8 +1389,8 @@ impl HashJoinStream { match self.join_type { JoinType::Left | JoinType::Full - | JoinType::Semi - | JoinType::Anti + | JoinType::LeftSemi + | JoinType::LeftAnti if !self.is_exhausted => { let result = produce_from_matched( @@ -1398,7 +1398,7 @@ impl HashJoinStream { &self.schema, &self.column_indices, left_data, - self.join_type != JoinType::Semi, + self.join_type != JoinType::LeftSemi, ); if let Ok(ref batch) = result { self.join_metrics.input_batches.add(1); @@ -1414,9 +1414,9 @@ impl HashJoinStream { } JoinType::Left | JoinType::Full - | JoinType::Semi + | JoinType::LeftSemi | JoinType::RightSemi - | JoinType::Anti + | JoinType::LeftAnti | JoinType::Inner | JoinType::Right => {} } @@ -2149,7 +2149,7 @@ mod tests { Column::new_with_schema("b1", &right.schema())?, )]; - let join = join(left, right, on, &JoinType::Semi, false)?; + let join = join(left, right, on, &JoinType::LeftSemi, false)?; let columns = columns(&join.schema()); assert_eq!(columns, vec!["a1", "b1", "c1"]); @@ -2232,7 +2232,7 @@ mod tests { Column::new_with_schema("b1", &right.schema())?, )]; - let join = join(left, right, on, &JoinType::Anti, false)?; + let join = join(left, right, on, &JoinType::LeftAnti, false)?; let columns = columns(&join.schema()); assert_eq!(columns, vec!["a1", "b1", "c1"]); @@ -2293,7 +2293,7 @@ mod tests { let filter = JoinFilter::new(filter_expression, column_indices, intermediate_schema); - let join = join_with_filter(left, right, on, filter, &JoinType::Anti, false)?; + let join = join_with_filter(left, right, on, filter, &JoinType::LeftAnti, false)?; let columns = columns(&join.schema()); assert_eq!(columns, vec!["col1", "col2", "col3"]); diff --git a/datafusion/core/src/physical_plan/joins/sort_merge_join.rs b/datafusion/core/src/physical_plan/joins/sort_merge_join.rs index 4eafddf17e1e..5a92f3d5e1ed 100644 --- a/datafusion/core/src/physical_plan/joins/sort_merge_join.rs +++ b/datafusion/core/src/physical_plan/joins/sort_merge_join.rs @@ -135,7 +135,7 @@ impl ExecutionPlan for SortMergeJoinExec { fn output_ordering(&self) -> Option<&[PhysicalSortExpr]> { match self.join_type { - JoinType::Inner | JoinType::Left | JoinType::Semi | JoinType::Anti => { + JoinType::Inner | JoinType::Left | JoinType::LeftSemi | JoinType::LeftAnti => { self.left.output_ordering() } JoinType::Right | JoinType::RightSemi => self.right.output_ordering(), @@ -179,8 +179,8 @@ impl ExecutionPlan for SortMergeJoinExec { JoinType::Inner | JoinType::Left | JoinType::Full - | JoinType::Anti - | JoinType::Semi => ( + | JoinType::LeftAnti + | JoinType::LeftSemi => ( self.left.clone(), self.right.clone(), self.on.iter().map(|on| on.0.clone()).collect(), @@ -777,13 +777,13 @@ impl SMJStream { | JoinType::Right | JoinType::RightSemi | JoinType::Full - | JoinType::Anti + | JoinType::LeftAnti ) { join_streamed = !self.streamed_joined; } } Ordering::Equal => { - if matches!(self.join_type, JoinType::Semi) { + if matches!(self.join_type, JoinType::LeftSemi) { join_streamed = !self.streamed_joined; } if matches!( @@ -925,7 +925,7 @@ impl SMJStream { let buffered_indices: UInt64Array = chunk.buffered_indices.finish(); let mut buffered_columns = - if matches!(self.join_type, JoinType::Semi | JoinType::Anti) { + if matches!(self.join_type, JoinType::LeftSemi | JoinType::LeftAnti) { vec![] } else if let Some(buffered_idx) = chunk.buffered_batch_idx { self.buffered_data.batches[buffered_idx] @@ -1742,7 +1742,7 @@ mod tests { Column::new_with_schema("b1", &right.schema())?, )]; - let (_, batches) = join_collect(left, right, on, JoinType::Anti).await?; + let (_, batches) = join_collect(left, right, on, JoinType::LeftAnti).await?; let expected = vec![ "+----+----+----+", "| a1 | b1 | c1 |", @@ -1773,7 +1773,7 @@ mod tests { Column::new_with_schema("b1", &right.schema())?, )]; - let (_, batches) = join_collect(left, right, on, JoinType::Semi).await?; + let (_, batches) = join_collect(left, right, on, JoinType::LeftSemi).await?; let expected = vec![ "+----+----+----+", "| a1 | b1 | c1 |", diff --git a/datafusion/core/src/physical_plan/joins/utils.rs b/datafusion/core/src/physical_plan/joins/utils.rs index 6e3f19ca1832..8599e31c0860 100644 --- a/datafusion/core/src/physical_plan/joins/utils.rs +++ b/datafusion/core/src/physical_plan/joins/utils.rs @@ -169,9 +169,9 @@ fn output_join_field(old_field: &Field, join_type: &JoinType, is_left: bool) -> JoinType::Left => !is_left, // right input is padded with nulls JoinType::Right => is_left, // left input is padded with nulls JoinType::Full => true, // both inputs can be padded with nulls - JoinType::Semi => false, // doesn't introduce nulls + JoinType::LeftSemi => false, // doesn't introduce nulls JoinType::RightSemi => false, // doesn't introduce nulls - JoinType::Anti => false, // doesn't introduce nulls (or can it??) + JoinType::LeftAnti => false, // doesn't introduce nulls (or can it??) }; if force_nullable { @@ -222,7 +222,7 @@ pub fn build_join_schema( // left then right left_fields.chain(right_fields).unzip() } - JoinType::Semi | JoinType::Anti => left + JoinType::LeftSemi | JoinType::LeftAnti => left .fields() .iter() .cloned() @@ -410,8 +410,8 @@ fn estimate_join_cardinality( }) } - JoinType::Semi => None, - JoinType::Anti => None, + JoinType::LeftSemi => None, + JoinType::LeftAnti => None, JoinType::RightSemi => None, } } diff --git a/datafusion/core/tests/join_fuzz.rs b/datafusion/core/tests/join_fuzz.rs index c5111a0750bf..975d02c7dfb1 100644 --- a/datafusion/core/tests/join_fuzz.rs +++ b/datafusion/core/tests/join_fuzz.rs @@ -78,7 +78,7 @@ async fn test_semi_join_1k() { run_join_test( make_staggered_batches(10000), make_staggered_batches(10000), - JoinType::Semi, + JoinType::LeftSemi, ) .await } @@ -88,7 +88,7 @@ async fn test_anti_join_1k() { run_join_test( make_staggered_batches(10000), make_staggered_batches(10000), - JoinType::Anti, + JoinType::LeftAnti, ) .await } diff --git a/datafusion/core/tests/sql/subqueries.rs b/datafusion/core/tests/sql/subqueries.rs index 8c77d860e2b4..ed65d43919b3 100644 --- a/datafusion/core/tests/sql/subqueries.rs +++ b/datafusion/core/tests/sql/subqueries.rs @@ -94,7 +94,7 @@ where o_orderstatus in ( let plan = ctx.optimize(&plan).unwrap(); let actual = format!("{}", plan.display_indent()); let expected = r#"Projection: orders.o_orderkey - Semi Join: orders.o_orderstatus = __sq_1.l_linestatus, orders.o_orderkey = __sq_1.l_orderkey + LeftSemi Join: orders.o_orderstatus = __sq_1.l_linestatus, orders.o_orderkey = __sq_1.l_orderkey TableScan: orders projection=[o_orderkey, o_orderstatus] Projection: lineitem.l_linestatus AS l_linestatus, lineitem.l_orderkey AS l_orderkey, alias=__sq_1 TableScan: lineitem projection=[l_orderkey, l_linestatus]"# @@ -205,7 +205,7 @@ async fn tpch_q4_correlated() -> Result<()> { let expected = r#"Sort: orders.o_orderpriority ASC NULLS LAST Projection: orders.o_orderpriority, COUNT(UInt8(1)) AS order_count Aggregate: groupBy=[[orders.o_orderpriority]], aggr=[[COUNT(UInt8(1))]] - Semi Join: orders.o_orderkey = lineitem.l_orderkey + LeftSemi Join: orders.o_orderkey = lineitem.l_orderkey TableScan: orders projection=[o_orderkey, o_orderpriority] Filter: lineitem.l_commitdate < lineitem.l_receiptdate TableScan: lineitem projection=[l_orderkey, l_commitdate, l_receiptdate]"# @@ -322,7 +322,7 @@ order by s_name; let actual = format!("{}", plan.display_indent()); let expected = r#"Sort: supplier.s_name ASC NULLS LAST Projection: supplier.s_name, supplier.s_address - Semi Join: supplier.s_suppkey = __sq_2.ps_suppkey + LeftSemi Join: supplier.s_suppkey = __sq_2.ps_suppkey Inner Join: supplier.s_nationkey = nation.n_nationkey TableScan: supplier projection=[s_suppkey, s_name, s_address, s_nationkey] Filter: nation.n_name = Utf8("CANADA") @@ -330,7 +330,7 @@ order by s_name; Projection: partsupp.ps_suppkey AS ps_suppkey, alias=__sq_2 Filter: CAST(partsupp.ps_availqty AS Decimal128(38, 17)) > __sq_3.__value Inner Join: partsupp.ps_partkey = __sq_3.l_partkey, partsupp.ps_suppkey = __sq_3.l_suppkey - Semi Join: partsupp.ps_partkey = __sq_1.p_partkey + LeftSemi Join: partsupp.ps_partkey = __sq_1.p_partkey TableScan: partsupp projection=[ps_partkey, ps_suppkey, ps_availqty] Projection: part.p_partkey AS p_partkey, alias=__sq_1 Filter: part.p_name LIKE Utf8("forest%") @@ -386,7 +386,7 @@ order by cntrycode;"#; Projection: substr(customer.c_phone, Int64(1), Int64(2)) AS cntrycode, customer.c_acctbal, alias=custsale Filter: CAST(customer.c_acctbal AS Decimal128(19, 6)) > __sq_1.__value CrossJoin: - Anti Join: customer.c_custkey = orders.o_custkey + LeftAnti Join: customer.c_custkey = orders.o_custkey Filter: substr(customer.c_phone, Int64(1), Int64(2)) IN ([Utf8("13"), Utf8("31"), Utf8("23"), Utf8("29"), Utf8("30"), Utf8("18"), Utf8("17")]) TableScan: customer projection=[c_custkey, c_phone, c_acctbal], partial_filters=[substr(customer.c_phone, Int64(1), Int64(2)) IN ([Utf8("13"), Utf8("31"), Utf8("23"), Utf8("29"), Utf8("30"), Utf8("18"), Utf8("17")])] TableScan: orders projection=[o_custkey] diff --git a/datafusion/expr/src/logical_plan/builder.rs b/datafusion/expr/src/logical_plan/builder.rs index 6d92045ef519..829aa6682baf 100644 --- a/datafusion/expr/src/logical_plan/builder.rs +++ b/datafusion/expr/src/logical_plan/builder.rs @@ -743,7 +743,7 @@ impl LogicalPlanBuilder { LogicalPlanBuilder::intersect_or_except( left_plan, right_plan, - JoinType::Semi, + JoinType::LeftSemi, is_all, ) } @@ -757,7 +757,7 @@ impl LogicalPlanBuilder { LogicalPlanBuilder::intersect_or_except( left_plan, right_plan, - JoinType::Anti, + JoinType::LeftAnti, is_all, ) } @@ -823,7 +823,7 @@ pub fn build_join_schema( // left then right left_fields.chain(right_fields).cloned().collect() } - JoinType::Semi | JoinType::Anti => { + JoinType::LeftSemi | JoinType::LeftAnti => { // Only use the left side for the schema left.fields().clone() } diff --git a/datafusion/expr/src/logical_plan/plan.rs b/datafusion/expr/src/logical_plan/plan.rs index 055ab1cb835e..7a6de1fd480b 100644 --- a/datafusion/expr/src/logical_plan/plan.rs +++ b/datafusion/expr/src/logical_plan/plan.rs @@ -981,11 +981,11 @@ pub enum JoinType { /// Full Join Full, /// Left Semi Join - Semi, + LeftSemi, /// Right Semi Join RightSemi, /// Anti Join - Anti, + LeftAnti, } impl Display for JoinType { @@ -995,9 +995,9 @@ impl Display for JoinType { JoinType::Left => "Left", JoinType::Right => "Right", JoinType::Full => "Full", - JoinType::Semi => "Semi", + JoinType::LeftSemi => "LeftSemi", JoinType::RightSemi => "RightSemi", - JoinType::Anti => "Anti", + JoinType::LeftAnti => "Anti", }; write!(f, "{}", join_type) } diff --git a/datafusion/optimizer/src/decorrelate_where_exists.rs b/datafusion/optimizer/src/decorrelate_where_exists.rs index 78e8fc32d474..c8102debe721 100644 --- a/datafusion/optimizer/src/decorrelate_where_exists.rs +++ b/datafusion/optimizer/src/decorrelate_where_exists.rs @@ -176,8 +176,8 @@ fn optimize_exists( // join our sub query into the main plan let join_type = match query_info.negated { - true => JoinType::Anti, - false => JoinType::Semi, + true => JoinType::LeftAnti, + false => JoinType::LeftSemi, }; let mut new_plan = LogicalPlanBuilder::from(outer_input.clone()).join( &subqry_plan, @@ -230,8 +230,8 @@ mod tests { .build()?; let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] - Semi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] - Semi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] TableScan: orders [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] TableScan: orders [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N]"#; @@ -266,9 +266,9 @@ mod tests { .build()?; let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] - Semi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] - Semi Join: orders.o_orderkey = lineitem.l_orderkey [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] + LeftSemi Join: orders.o_orderkey = lineitem.l_orderkey [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] TableScan: orders [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] TableScan: lineitem [l_orderkey:Int64, l_partkey:Int64, l_suppkey:Int64, l_linenumber:Int32, l_quantity:Float64, l_extendedprice:Float64]"#; @@ -296,7 +296,7 @@ mod tests { .build()?; let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] - Semi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] Filter: orders.o_orderkey = Int32(1) [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] TableScan: orders [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N]"#; @@ -451,7 +451,7 @@ mod tests { // Doesn't matter we projected an expression, just that we returned a result let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] - Semi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] TableScan: orders [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N]"#; @@ -475,7 +475,7 @@ mod tests { let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] Filter: customer.c_custkey = Int32(1) [c_custkey:Int64, c_name:Utf8] - Semi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = orders.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] TableScan: orders [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N]"#; @@ -527,7 +527,7 @@ mod tests { .build()?; let expected = r#"Projection: test.c [c:UInt32] - Semi Join: test.a = sq.a [a:UInt32, b:UInt32, c:UInt32] + LeftSemi Join: test.a = sq.a [a:UInt32, b:UInt32, c:UInt32] TableScan: test [a:UInt32, b:UInt32, c:UInt32] TableScan: sq [a:UInt32, b:UInt32, c:UInt32]"#; diff --git a/datafusion/optimizer/src/decorrelate_where_in.rs b/datafusion/optimizer/src/decorrelate_where_in.rs index 052ed796a407..fa0367c454d7 100644 --- a/datafusion/optimizer/src/decorrelate_where_in.rs +++ b/datafusion/optimizer/src/decorrelate_where_in.rs @@ -189,8 +189,8 @@ fn optimize_where_in( // join our sub query into the main plan let join_type = match query_info.negated { - true => JoinType::Anti, - false => JoinType::Semi, + true => JoinType::LeftAnti, + false => JoinType::LeftSemi, }; let mut new_plan = LogicalPlanBuilder::from(outer_input.clone()).join( &subqry_plan, @@ -259,8 +259,8 @@ mod tests { debug!("plan to optimize:\n{}", plan.display_indent()); let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] - Semi Join: customer.c_custkey = __sq_2.o_custkey [c_custkey:Int64, c_name:Utf8] - Semi Join: customer.c_custkey = __sq_1.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = __sq_2.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = __sq_1.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] Projection: orders.o_custkey AS o_custkey, alias=__sq_1 [o_custkey:Int64] TableScan: orders [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] @@ -297,10 +297,10 @@ mod tests { .build()?; let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] - Semi Join: customer.c_custkey = __sq_2.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = __sq_2.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] Projection: orders.o_custkey AS o_custkey, alias=__sq_2 [o_custkey:Int64] - Semi Join: orders.o_orderkey = __sq_1.l_orderkey [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] + LeftSemi Join: orders.o_orderkey = __sq_1.l_orderkey [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] TableScan: orders [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] Projection: lineitem.l_orderkey AS l_orderkey, alias=__sq_1 [l_orderkey:Int64] TableScan: lineitem [l_orderkey:Int64, l_partkey:Int64, l_suppkey:Int64, l_linenumber:Int32, l_quantity:Float64, l_extendedprice:Float64]"#; @@ -329,7 +329,7 @@ mod tests { .build()?; let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] - Semi Join: customer.c_custkey = __sq_1.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = __sq_1.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] Projection: orders.o_custkey AS o_custkey, alias=__sq_1 [o_custkey:Int64] Filter: orders.o_orderkey = Int32(1) [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] @@ -356,7 +356,7 @@ mod tests { // Query will fail, but we can still transform the plan let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] - Semi Join: customer.c_custkey = __sq_1.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = __sq_1.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] Projection: orders.o_custkey AS o_custkey, alias=__sq_1 [o_custkey:Int64] Filter: customer.c_custkey = customer.c_custkey [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] @@ -382,7 +382,7 @@ mod tests { .build()?; let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] - Semi Join: customer.c_custkey = __sq_1.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = __sq_1.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] Projection: orders.o_custkey AS o_custkey, alias=__sq_1 [o_custkey:Int64] Filter: orders.o_custkey = orders.o_custkey [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N] @@ -408,7 +408,7 @@ mod tests { .build()?; let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] - Semi Join: customer.c_custkey = __sq_1.o_custkey Filter: customer.c_custkey != orders.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = __sq_1.o_custkey Filter: customer.c_custkey != orders.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] Projection: orders.o_custkey AS o_custkey, alias=__sq_1 [o_custkey:Int64] TableScan: orders [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N]"#; @@ -585,7 +585,7 @@ mod tests { let expected = r#"Projection: customer.c_custkey [c_custkey:Int64] Filter: customer.c_custkey = Int32(1) [c_custkey:Int64, c_name:Utf8] - Semi Join: customer.c_custkey = __sq_1.o_custkey [c_custkey:Int64, c_name:Utf8] + LeftSemi Join: customer.c_custkey = __sq_1.o_custkey [c_custkey:Int64, c_name:Utf8] TableScan: customer [c_custkey:Int64, c_name:Utf8] Projection: orders.o_custkey AS o_custkey, alias=__sq_1 [o_custkey:Int64] TableScan: orders [o_orderkey:Int64, o_custkey:Int64, o_orderstatus:Utf8, o_totalprice:Float64;N]"#; @@ -641,7 +641,7 @@ mod tests { .build()?; let expected = r#"Projection: test.b [b:UInt32] - Semi Join: test.c = __sq_1.c, test.a = __sq_1.a [a:UInt32, b:UInt32, c:UInt32] + LeftSemi Join: test.c = __sq_1.c, test.a = __sq_1.a [a:UInt32, b:UInt32, c:UInt32] TableScan: test [a:UInt32, b:UInt32, c:UInt32] Projection: sq.c AS c, sq.a AS a, alias=__sq_1 [c:UInt32, a:UInt32] TableScan: sq [a:UInt32, b:UInt32, c:UInt32]"#; @@ -660,7 +660,7 @@ mod tests { .build()?; let expected = r#"Projection: test.b [b:UInt32] - Semi Join: test.c = __sq_1.c [a:UInt32, b:UInt32, c:UInt32] + LeftSemi Join: test.c = __sq_1.c [a:UInt32, b:UInt32, c:UInt32] TableScan: test [a:UInt32, b:UInt32, c:UInt32] Projection: sq.c AS c, alias=__sq_1 [c:UInt32] TableScan: sq [a:UInt32, b:UInt32, c:UInt32]"#; @@ -679,7 +679,7 @@ mod tests { .build()?; let expected = r#"Projection: test.b [b:UInt32] - Anti Join: test.c = __sq_1.c [a:UInt32, b:UInt32, c:UInt32] + LeftAnti Join: test.c = __sq_1.c [a:UInt32, b:UInt32, c:UInt32] TableScan: test [a:UInt32, b:UInt32, c:UInt32] Projection: sq.c AS c, alias=__sq_1 [c:UInt32] TableScan: sq [a:UInt32, b:UInt32, c:UInt32]"#; diff --git a/datafusion/optimizer/src/filter_push_down.rs b/datafusion/optimizer/src/filter_push_down.rs index a4e35b6408a6..902b02817f65 100644 --- a/datafusion/optimizer/src/filter_push_down.rs +++ b/datafusion/optimizer/src/filter_push_down.rs @@ -176,7 +176,7 @@ fn lr_is_preserved(plan: &LogicalPlan) -> Result<(bool, bool)> { JoinType::Full => Ok((false, false)), // No columns from the right side of the join can be referenced in output // predicates for semi/anti joins, so whether we specify t/f doesn't matter. - JoinType::Semi | JoinType::Anti => Ok((true, false)), + JoinType::LeftSemi | JoinType::LeftAnti => Ok((true, false)), // No columns from the left side of the join can be referenced in output // predicates for semi/anti joins, so whether we specify t/f doesn't matter. JoinType::RightSemi => Ok((false, true)), @@ -198,7 +198,7 @@ fn on_lr_is_preserved(plan: &LogicalPlan) -> Result<(bool, bool)> { JoinType::Left => Ok((false, true)), JoinType::Right => Ok((true, false)), JoinType::Full => Ok((false, false)), - JoinType::Semi | JoinType::Anti | JoinType::RightSemi => { + JoinType::LeftSemi | JoinType::LeftAnti | JoinType::RightSemi => { // filter_push_down does not yet support SEMI/ANTI joins with join conditions Ok((false, false)) } diff --git a/datafusion/optimizer/src/subquery_filter_to_join.rs b/datafusion/optimizer/src/subquery_filter_to_join.rs index 29f51a42f4e1..c1717da0dce7 100644 --- a/datafusion/optimizer/src/subquery_filter_to_join.rs +++ b/datafusion/optimizer/src/subquery_filter_to_join.rs @@ -116,9 +116,9 @@ impl OptimizerRule for SubqueryFilterToJoin { }; let join_type = if *negated { - JoinType::Anti + JoinType::LeftAnti } else { - JoinType::Semi + JoinType::LeftSemi }; let schema = build_join_schema( @@ -231,7 +231,7 @@ mod tests { .build()?; let expected = "Projection: test.b [b:UInt32]\ - \n Semi Join: test.c = sq.c [a:UInt32, b:UInt32, c:UInt32]\ + \n LeftSemi Join: test.c = sq.c [a:UInt32, b:UInt32, c:UInt32]\ \n TableScan: test [a:UInt32, b:UInt32, c:UInt32]\ \n Projection: sq.c [c:UInt32]\ \n TableScan: sq [a:UInt32, b:UInt32, c:UInt32]"; @@ -250,7 +250,7 @@ mod tests { .build()?; let expected = "Projection: test.b [b:UInt32]\ - \n Anti Join: test.c = sq.c [a:UInt32, b:UInt32, c:UInt32]\ + \n LeftAnti Join: test.c = sq.c [a:UInt32, b:UInt32, c:UInt32]\ \n TableScan: test [a:UInt32, b:UInt32, c:UInt32]\ \n Projection: sq.c [c:UInt32]\ \n TableScan: sq [a:UInt32, b:UInt32, c:UInt32]"; @@ -272,8 +272,8 @@ mod tests { .build()?; let expected = "Projection: test.b [b:UInt32]\ - \n Semi Join: test.b = sq_2.c [a:UInt32, b:UInt32, c:UInt32]\ - \n Semi Join: test.c = sq_1.c [a:UInt32, b:UInt32, c:UInt32]\ + \n LeftSemi Join: test.b = sq_2.c [a:UInt32, b:UInt32, c:UInt32]\ + \n LeftSemi Join: test.c = sq_1.c [a:UInt32, b:UInt32, c:UInt32]\ \n TableScan: test [a:UInt32, b:UInt32, c:UInt32]\ \n Projection: sq_1.c [c:UInt32]\ \n TableScan: sq_1 [a:UInt32, b:UInt32, c:UInt32]\ @@ -301,7 +301,7 @@ mod tests { let expected = "Projection: test.b [b:UInt32]\ \n Filter: test.a = UInt32(1) AND test.b < UInt32(30) [a:UInt32, b:UInt32, c:UInt32]\ - \n Semi Join: test.c = sq.c [a:UInt32, b:UInt32, c:UInt32]\ + \n LeftSemi Join: test.c = sq.c [a:UInt32, b:UInt32, c:UInt32]\ \n TableScan: test [a:UInt32, b:UInt32, c:UInt32]\ \n Projection: sq.c [c:UInt32]\ \n TableScan: sq [a:UInt32, b:UInt32, c:UInt32]"; @@ -381,10 +381,10 @@ mod tests { .build()?; let expected = "Projection: test.b [b:UInt32]\ - \n Semi Join: test.b = sq.a [a:UInt32, b:UInt32, c:UInt32]\ + \n LeftSemi Join: test.b = sq.a [a:UInt32, b:UInt32, c:UInt32]\ \n TableScan: test [a:UInt32, b:UInt32, c:UInt32]\ \n Projection: sq.a [a:UInt32]\ - \n Semi Join: sq.a = sq_nested.c [a:UInt32, b:UInt32, c:UInt32]\ + \n LeftSemi Join: sq.a = sq_nested.c [a:UInt32, b:UInt32, c:UInt32]\ \n TableScan: sq [a:UInt32, b:UInt32, c:UInt32]\ \n Projection: sq_nested.c [c:UInt32]\ \n TableScan: sq_nested [a:UInt32, b:UInt32, c:UInt32]"; @@ -413,7 +413,7 @@ mod tests { \n Subquery: [c:UInt32]\n Projection: sq_outer.c [c:UInt32]\ \n TableScan: sq_outer [a:UInt32, b:UInt32, c:UInt32]\ \n Projection: test.b, test.c, alias=wrapped [b:UInt32, c:UInt32]\ - \n Semi Join: test.c = sq_inner.c [a:UInt32, b:UInt32, c:UInt32]\ + \n LeftSemi Join: test.c = sq_inner.c [a:UInt32, b:UInt32, c:UInt32]\ \n TableScan: test [a:UInt32, b:UInt32, c:UInt32]\ \n Projection: sq_inner.c [c:UInt32]\ \n TableScan: sq_inner [a:UInt32, b:UInt32, c:UInt32]"; diff --git a/datafusion/optimizer/tests/integration-test.rs b/datafusion/optimizer/tests/integration-test.rs index 8003d590ec10..71a18b62455d 100644 --- a/datafusion/optimizer/tests/integration-test.rs +++ b/datafusion/optimizer/tests/integration-test.rs @@ -117,7 +117,7 @@ fn semi_join_with_join_filter() -> Result<()> { AND test.col_uint32 != t2.col_uint32)"; let plan = test_sql(sql)?; let expected = "Projection: test.col_utf8\ - \n Semi Join: test.col_int32 = t2.col_int32 Filter: test.col_uint32 != t2.col_uint32\ + \n LeftSemi Join: test.col_int32 = t2.col_int32 Filter: test.col_uint32 != t2.col_uint32\ \n TableScan: test projection=[col_int32, col_uint32, col_utf8]\ \n SubqueryAlias: t2\ \n TableScan: test projection=[col_int32, col_uint32, col_utf8]"; @@ -133,7 +133,7 @@ fn anti_join_with_join_filter() -> Result<()> { AND test.col_uint32 != t2.col_uint32)"; let plan = test_sql(sql)?; let expected = "Projection: test.col_utf8\ - \n Anti Join: test.col_int32 = t2.col_int32 Filter: test.col_uint32 != t2.col_uint32\ + \n LeftAnti Join: test.col_int32 = t2.col_int32 Filter: test.col_uint32 != t2.col_uint32\ \n TableScan: test projection=[col_int32, col_uint32, col_utf8]\ \n SubqueryAlias: t2\ \n TableScan: test projection=[col_int32, col_uint32, col_utf8]"; @@ -148,7 +148,7 @@ fn where_exists_distinct() -> Result<()> { SELECT DISTINCT col_int32 FROM test t2 WHERE test.col_int32 = t2.col_int32)"; let plan = test_sql(sql)?; let expected = "Projection: test.col_int32\ - \n Semi Join: test.col_int32 = t2.col_int32\ + \n LeftSemi Join: test.col_int32 = t2.col_int32\ \n TableScan: test projection=[col_int32]\ \n SubqueryAlias: t2\ \n TableScan: test projection=[col_int32]"; @@ -163,9 +163,9 @@ fn intersect() -> Result<()> { INTERSECT SELECT col_int32, col_utf8 FROM test"; let plan = test_sql(sql)?; let expected = - "Semi Join: test.col_int32 = test.col_int32, test.col_utf8 = test.col_utf8\ + "LeftSemi Join: test.col_int32 = test.col_int32, test.col_utf8 = test.col_utf8\ \n Distinct:\ - \n Semi Join: test.col_int32 = test.col_int32, test.col_utf8 = test.col_utf8\ + \n LeftSemi Join: test.col_int32 = test.col_int32, test.col_utf8 = test.col_utf8\ \n Distinct:\ \n TableScan: test projection=[col_int32, col_utf8]\ \n TableScan: test projection=[col_int32, col_utf8]\ diff --git a/datafusion/proto/proto/datafusion.proto b/datafusion/proto/proto/datafusion.proto index 6d8500e1cc01..a316dd424f54 100644 --- a/datafusion/proto/proto/datafusion.proto +++ b/datafusion/proto/proto/datafusion.proto @@ -230,8 +230,8 @@ enum JoinType { LEFT = 1; RIGHT = 2; FULL = 3; - SEMI = 4; - ANTI = 5; + LEFTSEMI = 4; + LEFTANTI = 5; RIGHTSEMI = 6; } diff --git a/datafusion/proto/src/logical_plan.rs b/datafusion/proto/src/logical_plan.rs index 30a5db361c8d..d22a670177d7 100644 --- a/datafusion/proto/src/logical_plan.rs +++ b/datafusion/proto/src/logical_plan.rs @@ -243,9 +243,9 @@ impl From for JoinType { protobuf::JoinType::Left => JoinType::Left, protobuf::JoinType::Right => JoinType::Right, protobuf::JoinType::Full => JoinType::Full, - protobuf::JoinType::Semi => JoinType::Semi, + protobuf::JoinType::Leftsemi => JoinType::LeftSemi, protobuf::JoinType::Rightsemi => JoinType::RightSemi, - protobuf::JoinType::Anti => JoinType::Anti, + protobuf::JoinType::Leftanti => JoinType::LeftAnti, } } } @@ -257,9 +257,9 @@ impl From for protobuf::JoinType { JoinType::Left => protobuf::JoinType::Left, JoinType::Right => protobuf::JoinType::Right, JoinType::Full => protobuf::JoinType::Full, - JoinType::Semi => protobuf::JoinType::Semi, + JoinType::LeftSemi => protobuf::JoinType::Leftsemi, JoinType::RightSemi => protobuf::JoinType::Rightsemi, - JoinType::Anti => protobuf::JoinType::Anti, + JoinType::LeftAnti => protobuf::JoinType::Leftanti, } } } From 1117dd6c5931ddffa1b74db5ec9a1f59263ed938 Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Wed, 26 Oct 2022 22:32:00 +0200 Subject: [PATCH 08/12] Rename & fmt --- benchmarks/expected-plans/q16.txt | 2 +- benchmarks/expected-plans/q18.txt | 2 +- benchmarks/expected-plans/q20.txt | 4 ++-- benchmarks/expected-plans/q21.txt | 4 ++-- benchmarks/expected-plans/q4.txt | 2 +- datafusion/core/src/physical_plan/joins/hash_join.rs | 5 ++++- datafusion/core/src/physical_plan/joins/sort_merge_join.rs | 7 ++++--- datafusion/core/src/physical_plan/joins/utils.rs | 4 ++-- 8 files changed, 17 insertions(+), 13 deletions(-) diff --git a/benchmarks/expected-plans/q16.txt b/benchmarks/expected-plans/q16.txt index 11943cf2477b..b1efb18fa495 100644 --- a/benchmarks/expected-plans/q16.txt +++ b/benchmarks/expected-plans/q16.txt @@ -3,7 +3,7 @@ Sort: supplier_cnt DESC NULLS FIRST, part.p_brand ASC NULLS LAST, part.p_type AS Projection: group_alias_0 AS p_brand, group_alias_1 AS p_type, group_alias_2 AS p_size, COUNT(alias1) AS COUNT(DISTINCT partsupp.ps_suppkey) Aggregate: groupBy=[[group_alias_0, group_alias_1, group_alias_2]], aggr=[[COUNT(alias1)]] Aggregate: groupBy=[[part.p_brand AS group_alias_0, part.p_type AS group_alias_1, part.p_size AS group_alias_2, partsupp.ps_suppkey AS alias1]], aggr=[[]] - Anti Join: partsupp.ps_suppkey = __sq_1.s_suppkey + LeftAnti Join: partsupp.ps_suppkey = __sq_1.s_suppkey Inner Join: partsupp.ps_partkey = part.p_partkey TableScan: partsupp projection=[ps_partkey, ps_suppkey] Filter: part.p_brand != Utf8("Brand#45") AND part.p_type NOT LIKE Utf8("MEDIUM POLISHED%") AND part.p_size IN ([Int32(49), Int32(14), Int32(23), Int32(45), Int32(19), Int32(3), Int32(36), Int32(9)]) diff --git a/benchmarks/expected-plans/q18.txt b/benchmarks/expected-plans/q18.txt index ebc22ea5d886..ce0b20c201e3 100644 --- a/benchmarks/expected-plans/q18.txt +++ b/benchmarks/expected-plans/q18.txt @@ -1,7 +1,7 @@ Sort: orders.o_totalprice DESC NULLS FIRST, orders.o_orderdate ASC NULLS LAST Projection: customer.c_name, customer.c_custkey, orders.o_orderkey, orders.o_orderdate, orders.o_totalprice, SUM(lineitem.l_quantity) Aggregate: groupBy=[[customer.c_name, customer.c_custkey, orders.o_orderkey, orders.o_orderdate, orders.o_totalprice]], aggr=[[SUM(lineitem.l_quantity)]] - Semi Join: orders.o_orderkey = __sq_1.l_orderkey + LeftSemi Join: orders.o_orderkey = __sq_1.l_orderkey Inner Join: orders.o_orderkey = lineitem.l_orderkey Inner Join: customer.c_custkey = orders.o_custkey TableScan: customer projection=[c_custkey, c_name] diff --git a/benchmarks/expected-plans/q20.txt b/benchmarks/expected-plans/q20.txt index 6d3ef1f6cc75..e5398325e966 100644 --- a/benchmarks/expected-plans/q20.txt +++ b/benchmarks/expected-plans/q20.txt @@ -1,6 +1,6 @@ Sort: supplier.s_name ASC NULLS LAST Projection: supplier.s_name, supplier.s_address - Semi Join: supplier.s_suppkey = __sq_2.ps_suppkey + LeftSemi Join: supplier.s_suppkey = __sq_2.ps_suppkey Inner Join: supplier.s_nationkey = nation.n_nationkey TableScan: supplier projection=[s_suppkey, s_name, s_address, s_nationkey] Filter: nation.n_name = Utf8("CANADA") @@ -8,7 +8,7 @@ Sort: supplier.s_name ASC NULLS LAST Projection: partsupp.ps_suppkey AS ps_suppkey, alias=__sq_2 Filter: CAST(partsupp.ps_availqty AS Decimal128(38, 17)) > __sq_3.__value Inner Join: partsupp.ps_partkey = __sq_3.l_partkey, partsupp.ps_suppkey = __sq_3.l_suppkey - Semi Join: partsupp.ps_partkey = __sq_1.p_partkey + LeftSemi Join: partsupp.ps_partkey = __sq_1.p_partkey TableScan: partsupp projection=[ps_partkey, ps_suppkey, ps_availqty] Projection: part.p_partkey AS p_partkey, alias=__sq_1 Filter: part.p_name LIKE Utf8("forest%") diff --git a/benchmarks/expected-plans/q21.txt b/benchmarks/expected-plans/q21.txt index f5aa1dc84cf9..397e0a8d8cf6 100644 --- a/benchmarks/expected-plans/q21.txt +++ b/benchmarks/expected-plans/q21.txt @@ -1,8 +1,8 @@ Sort: numwait DESC NULLS FIRST, supplier.s_name ASC NULLS LAST Projection: supplier.s_name, COUNT(UInt8(1)) AS numwait Aggregate: groupBy=[[supplier.s_name]], aggr=[[COUNT(UInt8(1))]] - Anti Join: l1.l_orderkey = l3.l_orderkey Filter: l3.l_suppkey != l1.l_suppkey - Semi Join: l1.l_orderkey = l2.l_orderkey Filter: l2.l_suppkey != l1.l_suppkey + LeftAnti Join: l1.l_orderkey = l3.l_orderkey Filter: l3.l_suppkey != l1.l_suppkey + LeftSemi Join: l1.l_orderkey = l2.l_orderkey Filter: l2.l_suppkey != l1.l_suppkey Inner Join: supplier.s_nationkey = nation.n_nationkey Inner Join: l1.l_orderkey = orders.o_orderkey Inner Join: supplier.s_suppkey = l1.l_suppkey diff --git a/benchmarks/expected-plans/q4.txt b/benchmarks/expected-plans/q4.txt index a4339732e68f..3610ae175adc 100644 --- a/benchmarks/expected-plans/q4.txt +++ b/benchmarks/expected-plans/q4.txt @@ -1,7 +1,7 @@ Sort: orders.o_orderpriority ASC NULLS LAST Projection: orders.o_orderpriority, COUNT(UInt8(1)) AS order_count Aggregate: groupBy=[[orders.o_orderpriority]], aggr=[[COUNT(UInt8(1))]] - Semi Join: orders.o_orderkey = lineitem.l_orderkey + LeftSemi Join: orders.o_orderkey = lineitem.l_orderkey Filter: orders.o_orderdate >= Date32("8582") AND orders.o_orderdate < Date32("8674") TableScan: orders projection=[o_orderkey, o_orderdate, o_orderpriority] Filter: lineitem.l_commitdate < lineitem.l_receiptdate diff --git a/datafusion/core/src/physical_plan/joins/hash_join.rs b/datafusion/core/src/physical_plan/joins/hash_join.rs index b2be3242e75e..b41c0df1eb0d 100644 --- a/datafusion/core/src/physical_plan/joins/hash_join.rs +++ b/datafusion/core/src/physical_plan/joins/hash_join.rs @@ -1332,7 +1332,10 @@ impl HashJoinStream { let visited_left_side = self.visited_left_side.get_or_insert_with(|| { let num_rows = left_data.1.num_rows(); match self.join_type { - JoinType::Left | JoinType::Full | JoinType::LeftSemi | JoinType::LeftAnti => { + JoinType::Left + | JoinType::Full + | JoinType::LeftSemi + | JoinType::LeftAnti => { let mut buffer = BooleanBufferBuilder::new(num_rows); buffer.append_n(num_rows, false); diff --git a/datafusion/core/src/physical_plan/joins/sort_merge_join.rs b/datafusion/core/src/physical_plan/joins/sort_merge_join.rs index 5a92f3d5e1ed..dfcab88c277e 100644 --- a/datafusion/core/src/physical_plan/joins/sort_merge_join.rs +++ b/datafusion/core/src/physical_plan/joins/sort_merge_join.rs @@ -135,9 +135,10 @@ impl ExecutionPlan for SortMergeJoinExec { fn output_ordering(&self) -> Option<&[PhysicalSortExpr]> { match self.join_type { - JoinType::Inner | JoinType::Left | JoinType::LeftSemi | JoinType::LeftAnti => { - self.left.output_ordering() - } + JoinType::Inner + | JoinType::Left + | JoinType::LeftSemi + | JoinType::LeftAnti => self.left.output_ordering(), JoinType::Right | JoinType::RightSemi => self.right.output_ordering(), JoinType::Full => None, } diff --git a/datafusion/core/src/physical_plan/joins/utils.rs b/datafusion/core/src/physical_plan/joins/utils.rs index 8599e31c0860..1d1560478ae4 100644 --- a/datafusion/core/src/physical_plan/joins/utils.rs +++ b/datafusion/core/src/physical_plan/joins/utils.rs @@ -169,9 +169,9 @@ fn output_join_field(old_field: &Field, join_type: &JoinType, is_left: bool) -> JoinType::Left => !is_left, // right input is padded with nulls JoinType::Right => is_left, // left input is padded with nulls JoinType::Full => true, // both inputs can be padded with nulls - JoinType::LeftSemi => false, // doesn't introduce nulls + JoinType::LeftSemi => false, // doesn't introduce nulls JoinType::RightSemi => false, // doesn't introduce nulls - JoinType::LeftAnti => false, // doesn't introduce nulls (or can it??) + JoinType::LeftAnti => false, // doesn't introduce nulls (or can it??) }; if force_nullable { From 03dc95a9a722d1866b873742ec9a9ef4806dffcb Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Wed, 26 Oct 2022 23:16:22 +0200 Subject: [PATCH 09/12] Change display to leftanti --- datafusion/expr/src/logical_plan/plan.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datafusion/expr/src/logical_plan/plan.rs b/datafusion/expr/src/logical_plan/plan.rs index 7a6de1fd480b..628ad61487d6 100644 --- a/datafusion/expr/src/logical_plan/plan.rs +++ b/datafusion/expr/src/logical_plan/plan.rs @@ -997,7 +997,7 @@ impl Display for JoinType { JoinType::Full => "Full", JoinType::LeftSemi => "LeftSemi", JoinType::RightSemi => "RightSemi", - JoinType::LeftAnti => "Anti", + JoinType::LeftAnti => "LeftAnti", }; write!(f, "{}", join_type) } From ee86743c690d17e51563995491d37a2617447732 Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Thu, 27 Oct 2022 12:58:11 +0200 Subject: [PATCH 10/12] Fix last expected plan --- benchmarks/expected-plans/q22.txt | 2 +- datafusion/expr/src/logical_plan/plan.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmarks/expected-plans/q22.txt b/benchmarks/expected-plans/q22.txt index 919372f04a96..b56c8ff96fc7 100644 --- a/benchmarks/expected-plans/q22.txt +++ b/benchmarks/expected-plans/q22.txt @@ -5,7 +5,7 @@ Sort: custsale.cntrycode ASC NULLS LAST Projection: substr(customer.c_phone, Int64(1), Int64(2)) AS cntrycode, customer.c_acctbal, alias=custsale Filter: CAST(customer.c_acctbal AS Decimal128(19, 6)) > __sq_1.__value CrossJoin: - Anti Join: customer.c_custkey = orders.o_custkey + LeftAnti Join: customer.c_custkey = orders.o_custkey Filter: substr(customer.c_phone, Int64(1), Int64(2)) IN ([Utf8("13"), Utf8("31"), Utf8("23"), Utf8("29"), Utf8("30"), Utf8("18"), Utf8("17")]) TableScan: customer projection=[c_custkey, c_phone, c_acctbal] TableScan: orders projection=[o_custkey] diff --git a/datafusion/expr/src/logical_plan/plan.rs b/datafusion/expr/src/logical_plan/plan.rs index 628ad61487d6..47bb4f3d4e79 100644 --- a/datafusion/expr/src/logical_plan/plan.rs +++ b/datafusion/expr/src/logical_plan/plan.rs @@ -984,7 +984,7 @@ pub enum JoinType { LeftSemi, /// Right Semi Join RightSemi, - /// Anti Join + /// Left Anti Join LeftAnti, } From 85201d8bf8244f7ed8cf352a5ba87adea41c3f1c Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Thu, 27 Oct 2022 16:16:52 +0200 Subject: [PATCH 11/12] Commit generated file --- datafusion/proto/src/generated/pbjson.rs | 1140 +++++++++------------- datafusion/proto/src/generated/prost.rs | 10 +- 2 files changed, 480 insertions(+), 670 deletions(-) diff --git a/datafusion/proto/src/generated/pbjson.rs b/datafusion/proto/src/generated/pbjson.rs index e6b095b8430a..0e193cdf9a95 100644 --- a/datafusion/proto/src/generated/pbjson.rs +++ b/datafusion/proto/src/generated/pbjson.rs @@ -43,7 +43,6 @@ impl<'de> serde::Deserialize<'de> for AggregateExprNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "aggr_function", "aggrFunction", "expr", "distinct", @@ -77,7 +76,7 @@ impl<'de> serde::Deserialize<'de> for AggregateExprNode { E: serde::de::Error, { match value { - "aggrFunction" | "aggr_function" => Ok(GeneratedField::AggrFunction), + "aggrFunction" => Ok(GeneratedField::AggrFunction), "expr" => Ok(GeneratedField::Expr), "distinct" => Ok(GeneratedField::Distinct), "filter" => Ok(GeneratedField::Filter), @@ -128,7 +127,7 @@ impl<'de> serde::Deserialize<'de> for AggregateExprNode { if filter__.is_some() { return Err(serde::de::Error::duplicate_field("filter")); } - filter__ = map.next_value()?; + filter__ = Some(map.next_value()?); } } } @@ -305,9 +304,7 @@ impl<'de> serde::Deserialize<'de> for AggregateNode { { const FIELDS: &[&str] = &[ "input", - "group_expr", "groupExpr", - "aggr_expr", "aggrExpr", ]; @@ -338,8 +335,8 @@ impl<'de> serde::Deserialize<'de> for AggregateNode { { match value { "input" => Ok(GeneratedField::Input), - "groupExpr" | "group_expr" => Ok(GeneratedField::GroupExpr), - "aggrExpr" | "aggr_expr" => Ok(GeneratedField::AggrExpr), + "groupExpr" => Ok(GeneratedField::GroupExpr), + "aggrExpr" => Ok(GeneratedField::AggrExpr), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -368,7 +365,7 @@ impl<'de> serde::Deserialize<'de> for AggregateNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::GroupExpr => { if group_expr__.is_some() { @@ -431,7 +428,6 @@ impl<'de> serde::Deserialize<'de> for AggregateUdfExprNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "fun_name", "funName", "args", "filter", @@ -463,7 +459,7 @@ impl<'de> serde::Deserialize<'de> for AggregateUdfExprNode { E: serde::de::Error, { match value { - "funName" | "fun_name" => Ok(GeneratedField::FunName), + "funName" => Ok(GeneratedField::FunName), "args" => Ok(GeneratedField::Args), "filter" => Ok(GeneratedField::Filter), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), @@ -506,7 +502,7 @@ impl<'de> serde::Deserialize<'de> for AggregateUdfExprNode { if filter__.is_some() { return Err(serde::de::Error::duplicate_field("filter")); } - filter__ = map.next_value()?; + filter__ = Some(map.next_value()?); } } } @@ -609,7 +605,7 @@ impl<'de> serde::Deserialize<'de> for AliasNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::Alias => { if alias__.is_some() { @@ -717,7 +713,7 @@ impl<'de> serde::Deserialize<'de> for AnalyzeNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::Verbose => { if verbose__.is_some() { @@ -880,12 +876,9 @@ impl<'de> serde::Deserialize<'de> for ArrowType { "FLOAT32", "FLOAT64", "UTF8", - "LARGE_UTF8", "LARGEUTF8", "BINARY", - "FIXED_SIZE_BINARY", "FIXEDSIZEBINARY", - "LARGE_BINARY", "LARGEBINARY", "DATE32", "DATE64", @@ -896,9 +889,7 @@ impl<'de> serde::Deserialize<'de> for ArrowType { "INTERVAL", "DECIMAL", "LIST", - "LARGE_LIST", "LARGELIST", - "FIXED_SIZE_LIST", "FIXEDSIZELIST", "STRUCT", "UNION", @@ -974,10 +965,10 @@ impl<'de> serde::Deserialize<'de> for ArrowType { "FLOAT32" => Ok(GeneratedField::Float32), "FLOAT64" => Ok(GeneratedField::Float64), "UTF8" => Ok(GeneratedField::Utf8), - "LARGEUTF8" | "LARGE_UTF8" => Ok(GeneratedField::LargeUtf8), + "LARGEUTF8" => Ok(GeneratedField::LargeUtf8), "BINARY" => Ok(GeneratedField::Binary), - "FIXEDSIZEBINARY" | "FIXED_SIZE_BINARY" => Ok(GeneratedField::FixedSizeBinary), - "LARGEBINARY" | "LARGE_BINARY" => Ok(GeneratedField::LargeBinary), + "FIXEDSIZEBINARY" => Ok(GeneratedField::FixedSizeBinary), + "LARGEBINARY" => Ok(GeneratedField::LargeBinary), "DATE32" => Ok(GeneratedField::Date32), "DATE64" => Ok(GeneratedField::Date64), "DURATION" => Ok(GeneratedField::Duration), @@ -987,8 +978,8 @@ impl<'de> serde::Deserialize<'de> for ArrowType { "INTERVAL" => Ok(GeneratedField::Interval), "DECIMAL" => Ok(GeneratedField::Decimal), "LIST" => Ok(GeneratedField::List), - "LARGELIST" | "LARGE_LIST" => Ok(GeneratedField::LargeList), - "FIXEDSIZELIST" | "FIXED_SIZE_LIST" => Ok(GeneratedField::FixedSizeList), + "LARGELIST" => Ok(GeneratedField::LargeList), + "FIXEDSIZELIST" => Ok(GeneratedField::FixedSizeList), "STRUCT" => Ok(GeneratedField::Struct), "UNION" => Ok(GeneratedField::Union), "DICTIONARY" => Ok(GeneratedField::Dictionary), @@ -1018,220 +1009,195 @@ impl<'de> serde::Deserialize<'de> for ArrowType { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("NONE")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::None) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::None(map.next_value()?)); } GeneratedField::Bool => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("BOOL")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Bool) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Bool(map.next_value()?)); } GeneratedField::Uint8 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UINT8")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Uint8) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Uint8(map.next_value()?)); } GeneratedField::Int8 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("INT8")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Int8) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Int8(map.next_value()?)); } GeneratedField::Uint16 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UINT16")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Uint16) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Uint16(map.next_value()?)); } GeneratedField::Int16 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("INT16")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Int16) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Int16(map.next_value()?)); } GeneratedField::Uint32 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UINT32")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Uint32) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Uint32(map.next_value()?)); } GeneratedField::Int32 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("INT32")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Int32) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Int32(map.next_value()?)); } GeneratedField::Uint64 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UINT64")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Uint64) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Uint64(map.next_value()?)); } GeneratedField::Int64 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("INT64")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Int64) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Int64(map.next_value()?)); } GeneratedField::Float16 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FLOAT16")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Float16) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Float16(map.next_value()?)); } GeneratedField::Float32 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FLOAT32")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Float32) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Float32(map.next_value()?)); } GeneratedField::Float64 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FLOAT64")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Float64) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Float64(map.next_value()?)); } GeneratedField::Utf8 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UTF8")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Utf8) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Utf8(map.next_value()?)); } GeneratedField::LargeUtf8 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("LARGEUTF8")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::LargeUtf8) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::LargeUtf8(map.next_value()?)); } GeneratedField::Binary => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("BINARY")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Binary) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Binary(map.next_value()?)); } GeneratedField::FixedSizeBinary => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FIXEDSIZEBINARY")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| arrow_type::ArrowTypeEnum::FixedSizeBinary(x.0)); + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::FixedSizeBinary( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::LargeBinary => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("LARGEBINARY")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::LargeBinary) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::LargeBinary(map.next_value()?)); } GeneratedField::Date32 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("DATE32")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Date32) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Date32(map.next_value()?)); } GeneratedField::Date64 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("DATE64")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Date64) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Date64(map.next_value()?)); } GeneratedField::Duration => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("DURATION")); } - arrow_type_enum__ = map.next_value::<::std::option::Option>()?.map(|x| arrow_type::ArrowTypeEnum::Duration(x as i32)); + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Duration(map.next_value::()? as i32)); } GeneratedField::Timestamp => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("TIMESTAMP")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Timestamp) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Timestamp(map.next_value()?)); } GeneratedField::Time32 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("TIME32")); } - arrow_type_enum__ = map.next_value::<::std::option::Option>()?.map(|x| arrow_type::ArrowTypeEnum::Time32(x as i32)); + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Time32(map.next_value::()? as i32)); } GeneratedField::Time64 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("TIME64")); } - arrow_type_enum__ = map.next_value::<::std::option::Option>()?.map(|x| arrow_type::ArrowTypeEnum::Time64(x as i32)); + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Time64(map.next_value::()? as i32)); } GeneratedField::Interval => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("INTERVAL")); } - arrow_type_enum__ = map.next_value::<::std::option::Option>()?.map(|x| arrow_type::ArrowTypeEnum::Interval(x as i32)); + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Interval(map.next_value::()? as i32)); } GeneratedField::Decimal => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("DECIMAL")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Decimal) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Decimal(map.next_value()?)); } GeneratedField::List => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("LIST")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::List) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::List(map.next_value()?)); } GeneratedField::LargeList => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("LARGELIST")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::LargeList) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::LargeList(map.next_value()?)); } GeneratedField::FixedSizeList => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FIXEDSIZELIST")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::FixedSizeList) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::FixedSizeList(map.next_value()?)); } GeneratedField::Struct => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("STRUCT")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Struct) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Struct(map.next_value()?)); } GeneratedField::Union => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UNION")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Union) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Union(map.next_value()?)); } GeneratedField::Dictionary => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("DICTIONARY")); } - arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Dictionary) -; + arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Dictionary(map.next_value()?)); } } } @@ -1423,7 +1389,7 @@ impl<'de> serde::Deserialize<'de> for BetweenNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::Negated => { if negated__.is_some() { @@ -1435,13 +1401,13 @@ impl<'de> serde::Deserialize<'de> for BetweenNode { if low__.is_some() { return Err(serde::de::Error::duplicate_field("low")); } - low__ = map.next_value()?; + low__ = Some(map.next_value()?); } GeneratedField::High => { if high__.is_some() { return Err(serde::de::Error::duplicate_field("high")); } - high__ = map.next_value()?; + high__ = Some(map.next_value()?); } } } @@ -1555,13 +1521,13 @@ impl<'de> serde::Deserialize<'de> for BinaryExprNode { if l__.is_some() { return Err(serde::de::Error::duplicate_field("l")); } - l__ = map.next_value()?; + l__ = Some(map.next_value()?); } GeneratedField::R => { if r__.is_some() { return Err(serde::de::Error::duplicate_field("r")); } - r__ = map.next_value()?; + r__ = Some(map.next_value()?); } GeneratedField::Op => { if op__.is_some() { @@ -1719,9 +1685,7 @@ impl<'de> serde::Deserialize<'de> for CaseNode { { const FIELDS: &[&str] = &[ "expr", - "when_then_expr", "whenThenExpr", - "else_expr", "elseExpr", ]; @@ -1752,8 +1716,8 @@ impl<'de> serde::Deserialize<'de> for CaseNode { { match value { "expr" => Ok(GeneratedField::Expr), - "whenThenExpr" | "when_then_expr" => Ok(GeneratedField::WhenThenExpr), - "elseExpr" | "else_expr" => Ok(GeneratedField::ElseExpr), + "whenThenExpr" => Ok(GeneratedField::WhenThenExpr), + "elseExpr" => Ok(GeneratedField::ElseExpr), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -1782,7 +1746,7 @@ impl<'de> serde::Deserialize<'de> for CaseNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::WhenThenExpr => { if when_then_expr__.is_some() { @@ -1794,7 +1758,7 @@ impl<'de> serde::Deserialize<'de> for CaseNode { if else_expr__.is_some() { return Err(serde::de::Error::duplicate_field("elseExpr")); } - else_expr__ = map.next_value()?; + else_expr__ = Some(map.next_value()?); } } } @@ -1840,7 +1804,6 @@ impl<'de> serde::Deserialize<'de> for CastNode { { const FIELDS: &[&str] = &[ "expr", - "arrow_type", "arrowType", ]; @@ -1870,7 +1833,7 @@ impl<'de> serde::Deserialize<'de> for CastNode { { match value { "expr" => Ok(GeneratedField::Expr), - "arrowType" | "arrow_type" => Ok(GeneratedField::ArrowType), + "arrowType" => Ok(GeneratedField::ArrowType), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -1898,13 +1861,13 @@ impl<'de> serde::Deserialize<'de> for CastNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::ArrowType => { if arrow_type__.is_some() { return Err(serde::de::Error::duplicate_field("arrowType")); } - arrow_type__ = map.next_value()?; + arrow_type__ = Some(map.next_value()?); } } } @@ -2012,7 +1975,7 @@ impl<'de> serde::Deserialize<'de> for Column { if relation__.is_some() { return Err(serde::de::Error::duplicate_field("relation")); } - relation__ = map.next_value()?; + relation__ = Some(map.next_value()?); } } } @@ -2153,9 +2116,7 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "catalog_name", "catalogName", - "if_not_exists", "ifNotExists", "schema", ]; @@ -2186,8 +2147,8 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogNode { E: serde::de::Error, { match value { - "catalogName" | "catalog_name" => Ok(GeneratedField::CatalogName), - "ifNotExists" | "if_not_exists" => Ok(GeneratedField::IfNotExists), + "catalogName" => Ok(GeneratedField::CatalogName), + "ifNotExists" => Ok(GeneratedField::IfNotExists), "schema" => Ok(GeneratedField::Schema), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -2229,7 +2190,7 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogNode { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = map.next_value()?; + schema__ = Some(map.next_value()?); } } } @@ -2280,9 +2241,7 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogSchemaNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "schema_name", "schemaName", - "if_not_exists", "ifNotExists", "schema", ]; @@ -2313,8 +2272,8 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogSchemaNode { E: serde::de::Error, { match value { - "schemaName" | "schema_name" => Ok(GeneratedField::SchemaName), - "ifNotExists" | "if_not_exists" => Ok(GeneratedField::IfNotExists), + "schemaName" => Ok(GeneratedField::SchemaName), + "ifNotExists" => Ok(GeneratedField::IfNotExists), "schema" => Ok(GeneratedField::Schema), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -2356,7 +2315,7 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogSchemaNode { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = map.next_value()?; + schema__ = Some(map.next_value()?); } } } @@ -2451,18 +2410,13 @@ impl<'de> serde::Deserialize<'de> for CreateExternalTableNode { const FIELDS: &[&str] = &[ "name", "location", - "file_type", "fileType", - "has_header", "hasHeader", "schema", - "table_partition_cols", "tablePartitionCols", - "if_not_exists", "ifNotExists", "delimiter", "definition", - "file_compression_type", "fileCompressionType", ]; @@ -2501,14 +2455,14 @@ impl<'de> serde::Deserialize<'de> for CreateExternalTableNode { match value { "name" => Ok(GeneratedField::Name), "location" => Ok(GeneratedField::Location), - "fileType" | "file_type" => Ok(GeneratedField::FileType), - "hasHeader" | "has_header" => Ok(GeneratedField::HasHeader), + "fileType" => Ok(GeneratedField::FileType), + "hasHeader" => Ok(GeneratedField::HasHeader), "schema" => Ok(GeneratedField::Schema), - "tablePartitionCols" | "table_partition_cols" => Ok(GeneratedField::TablePartitionCols), - "ifNotExists" | "if_not_exists" => Ok(GeneratedField::IfNotExists), + "tablePartitionCols" => Ok(GeneratedField::TablePartitionCols), + "ifNotExists" => Ok(GeneratedField::IfNotExists), "delimiter" => Ok(GeneratedField::Delimiter), "definition" => Ok(GeneratedField::Definition), - "fileCompressionType" | "file_compression_type" => Ok(GeneratedField::FileCompressionType), + "fileCompressionType" => Ok(GeneratedField::FileCompressionType), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -2568,7 +2522,7 @@ impl<'de> serde::Deserialize<'de> for CreateExternalTableNode { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = map.next_value()?; + schema__ = Some(map.next_value()?); } GeneratedField::TablePartitionCols => { if table_partition_cols__.is_some() { @@ -2664,7 +2618,6 @@ impl<'de> serde::Deserialize<'de> for CreateViewNode { const FIELDS: &[&str] = &[ "name", "input", - "or_replace", "orReplace", "definition", ]; @@ -2698,7 +2651,7 @@ impl<'de> serde::Deserialize<'de> for CreateViewNode { match value { "name" => Ok(GeneratedField::Name), "input" => Ok(GeneratedField::Input), - "orReplace" | "or_replace" => Ok(GeneratedField::OrReplace), + "orReplace" => Ok(GeneratedField::OrReplace), "definition" => Ok(GeneratedField::Definition), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -2735,7 +2688,7 @@ impl<'de> serde::Deserialize<'de> for CreateViewNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::OrReplace => { if or_replace__.is_some() { @@ -2851,13 +2804,13 @@ impl<'de> serde::Deserialize<'de> for CrossJoinNode { if left__.is_some() { return Err(serde::de::Error::duplicate_field("left")); } - left__ = map.next_value()?; + left__ = Some(map.next_value()?); } GeneratedField::Right => { if right__.is_some() { return Err(serde::de::Error::duplicate_field("right")); } - right__ = map.next_value()?; + right__ = Some(map.next_value()?); } } } @@ -2901,7 +2854,6 @@ impl<'de> serde::Deserialize<'de> for CsvFormat { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "has_header", "hasHeader", "delimiter", ]; @@ -2931,7 +2883,7 @@ impl<'de> serde::Deserialize<'de> for CsvFormat { E: serde::de::Error, { match value { - "hasHeader" | "has_header" => Ok(GeneratedField::HasHeader), + "hasHeader" => Ok(GeneratedField::HasHeader), "delimiter" => Ok(GeneratedField::Delimiter), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -3119,12 +3071,10 @@ impl<'de> serde::Deserialize<'de> for CustomTableScanNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "table_name", "tableName", "projection", "schema", "filters", - "custom_table_data", "customTableData", ]; @@ -3156,11 +3106,11 @@ impl<'de> serde::Deserialize<'de> for CustomTableScanNode { E: serde::de::Error, { match value { - "tableName" | "table_name" => Ok(GeneratedField::TableName), + "tableName" => Ok(GeneratedField::TableName), "projection" => Ok(GeneratedField::Projection), "schema" => Ok(GeneratedField::Schema), "filters" => Ok(GeneratedField::Filters), - "customTableData" | "custom_table_data" => Ok(GeneratedField::CustomTableData), + "customTableData" => Ok(GeneratedField::CustomTableData), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -3197,13 +3147,13 @@ impl<'de> serde::Deserialize<'de> for CustomTableScanNode { if projection__.is_some() { return Err(serde::de::Error::duplicate_field("projection")); } - projection__ = map.next_value()?; + projection__ = Some(map.next_value()?); } GeneratedField::Schema => { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = map.next_value()?; + schema__ = Some(map.next_value()?); } GeneratedField::Filters => { if filters__.is_some() { @@ -3215,9 +3165,9 @@ impl<'de> serde::Deserialize<'de> for CustomTableScanNode { if custom_table_data__.is_some() { return Err(serde::de::Error::duplicate_field("customTableData")); } - custom_table_data__ = - Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) - ; + custom_table_data__ = Some( + map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 + ); } } } @@ -3395,17 +3345,17 @@ impl<'de> serde::Deserialize<'de> for Decimal { if whole__.is_some() { return Err(serde::de::Error::duplicate_field("whole")); } - whole__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + whole__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } GeneratedField::Fractional => { if fractional__.is_some() { return Err(serde::de::Error::duplicate_field("fractional")); } - fractional__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + fractional__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } } } @@ -3517,25 +3467,25 @@ impl<'de> serde::Deserialize<'de> for Decimal128 { if value__.is_some() { return Err(serde::de::Error::duplicate_field("value")); } - value__ = - Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) - ; + value__ = Some( + map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 + ); } GeneratedField::P => { if p__.is_some() { return Err(serde::de::Error::duplicate_field("p")); } - p__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + p__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } GeneratedField::S => { if s__.is_some() { return Err(serde::de::Error::duplicate_field("s")); } - s__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + s__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } } } @@ -3638,13 +3588,13 @@ impl<'de> serde::Deserialize<'de> for DfField { if field__.is_some() { return Err(serde::de::Error::duplicate_field("field")); } - field__ = map.next_value()?; + field__ = Some(map.next_value()?); } GeneratedField::Qualifier => { if qualifier__.is_some() { return Err(serde::de::Error::duplicate_field("qualifier")); } - qualifier__ = map.next_value()?; + qualifier__ = Some(map.next_value()?); } } } @@ -3856,13 +3806,13 @@ impl<'de> serde::Deserialize<'de> for Dictionary { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } - key__ = map.next_value()?; + key__ = Some(map.next_value()?); } GeneratedField::Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("value")); } - value__ = map.next_value()?; + value__ = Some(map.next_value()?); } } } @@ -3954,7 +3904,7 @@ impl<'de> serde::Deserialize<'de> for DistinctNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } } } @@ -4062,7 +4012,6 @@ impl<'de> serde::Deserialize<'de> for EmptyRelationNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "produce_one_row", "produceOneRow", ]; @@ -4090,7 +4039,7 @@ impl<'de> serde::Deserialize<'de> for EmptyRelationNode { E: serde::de::Error, { match value { - "produceOneRow" | "produce_one_row" => Ok(GeneratedField::ProduceOneRow), + "produceOneRow" => Ok(GeneratedField::ProduceOneRow), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -4218,7 +4167,7 @@ impl<'de> serde::Deserialize<'de> for ExplainNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::Verbose => { if verbose__.is_some() { @@ -4281,7 +4230,6 @@ impl<'de> serde::Deserialize<'de> for Field { { const FIELDS: &[&str] = &[ "name", - "arrow_type", "arrowType", "nullable", "children", @@ -4315,7 +4263,7 @@ impl<'de> serde::Deserialize<'de> for Field { { match value { "name" => Ok(GeneratedField::Name), - "arrowType" | "arrow_type" => Ok(GeneratedField::ArrowType), + "arrowType" => Ok(GeneratedField::ArrowType), "nullable" => Ok(GeneratedField::Nullable), "children" => Ok(GeneratedField::Children), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), @@ -4353,7 +4301,7 @@ impl<'de> serde::Deserialize<'de> for Field { if arrow_type__.is_some() { return Err(serde::de::Error::duplicate_field("arrowType")); } - arrow_type__ = map.next_value()?; + arrow_type__ = Some(map.next_value()?); } GeneratedField::Nullable => { if nullable__.is_some() { @@ -4459,9 +4407,9 @@ impl<'de> serde::Deserialize<'de> for FixedSizeBinary { if length__.is_some() { return Err(serde::de::Error::duplicate_field("length")); } - length__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + length__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } } } @@ -4504,9 +4452,7 @@ impl<'de> serde::Deserialize<'de> for FixedSizeList { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "field_type", "fieldType", - "list_size", "listSize", ]; @@ -4535,8 +4481,8 @@ impl<'de> serde::Deserialize<'de> for FixedSizeList { E: serde::de::Error, { match value { - "fieldType" | "field_type" => Ok(GeneratedField::FieldType), - "listSize" | "list_size" => Ok(GeneratedField::ListSize), + "fieldType" => Ok(GeneratedField::FieldType), + "listSize" => Ok(GeneratedField::ListSize), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -4564,15 +4510,15 @@ impl<'de> serde::Deserialize<'de> for FixedSizeList { if field_type__.is_some() { return Err(serde::de::Error::duplicate_field("fieldType")); } - field_type__ = map.next_value()?; + field_type__ = Some(map.next_value()?); } GeneratedField::ListSize => { if list_size__.is_some() { return Err(serde::de::Error::duplicate_field("listSize")); } - list_size__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + list_size__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } } } @@ -4674,13 +4620,13 @@ impl<'de> serde::Deserialize<'de> for GetIndexedField { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } - key__ = map.next_value()?; + key__ = Some(map.next_value()?); } } } @@ -4815,9 +4761,7 @@ impl<'de> serde::Deserialize<'de> for HashRepartition { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "hash_expr", "hashExpr", - "partition_count", "partitionCount", ]; @@ -4846,8 +4790,8 @@ impl<'de> serde::Deserialize<'de> for HashRepartition { E: serde::de::Error, { match value { - "hashExpr" | "hash_expr" => Ok(GeneratedField::HashExpr), - "partitionCount" | "partition_count" => Ok(GeneratedField::PartitionCount), + "hashExpr" => Ok(GeneratedField::HashExpr), + "partitionCount" => Ok(GeneratedField::PartitionCount), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -4881,9 +4825,9 @@ impl<'de> serde::Deserialize<'de> for HashRepartition { if partition_count__.is_some() { return Err(serde::de::Error::duplicate_field("partitionCount")); } - partition_count__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + partition_count__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } } } @@ -4942,7 +4886,6 @@ impl<'de> serde::Deserialize<'de> for ILikeNode { "negated", "expr", "pattern", - "escape_char", "escapeChar", ]; @@ -4976,7 +4919,7 @@ impl<'de> serde::Deserialize<'de> for ILikeNode { "negated" => Ok(GeneratedField::Negated), "expr" => Ok(GeneratedField::Expr), "pattern" => Ok(GeneratedField::Pattern), - "escapeChar" | "escape_char" => Ok(GeneratedField::EscapeChar), + "escapeChar" => Ok(GeneratedField::EscapeChar), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -5012,13 +4955,13 @@ impl<'de> serde::Deserialize<'de> for ILikeNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::Pattern => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("pattern")); } - pattern__ = map.next_value()?; + pattern__ = Some(map.next_value()?); } GeneratedField::EscapeChar => { if escape_char__.is_some() { @@ -5138,7 +5081,7 @@ impl<'de> serde::Deserialize<'de> for InListNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::List => { if list__.is_some() { @@ -5263,25 +5206,25 @@ impl<'de> serde::Deserialize<'de> for IntervalMonthDayNanoValue { if months__.is_some() { return Err(serde::de::Error::duplicate_field("months")); } - months__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + months__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } GeneratedField::Days => { if days__.is_some() { return Err(serde::de::Error::duplicate_field("days")); } - days__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + days__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } GeneratedField::Nanos => { if nanos__.is_some() { return Err(serde::de::Error::duplicate_field("nanos")); } - nanos__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + nanos__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } } } @@ -5450,7 +5393,7 @@ impl<'de> serde::Deserialize<'de> for IsFalse { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -5541,7 +5484,7 @@ impl<'de> serde::Deserialize<'de> for IsNotFalse { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -5632,7 +5575,7 @@ impl<'de> serde::Deserialize<'de> for IsNotNull { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -5723,7 +5666,7 @@ impl<'de> serde::Deserialize<'de> for IsNotTrue { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -5814,7 +5757,7 @@ impl<'de> serde::Deserialize<'de> for IsNotUnknown { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -5905,7 +5848,7 @@ impl<'de> serde::Deserialize<'de> for IsNull { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -5996,7 +5939,7 @@ impl<'de> serde::Deserialize<'de> for IsTrue { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -6087,7 +6030,7 @@ impl<'de> serde::Deserialize<'de> for IsUnknown { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -6245,15 +6188,10 @@ impl<'de> serde::Deserialize<'de> for JoinNode { const FIELDS: &[&str] = &[ "left", "right", - "join_type", "joinType", - "join_constraint", "joinConstraint", - "left_join_column", "leftJoinColumn", - "right_join_column", "rightJoinColumn", - "null_equals_null", "nullEqualsNull", "filter", ]; @@ -6291,11 +6229,11 @@ impl<'de> serde::Deserialize<'de> for JoinNode { match value { "left" => Ok(GeneratedField::Left), "right" => Ok(GeneratedField::Right), - "joinType" | "join_type" => Ok(GeneratedField::JoinType), - "joinConstraint" | "join_constraint" => Ok(GeneratedField::JoinConstraint), - "leftJoinColumn" | "left_join_column" => Ok(GeneratedField::LeftJoinColumn), - "rightJoinColumn" | "right_join_column" => Ok(GeneratedField::RightJoinColumn), - "nullEqualsNull" | "null_equals_null" => Ok(GeneratedField::NullEqualsNull), + "joinType" => Ok(GeneratedField::JoinType), + "joinConstraint" => Ok(GeneratedField::JoinConstraint), + "leftJoinColumn" => Ok(GeneratedField::LeftJoinColumn), + "rightJoinColumn" => Ok(GeneratedField::RightJoinColumn), + "nullEqualsNull" => Ok(GeneratedField::NullEqualsNull), "filter" => Ok(GeneratedField::Filter), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -6330,13 +6268,13 @@ impl<'de> serde::Deserialize<'de> for JoinNode { if left__.is_some() { return Err(serde::de::Error::duplicate_field("left")); } - left__ = map.next_value()?; + left__ = Some(map.next_value()?); } GeneratedField::Right => { if right__.is_some() { return Err(serde::de::Error::duplicate_field("right")); } - right__ = map.next_value()?; + right__ = Some(map.next_value()?); } GeneratedField::JoinType => { if join_type__.is_some() { @@ -6372,7 +6310,7 @@ impl<'de> serde::Deserialize<'de> for JoinNode { if filter__.is_some() { return Err(serde::de::Error::duplicate_field("filter")); } - filter__ = map.next_value()?; + filter__ = Some(map.next_value()?); } } } @@ -6402,8 +6340,9 @@ impl serde::Serialize for JoinType { Self::Left => "LEFT", Self::Right => "RIGHT", Self::Full => "FULL", - Self::Semi => "SEMI", - Self::Anti => "ANTI", + Self::Leftsemi => "LEFTSEMI", + Self::Leftanti => "LEFTANTI", + Self::Rightsemi => "RIGHTSEMI", }; serializer.serialize_str(variant) } @@ -6419,8 +6358,9 @@ impl<'de> serde::Deserialize<'de> for JoinType { "LEFT", "RIGHT", "FULL", - "SEMI", - "ANTI", + "LEFTSEMI", + "LEFTANTI", + "RIGHTSEMI", ]; struct GeneratedVisitor; @@ -6467,8 +6407,9 @@ impl<'de> serde::Deserialize<'de> for JoinType { "LEFT" => Ok(JoinType::Left), "RIGHT" => Ok(JoinType::Right), "FULL" => Ok(JoinType::Full), - "SEMI" => Ok(JoinType::Semi), - "ANTI" => Ok(JoinType::Anti), + "LEFTSEMI" => Ok(JoinType::Leftsemi), + "LEFTANTI" => Ok(JoinType::Leftanti), + "RIGHTSEMI" => Ok(JoinType::Rightsemi), _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), } } @@ -6522,7 +6463,6 @@ impl<'de> serde::Deserialize<'de> for LikeNode { "negated", "expr", "pattern", - "escape_char", "escapeChar", ]; @@ -6556,7 +6496,7 @@ impl<'de> serde::Deserialize<'de> for LikeNode { "negated" => Ok(GeneratedField::Negated), "expr" => Ok(GeneratedField::Expr), "pattern" => Ok(GeneratedField::Pattern), - "escapeChar" | "escape_char" => Ok(GeneratedField::EscapeChar), + "escapeChar" => Ok(GeneratedField::EscapeChar), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -6592,13 +6532,13 @@ impl<'de> serde::Deserialize<'de> for LikeNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::Pattern => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("pattern")); } - pattern__ = map.next_value()?; + pattern__ = Some(map.next_value()?); } GeneratedField::EscapeChar => { if escape_char__.is_some() { @@ -6718,23 +6658,23 @@ impl<'de> serde::Deserialize<'de> for LimitNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::Skip => { if skip__.is_some() { return Err(serde::de::Error::duplicate_field("skip")); } - skip__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + skip__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } GeneratedField::Fetch => { if fetch__.is_some() { return Err(serde::de::Error::duplicate_field("fetch")); } - fetch__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + fetch__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } } } @@ -6773,7 +6713,6 @@ impl<'de> serde::Deserialize<'de> for List { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "field_type", "fieldType", ]; @@ -6801,7 +6740,7 @@ impl<'de> serde::Deserialize<'de> for List { E: serde::de::Error, { match value { - "fieldType" | "field_type" => Ok(GeneratedField::FieldType), + "fieldType" => Ok(GeneratedField::FieldType), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -6828,7 +6767,7 @@ impl<'de> serde::Deserialize<'de> for List { if field_type__.is_some() { return Err(serde::de::Error::duplicate_field("fieldType")); } - field_type__ = map.next_value()?; + field_type__ = Some(map.next_value()?); } } } @@ -6929,19 +6868,14 @@ impl<'de> serde::Deserialize<'de> for ListingTableScanNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "table_name", "tableName", "paths", - "file_extension", "fileExtension", "projection", "schema", "filters", - "table_partition_cols", "tablePartitionCols", - "collect_stat", "collectStat", - "target_partitions", "targetPartitions", "csv", "parquet", @@ -6983,15 +6917,15 @@ impl<'de> serde::Deserialize<'de> for ListingTableScanNode { E: serde::de::Error, { match value { - "tableName" | "table_name" => Ok(GeneratedField::TableName), + "tableName" => Ok(GeneratedField::TableName), "paths" => Ok(GeneratedField::Paths), - "fileExtension" | "file_extension" => Ok(GeneratedField::FileExtension), + "fileExtension" => Ok(GeneratedField::FileExtension), "projection" => Ok(GeneratedField::Projection), "schema" => Ok(GeneratedField::Schema), "filters" => Ok(GeneratedField::Filters), - "tablePartitionCols" | "table_partition_cols" => Ok(GeneratedField::TablePartitionCols), - "collectStat" | "collect_stat" => Ok(GeneratedField::CollectStat), - "targetPartitions" | "target_partitions" => Ok(GeneratedField::TargetPartitions), + "tablePartitionCols" => Ok(GeneratedField::TablePartitionCols), + "collectStat" => Ok(GeneratedField::CollectStat), + "targetPartitions" => Ok(GeneratedField::TargetPartitions), "csv" => Ok(GeneratedField::Csv), "parquet" => Ok(GeneratedField::Parquet), "avro" => Ok(GeneratedField::Avro), @@ -7048,13 +6982,13 @@ impl<'de> serde::Deserialize<'de> for ListingTableScanNode { if projection__.is_some() { return Err(serde::de::Error::duplicate_field("projection")); } - projection__ = map.next_value()?; + projection__ = Some(map.next_value()?); } GeneratedField::Schema => { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = map.next_value()?; + schema__ = Some(map.next_value()?); } GeneratedField::Filters => { if filters__.is_some() { @@ -7078,30 +7012,27 @@ impl<'de> serde::Deserialize<'de> for ListingTableScanNode { if target_partitions__.is_some() { return Err(serde::de::Error::duplicate_field("targetPartitions")); } - target_partitions__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + target_partitions__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } GeneratedField::Csv => { if file_format_type__.is_some() { return Err(serde::de::Error::duplicate_field("csv")); } - file_format_type__ = map.next_value::<::std::option::Option<_>>()?.map(listing_table_scan_node::FileFormatType::Csv) -; + file_format_type__ = Some(listing_table_scan_node::FileFormatType::Csv(map.next_value()?)); } GeneratedField::Parquet => { if file_format_type__.is_some() { return Err(serde::de::Error::duplicate_field("parquet")); } - file_format_type__ = map.next_value::<::std::option::Option<_>>()?.map(listing_table_scan_node::FileFormatType::Parquet) -; + file_format_type__ = Some(listing_table_scan_node::FileFormatType::Parquet(map.next_value()?)); } GeneratedField::Avro => { if file_format_type__.is_some() { return Err(serde::de::Error::duplicate_field("avro")); } - file_format_type__ = map.next_value::<::std::option::Option<_>>()?.map(listing_table_scan_node::FileFormatType::Avro) -; + file_format_type__ = Some(listing_table_scan_node::FileFormatType::Avro(map.next_value()?)); } } } @@ -7341,56 +7272,35 @@ impl<'de> serde::Deserialize<'de> for LogicalExprNode { "column", "alias", "literal", - "binary_expr", "binaryExpr", - "aggregate_expr", "aggregateExpr", - "is_null_expr", "isNullExpr", - "is_not_null_expr", "isNotNullExpr", - "not_expr", "notExpr", "between", - "case_", "case", "cast", "sort", "negative", - "in_list", "inList", "wildcard", - "scalar_function", "scalarFunction", - "try_cast", "tryCast", - "window_expr", "windowExpr", - "aggregate_udf_expr", "aggregateUdfExpr", - "scalar_udf_expr", "scalarUdfExpr", - "get_indexed_field", "getIndexedField", - "grouping_set", "groupingSet", "cube", "rollup", - "is_true", "isTrue", - "is_false", "isFalse", - "is_unknown", "isUnknown", - "is_not_true", "isNotTrue", - "is_not_false", "isNotFalse", - "is_not_unknown", "isNotUnknown", "like", "ilike", - "similar_to", "similarTo", ]; @@ -7453,36 +7363,36 @@ impl<'de> serde::Deserialize<'de> for LogicalExprNode { "column" => Ok(GeneratedField::Column), "alias" => Ok(GeneratedField::Alias), "literal" => Ok(GeneratedField::Literal), - "binaryExpr" | "binary_expr" => Ok(GeneratedField::BinaryExpr), - "aggregateExpr" | "aggregate_expr" => Ok(GeneratedField::AggregateExpr), - "isNullExpr" | "is_null_expr" => Ok(GeneratedField::IsNullExpr), - "isNotNullExpr" | "is_not_null_expr" => Ok(GeneratedField::IsNotNullExpr), - "notExpr" | "not_expr" => Ok(GeneratedField::NotExpr), + "binaryExpr" => Ok(GeneratedField::BinaryExpr), + "aggregateExpr" => Ok(GeneratedField::AggregateExpr), + "isNullExpr" => Ok(GeneratedField::IsNullExpr), + "isNotNullExpr" => Ok(GeneratedField::IsNotNullExpr), + "notExpr" => Ok(GeneratedField::NotExpr), "between" => Ok(GeneratedField::Between), - "case" | "case_" => Ok(GeneratedField::Case), + "case" => Ok(GeneratedField::Case), "cast" => Ok(GeneratedField::Cast), "sort" => Ok(GeneratedField::Sort), "negative" => Ok(GeneratedField::Negative), - "inList" | "in_list" => Ok(GeneratedField::InList), + "inList" => Ok(GeneratedField::InList), "wildcard" => Ok(GeneratedField::Wildcard), - "scalarFunction" | "scalar_function" => Ok(GeneratedField::ScalarFunction), - "tryCast" | "try_cast" => Ok(GeneratedField::TryCast), - "windowExpr" | "window_expr" => Ok(GeneratedField::WindowExpr), - "aggregateUdfExpr" | "aggregate_udf_expr" => Ok(GeneratedField::AggregateUdfExpr), - "scalarUdfExpr" | "scalar_udf_expr" => Ok(GeneratedField::ScalarUdfExpr), - "getIndexedField" | "get_indexed_field" => Ok(GeneratedField::GetIndexedField), - "groupingSet" | "grouping_set" => Ok(GeneratedField::GroupingSet), + "scalarFunction" => Ok(GeneratedField::ScalarFunction), + "tryCast" => Ok(GeneratedField::TryCast), + "windowExpr" => Ok(GeneratedField::WindowExpr), + "aggregateUdfExpr" => Ok(GeneratedField::AggregateUdfExpr), + "scalarUdfExpr" => Ok(GeneratedField::ScalarUdfExpr), + "getIndexedField" => Ok(GeneratedField::GetIndexedField), + "groupingSet" => Ok(GeneratedField::GroupingSet), "cube" => Ok(GeneratedField::Cube), "rollup" => Ok(GeneratedField::Rollup), - "isTrue" | "is_true" => Ok(GeneratedField::IsTrue), - "isFalse" | "is_false" => Ok(GeneratedField::IsFalse), - "isUnknown" | "is_unknown" => Ok(GeneratedField::IsUnknown), - "isNotTrue" | "is_not_true" => Ok(GeneratedField::IsNotTrue), - "isNotFalse" | "is_not_false" => Ok(GeneratedField::IsNotFalse), - "isNotUnknown" | "is_not_unknown" => Ok(GeneratedField::IsNotUnknown), + "isTrue" => Ok(GeneratedField::IsTrue), + "isFalse" => Ok(GeneratedField::IsFalse), + "isUnknown" => Ok(GeneratedField::IsUnknown), + "isNotTrue" => Ok(GeneratedField::IsNotTrue), + "isNotFalse" => Ok(GeneratedField::IsNotFalse), + "isNotUnknown" => Ok(GeneratedField::IsNotUnknown), "like" => Ok(GeneratedField::Like), "ilike" => Ok(GeneratedField::Ilike), - "similarTo" | "similar_to" => Ok(GeneratedField::SimilarTo), + "similarTo" => Ok(GeneratedField::SimilarTo), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -7509,231 +7419,199 @@ impl<'de> serde::Deserialize<'de> for LogicalExprNode { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("column")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Column) -; + expr_type__ = Some(logical_expr_node::ExprType::Column(map.next_value()?)); } GeneratedField::Alias => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("alias")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Alias) -; + expr_type__ = Some(logical_expr_node::ExprType::Alias(map.next_value()?)); } GeneratedField::Literal => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("literal")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Literal) -; + expr_type__ = Some(logical_expr_node::ExprType::Literal(map.next_value()?)); } GeneratedField::BinaryExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("binaryExpr")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::BinaryExpr) -; + expr_type__ = Some(logical_expr_node::ExprType::BinaryExpr(map.next_value()?)); } GeneratedField::AggregateExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("aggregateExpr")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::AggregateExpr) -; + expr_type__ = Some(logical_expr_node::ExprType::AggregateExpr(map.next_value()?)); } GeneratedField::IsNullExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isNullExpr")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsNullExpr) -; + expr_type__ = Some(logical_expr_node::ExprType::IsNullExpr(map.next_value()?)); } GeneratedField::IsNotNullExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isNotNullExpr")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsNotNullExpr) -; + expr_type__ = Some(logical_expr_node::ExprType::IsNotNullExpr(map.next_value()?)); } GeneratedField::NotExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("notExpr")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::NotExpr) -; + expr_type__ = Some(logical_expr_node::ExprType::NotExpr(map.next_value()?)); } GeneratedField::Between => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("between")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Between) -; + expr_type__ = Some(logical_expr_node::ExprType::Between(map.next_value()?)); } GeneratedField::Case => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("case")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Case) -; + expr_type__ = Some(logical_expr_node::ExprType::Case(map.next_value()?)); } GeneratedField::Cast => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("cast")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Cast) -; + expr_type__ = Some(logical_expr_node::ExprType::Cast(map.next_value()?)); } GeneratedField::Sort => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("sort")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Sort) -; + expr_type__ = Some(logical_expr_node::ExprType::Sort(map.next_value()?)); } GeneratedField::Negative => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("negative")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Negative) -; + expr_type__ = Some(logical_expr_node::ExprType::Negative(map.next_value()?)); } GeneratedField::InList => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("inList")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::InList) -; + expr_type__ = Some(logical_expr_node::ExprType::InList(map.next_value()?)); } GeneratedField::Wildcard => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("wildcard")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Wildcard); + expr_type__ = Some(logical_expr_node::ExprType::Wildcard(map.next_value()?)); } GeneratedField::ScalarFunction => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("scalarFunction")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::ScalarFunction) -; + expr_type__ = Some(logical_expr_node::ExprType::ScalarFunction(map.next_value()?)); } GeneratedField::TryCast => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("tryCast")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::TryCast) -; + expr_type__ = Some(logical_expr_node::ExprType::TryCast(map.next_value()?)); } GeneratedField::WindowExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("windowExpr")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::WindowExpr) -; + expr_type__ = Some(logical_expr_node::ExprType::WindowExpr(map.next_value()?)); } GeneratedField::AggregateUdfExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("aggregateUdfExpr")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::AggregateUdfExpr) -; + expr_type__ = Some(logical_expr_node::ExprType::AggregateUdfExpr(map.next_value()?)); } GeneratedField::ScalarUdfExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("scalarUdfExpr")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::ScalarUdfExpr) -; + expr_type__ = Some(logical_expr_node::ExprType::ScalarUdfExpr(map.next_value()?)); } GeneratedField::GetIndexedField => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("getIndexedField")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::GetIndexedField) -; + expr_type__ = Some(logical_expr_node::ExprType::GetIndexedField(map.next_value()?)); } GeneratedField::GroupingSet => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("groupingSet")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::GroupingSet) -; + expr_type__ = Some(logical_expr_node::ExprType::GroupingSet(map.next_value()?)); } GeneratedField::Cube => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("cube")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Cube) -; + expr_type__ = Some(logical_expr_node::ExprType::Cube(map.next_value()?)); } GeneratedField::Rollup => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("rollup")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Rollup) -; + expr_type__ = Some(logical_expr_node::ExprType::Rollup(map.next_value()?)); } GeneratedField::IsTrue => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isTrue")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsTrue) -; + expr_type__ = Some(logical_expr_node::ExprType::IsTrue(map.next_value()?)); } GeneratedField::IsFalse => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isFalse")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsFalse) -; + expr_type__ = Some(logical_expr_node::ExprType::IsFalse(map.next_value()?)); } GeneratedField::IsUnknown => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isUnknown")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsUnknown) -; + expr_type__ = Some(logical_expr_node::ExprType::IsUnknown(map.next_value()?)); } GeneratedField::IsNotTrue => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isNotTrue")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsNotTrue) -; + expr_type__ = Some(logical_expr_node::ExprType::IsNotTrue(map.next_value()?)); } GeneratedField::IsNotFalse => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isNotFalse")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsNotFalse) -; + expr_type__ = Some(logical_expr_node::ExprType::IsNotFalse(map.next_value()?)); } GeneratedField::IsNotUnknown => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isNotUnknown")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsNotUnknown) -; + expr_type__ = Some(logical_expr_node::ExprType::IsNotUnknown(map.next_value()?)); } GeneratedField::Like => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("like")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Like) -; + expr_type__ = Some(logical_expr_node::ExprType::Like(map.next_value()?)); } GeneratedField::Ilike => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("ilike")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Ilike) -; + expr_type__ = Some(logical_expr_node::ExprType::Ilike(map.next_value()?)); } GeneratedField::SimilarTo => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("similarTo")); } - expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::SimilarTo) -; + expr_type__ = Some(logical_expr_node::ExprType::SimilarTo(map.next_value()?)); } } } @@ -7834,9 +7712,9 @@ impl<'de> serde::Deserialize<'de> for LogicalExtensionNode { if node__.is_some() { return Err(serde::de::Error::duplicate_field("node")); } - node__ = - Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) - ; + node__ = Some( + map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 + ); } GeneratedField::Inputs => { if inputs__.is_some() { @@ -7953,7 +7831,6 @@ impl<'de> serde::Deserialize<'de> for LogicalPlanNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "listing_scan", "listingScan", "projection", "selection", @@ -7962,30 +7839,21 @@ impl<'de> serde::Deserialize<'de> for LogicalPlanNode { "join", "sort", "repartition", - "empty_relation", "emptyRelation", - "create_external_table", "createExternalTable", "explain", "window", "analyze", - "cross_join", "crossJoin", "values", "extension", - "create_catalog_schema", "createCatalogSchema", "union", - "create_catalog", "createCatalog", - "subquery_alias", "subqueryAlias", - "create_view", "createView", "distinct", - "view_scan", "viewScan", - "custom_scan", "customScan", ]; @@ -8036,7 +7904,7 @@ impl<'de> serde::Deserialize<'de> for LogicalPlanNode { E: serde::de::Error, { match value { - "listingScan" | "listing_scan" => Ok(GeneratedField::ListingScan), + "listingScan" => Ok(GeneratedField::ListingScan), "projection" => Ok(GeneratedField::Projection), "selection" => Ok(GeneratedField::Selection), "limit" => Ok(GeneratedField::Limit), @@ -8044,22 +7912,22 @@ impl<'de> serde::Deserialize<'de> for LogicalPlanNode { "join" => Ok(GeneratedField::Join), "sort" => Ok(GeneratedField::Sort), "repartition" => Ok(GeneratedField::Repartition), - "emptyRelation" | "empty_relation" => Ok(GeneratedField::EmptyRelation), - "createExternalTable" | "create_external_table" => Ok(GeneratedField::CreateExternalTable), + "emptyRelation" => Ok(GeneratedField::EmptyRelation), + "createExternalTable" => Ok(GeneratedField::CreateExternalTable), "explain" => Ok(GeneratedField::Explain), "window" => Ok(GeneratedField::Window), "analyze" => Ok(GeneratedField::Analyze), - "crossJoin" | "cross_join" => Ok(GeneratedField::CrossJoin), + "crossJoin" => Ok(GeneratedField::CrossJoin), "values" => Ok(GeneratedField::Values), "extension" => Ok(GeneratedField::Extension), - "createCatalogSchema" | "create_catalog_schema" => Ok(GeneratedField::CreateCatalogSchema), + "createCatalogSchema" => Ok(GeneratedField::CreateCatalogSchema), "union" => Ok(GeneratedField::Union), - "createCatalog" | "create_catalog" => Ok(GeneratedField::CreateCatalog), - "subqueryAlias" | "subquery_alias" => Ok(GeneratedField::SubqueryAlias), - "createView" | "create_view" => Ok(GeneratedField::CreateView), + "createCatalog" => Ok(GeneratedField::CreateCatalog), + "subqueryAlias" => Ok(GeneratedField::SubqueryAlias), + "createView" => Ok(GeneratedField::CreateView), "distinct" => Ok(GeneratedField::Distinct), - "viewScan" | "view_scan" => Ok(GeneratedField::ViewScan), - "customScan" | "custom_scan" => Ok(GeneratedField::CustomScan), + "viewScan" => Ok(GeneratedField::ViewScan), + "customScan" => Ok(GeneratedField::CustomScan), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -8086,169 +7954,145 @@ impl<'de> serde::Deserialize<'de> for LogicalPlanNode { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("listingScan")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::ListingScan) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::ListingScan(map.next_value()?)); } GeneratedField::Projection => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("projection")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Projection) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Projection(map.next_value()?)); } GeneratedField::Selection => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("selection")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Selection) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Selection(map.next_value()?)); } GeneratedField::Limit => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("limit")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Limit) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Limit(map.next_value()?)); } GeneratedField::Aggregate => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("aggregate")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Aggregate) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Aggregate(map.next_value()?)); } GeneratedField::Join => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("join")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Join) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Join(map.next_value()?)); } GeneratedField::Sort => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("sort")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Sort) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Sort(map.next_value()?)); } GeneratedField::Repartition => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("repartition")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Repartition) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Repartition(map.next_value()?)); } GeneratedField::EmptyRelation => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("emptyRelation")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::EmptyRelation) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::EmptyRelation(map.next_value()?)); } GeneratedField::CreateExternalTable => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("createExternalTable")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CreateExternalTable) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CreateExternalTable(map.next_value()?)); } GeneratedField::Explain => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("explain")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Explain) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Explain(map.next_value()?)); } GeneratedField::Window => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("window")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Window) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Window(map.next_value()?)); } GeneratedField::Analyze => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("analyze")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Analyze) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Analyze(map.next_value()?)); } GeneratedField::CrossJoin => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("crossJoin")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CrossJoin) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CrossJoin(map.next_value()?)); } GeneratedField::Values => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("values")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Values) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Values(map.next_value()?)); } GeneratedField::Extension => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("extension")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Extension) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Extension(map.next_value()?)); } GeneratedField::CreateCatalogSchema => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("createCatalogSchema")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CreateCatalogSchema) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CreateCatalogSchema(map.next_value()?)); } GeneratedField::Union => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("union")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Union) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Union(map.next_value()?)); } GeneratedField::CreateCatalog => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("createCatalog")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CreateCatalog) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CreateCatalog(map.next_value()?)); } GeneratedField::SubqueryAlias => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("subqueryAlias")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::SubqueryAlias) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::SubqueryAlias(map.next_value()?)); } GeneratedField::CreateView => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("createView")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CreateView) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CreateView(map.next_value()?)); } GeneratedField::Distinct => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("distinct")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Distinct) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Distinct(map.next_value()?)); } GeneratedField::ViewScan => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("viewScan")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::ViewScan) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::ViewScan(map.next_value()?)); } GeneratedField::CustomScan => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("customScan")); } - logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CustomScan) -; + logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CustomScan(map.next_value()?)); } } } @@ -8339,7 +8183,7 @@ impl<'de> serde::Deserialize<'de> for NegativeNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -8430,7 +8274,7 @@ impl<'de> serde::Deserialize<'de> for Not { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -8467,7 +8311,6 @@ impl<'de> serde::Deserialize<'de> for OptimizedLogicalPlanType { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "optimizer_name", "optimizerName", ]; @@ -8495,7 +8338,7 @@ impl<'de> serde::Deserialize<'de> for OptimizedLogicalPlanType { E: serde::de::Error, { match value { - "optimizerName" | "optimizer_name" => Ok(GeneratedField::OptimizerName), + "optimizerName" => Ok(GeneratedField::OptimizerName), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -8559,7 +8402,6 @@ impl<'de> serde::Deserialize<'de> for OptimizedPhysicalPlanType { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "optimizer_name", "optimizerName", ]; @@ -8587,7 +8429,7 @@ impl<'de> serde::Deserialize<'de> for OptimizedPhysicalPlanType { E: serde::de::Error, { match value { - "optimizerName" | "optimizer_name" => Ok(GeneratedField::OptimizerName), + "optimizerName" => Ok(GeneratedField::OptimizerName), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -8651,7 +8493,6 @@ impl<'de> serde::Deserialize<'de> for ParquetFormat { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "enable_pruning", "enablePruning", ]; @@ -8679,7 +8520,7 @@ impl<'de> serde::Deserialize<'de> for ParquetFormat { E: serde::de::Error, { match value { - "enablePruning" | "enable_pruning" => Ok(GeneratedField::EnablePruning), + "enablePruning" => Ok(GeneratedField::EnablePruning), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -8831,43 +8672,37 @@ impl<'de> serde::Deserialize<'de> for PlanType { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("InitialLogicalPlan")); } - plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::InitialLogicalPlan) -; + plan_type_enum__ = Some(plan_type::PlanTypeEnum::InitialLogicalPlan(map.next_value()?)); } GeneratedField::OptimizedLogicalPlan => { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("OptimizedLogicalPlan")); } - plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::OptimizedLogicalPlan) -; + plan_type_enum__ = Some(plan_type::PlanTypeEnum::OptimizedLogicalPlan(map.next_value()?)); } GeneratedField::FinalLogicalPlan => { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FinalLogicalPlan")); } - plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::FinalLogicalPlan) -; + plan_type_enum__ = Some(plan_type::PlanTypeEnum::FinalLogicalPlan(map.next_value()?)); } GeneratedField::InitialPhysicalPlan => { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("InitialPhysicalPlan")); } - plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::InitialPhysicalPlan) -; + plan_type_enum__ = Some(plan_type::PlanTypeEnum::InitialPhysicalPlan(map.next_value()?)); } GeneratedField::OptimizedPhysicalPlan => { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("OptimizedPhysicalPlan")); } - plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::OptimizedPhysicalPlan) -; + plan_type_enum__ = Some(plan_type::PlanTypeEnum::OptimizedPhysicalPlan(map.next_value()?)); } GeneratedField::FinalPhysicalPlan => { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FinalPhysicalPlan")); } - plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::FinalPhysicalPlan) -; + plan_type_enum__ = Some(plan_type::PlanTypeEnum::FinalPhysicalPlan(map.next_value()?)); } } } @@ -9073,7 +8908,7 @@ impl<'de> serde::Deserialize<'de> for ProjectionNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::Expr => { if expr__.is_some() { @@ -9085,7 +8920,7 @@ impl<'de> serde::Deserialize<'de> for ProjectionNode { if optional_alias__.is_some() { return Err(serde::de::Error::duplicate_field("alias")); } - optional_alias__ = map.next_value::<::std::option::Option<_>>()?.map(projection_node::OptionalAlias::Alias); + optional_alias__ = Some(projection_node::OptionalAlias::Alias(map.next_value()?)); } } } @@ -9138,7 +8973,6 @@ impl<'de> serde::Deserialize<'de> for RepartitionNode { { const FIELDS: &[&str] = &[ "input", - "round_robin", "roundRobin", "hash", ]; @@ -9170,7 +9004,7 @@ impl<'de> serde::Deserialize<'de> for RepartitionNode { { match value { "input" => Ok(GeneratedField::Input), - "roundRobin" | "round_robin" => Ok(GeneratedField::RoundRobin), + "roundRobin" => Ok(GeneratedField::RoundRobin), "hash" => Ok(GeneratedField::Hash), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -9199,20 +9033,21 @@ impl<'de> serde::Deserialize<'de> for RepartitionNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::RoundRobin => { if partition_method__.is_some() { return Err(serde::de::Error::duplicate_field("roundRobin")); } - partition_method__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| repartition_node::PartitionMethod::RoundRobin(x.0)); + partition_method__ = Some(repartition_node::PartitionMethod::RoundRobin( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::Hash => { if partition_method__.is_some() { return Err(serde::de::Error::duplicate_field("hash")); } - partition_method__ = map.next_value::<::std::option::Option<_>>()?.map(repartition_node::PartitionMethod::Hash) -; + partition_method__ = Some(repartition_node::PartitionMethod::Hash(map.next_value()?)); } } } @@ -9347,7 +9182,6 @@ impl<'de> serde::Deserialize<'de> for ScalarDictionaryValue { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "index_type", "indexType", "value", ]; @@ -9377,7 +9211,7 @@ impl<'de> serde::Deserialize<'de> for ScalarDictionaryValue { E: serde::de::Error, { match value { - "indexType" | "index_type" => Ok(GeneratedField::IndexType), + "indexType" => Ok(GeneratedField::IndexType), "value" => Ok(GeneratedField::Value), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -9406,13 +9240,13 @@ impl<'de> serde::Deserialize<'de> for ScalarDictionaryValue { if index_type__.is_some() { return Err(serde::de::Error::duplicate_field("indexType")); } - index_type__ = map.next_value()?; + index_type__ = Some(map.next_value()?); } GeneratedField::Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("value")); } - value__ = map.next_value()?; + value__ = Some(map.next_value()?); } } } @@ -9514,17 +9348,17 @@ impl<'de> serde::Deserialize<'de> for ScalarFixedSizeBinary { if values__.is_some() { return Err(serde::de::Error::duplicate_field("values")); } - values__ = - Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) - ; + values__ = Some( + map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 + ); } GeneratedField::Length => { if length__.is_some() { return Err(serde::de::Error::duplicate_field("length")); } - length__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + length__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } } } @@ -9961,7 +9795,6 @@ impl<'de> serde::Deserialize<'de> for ScalarListValue { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "is_null", "isNull", "field", "values", @@ -9993,7 +9826,7 @@ impl<'de> serde::Deserialize<'de> for ScalarListValue { E: serde::de::Error, { match value { - "isNull" | "is_null" => Ok(GeneratedField::IsNull), + "isNull" => Ok(GeneratedField::IsNull), "field" => Ok(GeneratedField::Field), "values" => Ok(GeneratedField::Values), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), @@ -10030,7 +9863,7 @@ impl<'de> serde::Deserialize<'de> for ScalarListValue { if field__.is_some() { return Err(serde::de::Error::duplicate_field("field")); } - field__ = map.next_value()?; + field__ = Some(map.next_value()?); } GeneratedField::Values => { if values__.is_some() { @@ -10095,13 +9928,9 @@ impl<'de> serde::Deserialize<'de> for ScalarTimestampValue { { const FIELDS: &[&str] = &[ "timezone", - "time_microsecond_value", "timeMicrosecondValue", - "time_nanosecond_value", "timeNanosecondValue", - "time_second_value", "timeSecondValue", - "time_millisecond_value", "timeMillisecondValue", ]; @@ -10134,10 +9963,10 @@ impl<'de> serde::Deserialize<'de> for ScalarTimestampValue { { match value { "timezone" => Ok(GeneratedField::Timezone), - "timeMicrosecondValue" | "time_microsecond_value" => Ok(GeneratedField::TimeMicrosecondValue), - "timeNanosecondValue" | "time_nanosecond_value" => Ok(GeneratedField::TimeNanosecondValue), - "timeSecondValue" | "time_second_value" => Ok(GeneratedField::TimeSecondValue), - "timeMillisecondValue" | "time_millisecond_value" => Ok(GeneratedField::TimeMillisecondValue), + "timeMicrosecondValue" => Ok(GeneratedField::TimeMicrosecondValue), + "timeNanosecondValue" => Ok(GeneratedField::TimeNanosecondValue), + "timeSecondValue" => Ok(GeneratedField::TimeSecondValue), + "timeMillisecondValue" => Ok(GeneratedField::TimeMillisecondValue), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -10171,25 +10000,33 @@ impl<'de> serde::Deserialize<'de> for ScalarTimestampValue { if value__.is_some() { return Err(serde::de::Error::duplicate_field("timeMicrosecondValue")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_timestamp_value::Value::TimeMicrosecondValue(x.0)); + value__ = Some(scalar_timestamp_value::Value::TimeMicrosecondValue( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::TimeNanosecondValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("timeNanosecondValue")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_timestamp_value::Value::TimeNanosecondValue(x.0)); + value__ = Some(scalar_timestamp_value::Value::TimeNanosecondValue( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::TimeSecondValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("timeSecondValue")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_timestamp_value::Value::TimeSecondValue(x.0)); + value__ = Some(scalar_timestamp_value::Value::TimeSecondValue( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::TimeMillisecondValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("timeMillisecondValue")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_timestamp_value::Value::TimeMillisecondValue(x.0)); + value__ = Some(scalar_timestamp_value::Value::TimeMillisecondValue( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } } } @@ -10233,7 +10070,6 @@ impl<'de> serde::Deserialize<'de> for ScalarUdfExprNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "fun_name", "funName", "args", ]; @@ -10263,7 +10099,7 @@ impl<'de> serde::Deserialize<'de> for ScalarUdfExprNode { E: serde::de::Error, { match value { - "funName" | "fun_name" => Ok(GeneratedField::FunName), + "funName" => Ok(GeneratedField::FunName), "args" => Ok(GeneratedField::Args), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -10421,61 +10257,33 @@ impl<'de> serde::Deserialize<'de> for ScalarValue { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "null_value", "nullValue", - "bool_value", "boolValue", - "utf8_value", "utf8Value", - "large_utf8_value", "largeUtf8Value", - "int8_value", "int8Value", - "int16_value", "int16Value", - "int32_value", "int32Value", - "int64_value", "int64Value", - "uint8_value", "uint8Value", - "uint16_value", "uint16Value", - "uint32_value", "uint32Value", - "uint64_value", "uint64Value", - "float32_value", "float32Value", - "float64_value", "float64Value", - "date_32_value", "date32Value", - "list_value", "listValue", - "decimal128_value", "decimal128Value", - "date_64_value", "date64Value", - "interval_yearmonth_value", "intervalYearmonthValue", - "interval_daytime_value", "intervalDaytimeValue", - "timestamp_value", "timestampValue", - "dictionary_value", "dictionaryValue", - "binary_value", "binaryValue", - "large_binary_value", "largeBinaryValue", - "time64_value", "time64Value", - "interval_month_day_nano", "intervalMonthDayNano", - "struct_value", "structValue", - "fixed_size_binary_value", "fixedSizeBinaryValue", ]; @@ -10530,34 +10338,34 @@ impl<'de> serde::Deserialize<'de> for ScalarValue { E: serde::de::Error, { match value { - "nullValue" | "null_value" => Ok(GeneratedField::NullValue), - "boolValue" | "bool_value" => Ok(GeneratedField::BoolValue), - "utf8Value" | "utf8_value" => Ok(GeneratedField::Utf8Value), - "largeUtf8Value" | "large_utf8_value" => Ok(GeneratedField::LargeUtf8Value), - "int8Value" | "int8_value" => Ok(GeneratedField::Int8Value), - "int16Value" | "int16_value" => Ok(GeneratedField::Int16Value), - "int32Value" | "int32_value" => Ok(GeneratedField::Int32Value), - "int64Value" | "int64_value" => Ok(GeneratedField::Int64Value), - "uint8Value" | "uint8_value" => Ok(GeneratedField::Uint8Value), - "uint16Value" | "uint16_value" => Ok(GeneratedField::Uint16Value), - "uint32Value" | "uint32_value" => Ok(GeneratedField::Uint32Value), - "uint64Value" | "uint64_value" => Ok(GeneratedField::Uint64Value), - "float32Value" | "float32_value" => Ok(GeneratedField::Float32Value), - "float64Value" | "float64_value" => Ok(GeneratedField::Float64Value), - "date32Value" | "date_32_value" => Ok(GeneratedField::Date32Value), - "listValue" | "list_value" => Ok(GeneratedField::ListValue), - "decimal128Value" | "decimal128_value" => Ok(GeneratedField::Decimal128Value), - "date64Value" | "date_64_value" => Ok(GeneratedField::Date64Value), - "intervalYearmonthValue" | "interval_yearmonth_value" => Ok(GeneratedField::IntervalYearmonthValue), - "intervalDaytimeValue" | "interval_daytime_value" => Ok(GeneratedField::IntervalDaytimeValue), - "timestampValue" | "timestamp_value" => Ok(GeneratedField::TimestampValue), - "dictionaryValue" | "dictionary_value" => Ok(GeneratedField::DictionaryValue), - "binaryValue" | "binary_value" => Ok(GeneratedField::BinaryValue), - "largeBinaryValue" | "large_binary_value" => Ok(GeneratedField::LargeBinaryValue), - "time64Value" | "time64_value" => Ok(GeneratedField::Time64Value), - "intervalMonthDayNano" | "interval_month_day_nano" => Ok(GeneratedField::IntervalMonthDayNano), - "structValue" | "struct_value" => Ok(GeneratedField::StructValue), - "fixedSizeBinaryValue" | "fixed_size_binary_value" => Ok(GeneratedField::FixedSizeBinaryValue), + "nullValue" => Ok(GeneratedField::NullValue), + "boolValue" => Ok(GeneratedField::BoolValue), + "utf8Value" => Ok(GeneratedField::Utf8Value), + "largeUtf8Value" => Ok(GeneratedField::LargeUtf8Value), + "int8Value" => Ok(GeneratedField::Int8Value), + "int16Value" => Ok(GeneratedField::Int16Value), + "int32Value" => Ok(GeneratedField::Int32Value), + "int64Value" => Ok(GeneratedField::Int64Value), + "uint8Value" => Ok(GeneratedField::Uint8Value), + "uint16Value" => Ok(GeneratedField::Uint16Value), + "uint32Value" => Ok(GeneratedField::Uint32Value), + "uint64Value" => Ok(GeneratedField::Uint64Value), + "float32Value" => Ok(GeneratedField::Float32Value), + "float64Value" => Ok(GeneratedField::Float64Value), + "date32Value" => Ok(GeneratedField::Date32Value), + "listValue" => Ok(GeneratedField::ListValue), + "decimal128Value" => Ok(GeneratedField::Decimal128Value), + "date64Value" => Ok(GeneratedField::Date64Value), + "intervalYearmonthValue" => Ok(GeneratedField::IntervalYearmonthValue), + "intervalDaytimeValue" => Ok(GeneratedField::IntervalDaytimeValue), + "timestampValue" => Ok(GeneratedField::TimestampValue), + "dictionaryValue" => Ok(GeneratedField::DictionaryValue), + "binaryValue" => Ok(GeneratedField::BinaryValue), + "largeBinaryValue" => Ok(GeneratedField::LargeBinaryValue), + "time64Value" => Ok(GeneratedField::Time64Value), + "intervalMonthDayNano" => Ok(GeneratedField::IntervalMonthDayNano), + "structValue" => Ok(GeneratedField::StructValue), + "fixedSizeBinaryValue" => Ok(GeneratedField::FixedSizeBinaryValue), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -10584,177 +10392,203 @@ impl<'de> serde::Deserialize<'de> for ScalarValue { if value__.is_some() { return Err(serde::de::Error::duplicate_field("nullValue")); } - value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::NullValue) -; + value__ = Some(scalar_value::Value::NullValue(map.next_value()?)); } GeneratedField::BoolValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("boolValue")); } - value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::BoolValue); + value__ = Some(scalar_value::Value::BoolValue(map.next_value()?)); } GeneratedField::Utf8Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("utf8Value")); } - value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::Utf8Value); + value__ = Some(scalar_value::Value::Utf8Value(map.next_value()?)); } GeneratedField::LargeUtf8Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("largeUtf8Value")); } - value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::LargeUtf8Value); + value__ = Some(scalar_value::Value::LargeUtf8Value(map.next_value()?)); } GeneratedField::Int8Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("int8Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Int8Value(x.0)); + value__ = Some(scalar_value::Value::Int8Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::Int16Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("int16Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Int16Value(x.0)); + value__ = Some(scalar_value::Value::Int16Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::Int32Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("int32Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Int32Value(x.0)); + value__ = Some(scalar_value::Value::Int32Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::Int64Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("int64Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Int64Value(x.0)); + value__ = Some(scalar_value::Value::Int64Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::Uint8Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("uint8Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Uint8Value(x.0)); + value__ = Some(scalar_value::Value::Uint8Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::Uint16Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("uint16Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Uint16Value(x.0)); + value__ = Some(scalar_value::Value::Uint16Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::Uint32Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("uint32Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Uint32Value(x.0)); + value__ = Some(scalar_value::Value::Uint32Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::Uint64Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("uint64Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Uint64Value(x.0)); + value__ = Some(scalar_value::Value::Uint64Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::Float32Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("float32Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Float32Value(x.0)); + value__ = Some(scalar_value::Value::Float32Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::Float64Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("float64Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Float64Value(x.0)); + value__ = Some(scalar_value::Value::Float64Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::Date32Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("date32Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Date32Value(x.0)); + value__ = Some(scalar_value::Value::Date32Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::ListValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("listValue")); } - value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::ListValue) -; + value__ = Some(scalar_value::Value::ListValue(map.next_value()?)); } GeneratedField::Decimal128Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("decimal128Value")); } - value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::Decimal128Value) -; + value__ = Some(scalar_value::Value::Decimal128Value(map.next_value()?)); } GeneratedField::Date64Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("date64Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Date64Value(x.0)); + value__ = Some(scalar_value::Value::Date64Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::IntervalYearmonthValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("intervalYearmonthValue")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::IntervalYearmonthValue(x.0)); + value__ = Some(scalar_value::Value::IntervalYearmonthValue( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::IntervalDaytimeValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("intervalDaytimeValue")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::IntervalDaytimeValue(x.0)); + value__ = Some(scalar_value::Value::IntervalDaytimeValue( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::TimestampValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("timestampValue")); } - value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::TimestampValue) -; + value__ = Some(scalar_value::Value::TimestampValue(map.next_value()?)); } GeneratedField::DictionaryValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("dictionaryValue")); } - value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::DictionaryValue) -; + value__ = Some(scalar_value::Value::DictionaryValue(map.next_value()?)); } GeneratedField::BinaryValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("binaryValue")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| scalar_value::Value::BinaryValue(x.0)); + value__ = Some(scalar_value::Value::BinaryValue( + map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 + )); } GeneratedField::LargeBinaryValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("largeBinaryValue")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| scalar_value::Value::LargeBinaryValue(x.0)); + value__ = Some(scalar_value::Value::LargeBinaryValue( + map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 + )); } GeneratedField::Time64Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("time64Value")); } - value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Time64Value(x.0)); + value__ = Some(scalar_value::Value::Time64Value( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + )); } GeneratedField::IntervalMonthDayNano => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("intervalMonthDayNano")); } - value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::IntervalMonthDayNano) -; + value__ = Some(scalar_value::Value::IntervalMonthDayNano(map.next_value()?)); } GeneratedField::StructValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("structValue")); } - value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::StructValue) -; + value__ = Some(scalar_value::Value::StructValue(map.next_value()?)); } GeneratedField::FixedSizeBinaryValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("fixedSizeBinaryValue")); } - value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::FixedSizeBinaryValue) -; + value__ = Some(scalar_value::Value::FixedSizeBinaryValue(map.next_value()?)); } } } @@ -10936,7 +10770,7 @@ impl<'de> serde::Deserialize<'de> for SelectionExecNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -11037,13 +10871,13 @@ impl<'de> serde::Deserialize<'de> for SelectionNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::Expr => { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } } } @@ -11102,7 +10936,6 @@ impl<'de> serde::Deserialize<'de> for SimilarToNode { "negated", "expr", "pattern", - "escape_char", "escapeChar", ]; @@ -11136,7 +10969,7 @@ impl<'de> serde::Deserialize<'de> for SimilarToNode { "negated" => Ok(GeneratedField::Negated), "expr" => Ok(GeneratedField::Expr), "pattern" => Ok(GeneratedField::Pattern), - "escapeChar" | "escape_char" => Ok(GeneratedField::EscapeChar), + "escapeChar" => Ok(GeneratedField::EscapeChar), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -11172,13 +11005,13 @@ impl<'de> serde::Deserialize<'de> for SimilarToNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::Pattern => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("pattern")); } - pattern__ = map.next_value()?; + pattern__ = Some(map.next_value()?); } GeneratedField::EscapeChar => { if escape_char__.is_some() { @@ -11238,7 +11071,6 @@ impl<'de> serde::Deserialize<'de> for SortExprNode { const FIELDS: &[&str] = &[ "expr", "asc", - "nulls_first", "nullsFirst", ]; @@ -11270,7 +11102,7 @@ impl<'de> serde::Deserialize<'de> for SortExprNode { match value { "expr" => Ok(GeneratedField::Expr), "asc" => Ok(GeneratedField::Asc), - "nullsFirst" | "nulls_first" => Ok(GeneratedField::NullsFirst), + "nullsFirst" => Ok(GeneratedField::NullsFirst), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -11299,7 +11131,7 @@ impl<'de> serde::Deserialize<'de> for SortExprNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::Asc => { if asc__.is_some() { @@ -11424,7 +11256,7 @@ impl<'de> serde::Deserialize<'de> for SortNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::Expr => { if expr__.is_some() { @@ -11436,9 +11268,9 @@ impl<'de> serde::Deserialize<'de> for SortNode { if fetch__.is_some() { return Err(serde::de::Error::duplicate_field("fetch")); } - fetch__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + fetch__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } } } @@ -11483,7 +11315,6 @@ impl<'de> serde::Deserialize<'de> for StringifiedPlan { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "plan_type", "planType", "plan", ]; @@ -11513,7 +11344,7 @@ impl<'de> serde::Deserialize<'de> for StringifiedPlan { E: serde::de::Error, { match value { - "planType" | "plan_type" => Ok(GeneratedField::PlanType), + "planType" => Ok(GeneratedField::PlanType), "plan" => Ok(GeneratedField::Plan), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -11542,7 +11373,7 @@ impl<'de> serde::Deserialize<'de> for StringifiedPlan { if plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("planType")); } - plan_type__ = map.next_value()?; + plan_type__ = Some(map.next_value()?); } GeneratedField::Plan => { if plan__.is_some() { @@ -11586,7 +11417,6 @@ impl<'de> serde::Deserialize<'de> for Struct { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "sub_field_types", "subFieldTypes", ]; @@ -11614,7 +11444,7 @@ impl<'de> serde::Deserialize<'de> for Struct { E: serde::de::Error, { match value { - "subFieldTypes" | "sub_field_types" => Ok(GeneratedField::SubFieldTypes), + "subFieldTypes" => Ok(GeneratedField::SubFieldTypes), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -11684,7 +11514,6 @@ impl<'de> serde::Deserialize<'de> for StructValue { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "field_values", "fieldValues", "fields", ]; @@ -11714,7 +11543,7 @@ impl<'de> serde::Deserialize<'de> for StructValue { E: serde::de::Error, { match value { - "fieldValues" | "field_values" => Ok(GeneratedField::FieldValues), + "fieldValues" => Ok(GeneratedField::FieldValues), "fields" => Ok(GeneratedField::Fields), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -11851,7 +11680,7 @@ impl<'de> serde::Deserialize<'de> for SubqueryAliasNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::Alias => { if alias__.is_some() { @@ -11982,7 +11811,6 @@ impl<'de> serde::Deserialize<'de> for Timestamp { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "time_unit", "timeUnit", "timezone", ]; @@ -12012,7 +11840,7 @@ impl<'de> serde::Deserialize<'de> for Timestamp { E: serde::de::Error, { match value { - "timeUnit" | "time_unit" => Ok(GeneratedField::TimeUnit), + "timeUnit" => Ok(GeneratedField::TimeUnit), "timezone" => Ok(GeneratedField::Timezone), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -12092,7 +11920,6 @@ impl<'de> serde::Deserialize<'de> for TryCastNode { { const FIELDS: &[&str] = &[ "expr", - "arrow_type", "arrowType", ]; @@ -12122,7 +11949,7 @@ impl<'de> serde::Deserialize<'de> for TryCastNode { { match value { "expr" => Ok(GeneratedField::Expr), - "arrowType" | "arrow_type" => Ok(GeneratedField::ArrowType), + "arrowType" => Ok(GeneratedField::ArrowType), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -12150,13 +11977,13 @@ impl<'de> serde::Deserialize<'de> for TryCastNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::ArrowType => { if arrow_type__.is_some() { return Err(serde::de::Error::duplicate_field("arrowType")); } - arrow_type__ = map.next_value()?; + arrow_type__ = Some(map.next_value()?); } } } @@ -12208,11 +12035,8 @@ impl<'de> serde::Deserialize<'de> for Union { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "union_types", "unionTypes", - "union_mode", "unionMode", - "type_ids", "typeIds", ]; @@ -12242,9 +12066,9 @@ impl<'de> serde::Deserialize<'de> for Union { E: serde::de::Error, { match value { - "unionTypes" | "union_types" => Ok(GeneratedField::UnionTypes), - "unionMode" | "union_mode" => Ok(GeneratedField::UnionMode), - "typeIds" | "type_ids" => Ok(GeneratedField::TypeIds), + "unionTypes" => Ok(GeneratedField::UnionTypes), + "unionMode" => Ok(GeneratedField::UnionMode), + "typeIds" => Ok(GeneratedField::TypeIds), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -12285,10 +12109,10 @@ impl<'de> serde::Deserialize<'de> for Union { if type_ids__.is_some() { return Err(serde::de::Error::duplicate_field("typeIds")); } - type_ids__ = - Some(map.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; + type_ids__ = Some( + map.next_value::>>()? + .into_iter().map(|x| x.0).collect() + ); } } } @@ -12497,9 +12321,7 @@ impl<'de> serde::Deserialize<'de> for ValuesNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "n_cols", "nCols", - "values_list", "valuesList", ]; @@ -12528,8 +12350,8 @@ impl<'de> serde::Deserialize<'de> for ValuesNode { E: serde::de::Error, { match value { - "nCols" | "n_cols" => Ok(GeneratedField::NCols), - "valuesList" | "values_list" => Ok(GeneratedField::ValuesList), + "nCols" => Ok(GeneratedField::NCols), + "valuesList" => Ok(GeneratedField::ValuesList), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -12557,9 +12379,9 @@ impl<'de> serde::Deserialize<'de> for ValuesNode { if n_cols__.is_some() { return Err(serde::de::Error::duplicate_field("nCols")); } - n_cols__ = - Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + n_cols__ = Some( + map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 + ); } GeneratedField::ValuesList => { if values_list__.is_some() { @@ -12627,7 +12449,6 @@ impl<'de> serde::Deserialize<'de> for ViewTableScanNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "table_name", "tableName", "input", "schema", @@ -12663,7 +12484,7 @@ impl<'de> serde::Deserialize<'de> for ViewTableScanNode { E: serde::de::Error, { match value { - "tableName" | "table_name" => Ok(GeneratedField::TableName), + "tableName" => Ok(GeneratedField::TableName), "input" => Ok(GeneratedField::Input), "schema" => Ok(GeneratedField::Schema), "projection" => Ok(GeneratedField::Projection), @@ -12704,19 +12525,19 @@ impl<'de> serde::Deserialize<'de> for ViewTableScanNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::Schema => { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = map.next_value()?; + schema__ = Some(map.next_value()?); } GeneratedField::Projection => { if projection__.is_some() { return Err(serde::de::Error::duplicate_field("projection")); } - projection__ = map.next_value()?; + projection__ = Some(map.next_value()?); } GeneratedField::Definition => { if definition__.is_some() { @@ -12769,9 +12590,7 @@ impl<'de> serde::Deserialize<'de> for WhenThen { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "when_expr", "whenExpr", - "then_expr", "thenExpr", ]; @@ -12800,8 +12619,8 @@ impl<'de> serde::Deserialize<'de> for WhenThen { E: serde::de::Error, { match value { - "whenExpr" | "when_expr" => Ok(GeneratedField::WhenExpr), - "thenExpr" | "then_expr" => Ok(GeneratedField::ThenExpr), + "whenExpr" => Ok(GeneratedField::WhenExpr), + "thenExpr" => Ok(GeneratedField::ThenExpr), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -12829,13 +12648,13 @@ impl<'de> serde::Deserialize<'de> for WhenThen { if when_expr__.is_some() { return Err(serde::de::Error::duplicate_field("whenExpr")); } - when_expr__ = map.next_value()?; + when_expr__ = Some(map.next_value()?); } GeneratedField::ThenExpr => { if then_expr__.is_some() { return Err(serde::de::Error::duplicate_field("thenExpr")); } - then_expr__ = map.next_value()?; + then_expr__ = Some(map.next_value()?); } } } @@ -12913,13 +12732,9 @@ impl<'de> serde::Deserialize<'de> for WindowExprNode { { const FIELDS: &[&str] = &[ "expr", - "partition_by", "partitionBy", - "order_by", "orderBy", - "aggr_function", "aggrFunction", - "built_in_function", "builtInFunction", "frame", ]; @@ -12954,10 +12769,10 @@ impl<'de> serde::Deserialize<'de> for WindowExprNode { { match value { "expr" => Ok(GeneratedField::Expr), - "partitionBy" | "partition_by" => Ok(GeneratedField::PartitionBy), - "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), - "aggrFunction" | "aggr_function" => Ok(GeneratedField::AggrFunction), - "builtInFunction" | "built_in_function" => Ok(GeneratedField::BuiltInFunction), + "partitionBy" => Ok(GeneratedField::PartitionBy), + "orderBy" => Ok(GeneratedField::OrderBy), + "aggrFunction" => Ok(GeneratedField::AggrFunction), + "builtInFunction" => Ok(GeneratedField::BuiltInFunction), "frame" => Ok(GeneratedField::Frame), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -12989,7 +12804,7 @@ impl<'de> serde::Deserialize<'de> for WindowExprNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = map.next_value()?; + expr__ = Some(map.next_value()?); } GeneratedField::PartitionBy => { if partition_by__.is_some() { @@ -13007,20 +12822,19 @@ impl<'de> serde::Deserialize<'de> for WindowExprNode { if window_function__.is_some() { return Err(serde::de::Error::duplicate_field("aggrFunction")); } - window_function__ = map.next_value::<::std::option::Option>()?.map(|x| window_expr_node::WindowFunction::AggrFunction(x as i32)); + window_function__ = Some(window_expr_node::WindowFunction::AggrFunction(map.next_value::()? as i32)); } GeneratedField::BuiltInFunction => { if window_function__.is_some() { return Err(serde::de::Error::duplicate_field("builtInFunction")); } - window_function__ = map.next_value::<::std::option::Option>()?.map(|x| window_expr_node::WindowFunction::BuiltInFunction(x as i32)); + window_function__ = Some(window_expr_node::WindowFunction::BuiltInFunction(map.next_value::()? as i32)); } GeneratedField::Frame => { if window_frame__.is_some() { return Err(serde::de::Error::duplicate_field("frame")); } - window_frame__ = map.next_value::<::std::option::Option<_>>()?.map(window_expr_node::WindowFrame::Frame) -; + window_frame__ = Some(window_expr_node::WindowFrame::Frame(map.next_value()?)); } } } @@ -13079,9 +12893,7 @@ impl<'de> serde::Deserialize<'de> for WindowFrame { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "window_frame_units", "windowFrameUnits", - "start_bound", "startBound", "bound", ]; @@ -13112,8 +12924,8 @@ impl<'de> serde::Deserialize<'de> for WindowFrame { E: serde::de::Error, { match value { - "windowFrameUnits" | "window_frame_units" => Ok(GeneratedField::WindowFrameUnits), - "startBound" | "start_bound" => Ok(GeneratedField::StartBound), + "windowFrameUnits" => Ok(GeneratedField::WindowFrameUnits), + "startBound" => Ok(GeneratedField::StartBound), "bound" => Ok(GeneratedField::Bound), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -13149,14 +12961,13 @@ impl<'de> serde::Deserialize<'de> for WindowFrame { if start_bound__.is_some() { return Err(serde::de::Error::duplicate_field("startBound")); } - start_bound__ = map.next_value()?; + start_bound__ = Some(map.next_value()?); } GeneratedField::Bound => { if end_bound__.is_some() { return Err(serde::de::Error::duplicate_field("bound")); } - end_bound__ = map.next_value::<::std::option::Option<_>>()?.map(window_frame::EndBound::Bound) -; + end_bound__ = Some(window_frame::EndBound::Bound(map.next_value()?)); } } } @@ -13203,9 +13014,7 @@ impl<'de> serde::Deserialize<'de> for WindowFrameBound { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "window_frame_bound_type", "windowFrameBoundType", - "bound_value", "boundValue", ]; @@ -13234,8 +13043,8 @@ impl<'de> serde::Deserialize<'de> for WindowFrameBound { E: serde::de::Error, { match value { - "windowFrameBoundType" | "window_frame_bound_type" => Ok(GeneratedField::WindowFrameBoundType), - "boundValue" | "bound_value" => Ok(GeneratedField::BoundValue), + "windowFrameBoundType" => Ok(GeneratedField::WindowFrameBoundType), + "boundValue" => Ok(GeneratedField::BoundValue), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -13269,7 +13078,7 @@ impl<'de> serde::Deserialize<'de> for WindowFrameBound { if bound_value__.is_some() { return Err(serde::de::Error::duplicate_field("boundValue")); } - bound_value__ = map.next_value()?; + bound_value__ = Some(map.next_value()?); } } } @@ -13466,7 +13275,6 @@ impl<'de> serde::Deserialize<'de> for WindowNode { { const FIELDS: &[&str] = &[ "input", - "window_expr", "windowExpr", ]; @@ -13496,7 +13304,7 @@ impl<'de> serde::Deserialize<'de> for WindowNode { { match value { "input" => Ok(GeneratedField::Input), - "windowExpr" | "window_expr" => Ok(GeneratedField::WindowExpr), + "windowExpr" => Ok(GeneratedField::WindowExpr), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -13524,7 +13332,7 @@ impl<'de> serde::Deserialize<'de> for WindowNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = map.next_value()?; + input__ = Some(map.next_value()?); } GeneratedField::WindowExpr => { if window_expr__.is_some() { diff --git a/datafusion/proto/src/generated/prost.rs b/datafusion/proto/src/generated/prost.rs index 149edf020a89..cf6978faf19e 100644 --- a/datafusion/proto/src/generated/prost.rs +++ b/datafusion/proto/src/generated/prost.rs @@ -1110,8 +1110,9 @@ pub enum JoinType { Left = 1, Right = 2, Full = 3, - Semi = 4, - Anti = 5, + Leftsemi = 4, + Leftanti = 5, + Rightsemi = 6, } impl JoinType { /// String value of the enum field names used in the ProtoBuf definition. @@ -1124,8 +1125,9 @@ impl JoinType { JoinType::Left => "LEFT", JoinType::Right => "RIGHT", JoinType::Full => "FULL", - JoinType::Semi => "SEMI", - JoinType::Anti => "ANTI", + JoinType::Leftsemi => "LEFTSEMI", + JoinType::Leftanti => "LEFTANTI", + JoinType::Rightsemi => "RIGHTSEMI", } } } From 79632027c54bced2d432f754d85cb8d4c2c204da Mon Sep 17 00:00:00 2001 From: "Heres, Daniel" Date: Thu, 27 Oct 2022 18:39:33 +0200 Subject: [PATCH 12/12] generated --- datafusion/proto/src/generated/pbjson.rs | 1125 +++++++++++++--------- 1 file changed, 660 insertions(+), 465 deletions(-) diff --git a/datafusion/proto/src/generated/pbjson.rs b/datafusion/proto/src/generated/pbjson.rs index 0e193cdf9a95..e8110b431366 100644 --- a/datafusion/proto/src/generated/pbjson.rs +++ b/datafusion/proto/src/generated/pbjson.rs @@ -43,6 +43,7 @@ impl<'de> serde::Deserialize<'de> for AggregateExprNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "aggr_function", "aggrFunction", "expr", "distinct", @@ -76,7 +77,7 @@ impl<'de> serde::Deserialize<'de> for AggregateExprNode { E: serde::de::Error, { match value { - "aggrFunction" => Ok(GeneratedField::AggrFunction), + "aggrFunction" | "aggr_function" => Ok(GeneratedField::AggrFunction), "expr" => Ok(GeneratedField::Expr), "distinct" => Ok(GeneratedField::Distinct), "filter" => Ok(GeneratedField::Filter), @@ -127,7 +128,7 @@ impl<'de> serde::Deserialize<'de> for AggregateExprNode { if filter__.is_some() { return Err(serde::de::Error::duplicate_field("filter")); } - filter__ = Some(map.next_value()?); + filter__ = map.next_value()?; } } } @@ -304,7 +305,9 @@ impl<'de> serde::Deserialize<'de> for AggregateNode { { const FIELDS: &[&str] = &[ "input", + "group_expr", "groupExpr", + "aggr_expr", "aggrExpr", ]; @@ -335,8 +338,8 @@ impl<'de> serde::Deserialize<'de> for AggregateNode { { match value { "input" => Ok(GeneratedField::Input), - "groupExpr" => Ok(GeneratedField::GroupExpr), - "aggrExpr" => Ok(GeneratedField::AggrExpr), + "groupExpr" | "group_expr" => Ok(GeneratedField::GroupExpr), + "aggrExpr" | "aggr_expr" => Ok(GeneratedField::AggrExpr), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -365,7 +368,7 @@ impl<'de> serde::Deserialize<'de> for AggregateNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::GroupExpr => { if group_expr__.is_some() { @@ -428,6 +431,7 @@ impl<'de> serde::Deserialize<'de> for AggregateUdfExprNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "fun_name", "funName", "args", "filter", @@ -459,7 +463,7 @@ impl<'de> serde::Deserialize<'de> for AggregateUdfExprNode { E: serde::de::Error, { match value { - "funName" => Ok(GeneratedField::FunName), + "funName" | "fun_name" => Ok(GeneratedField::FunName), "args" => Ok(GeneratedField::Args), "filter" => Ok(GeneratedField::Filter), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), @@ -502,7 +506,7 @@ impl<'de> serde::Deserialize<'de> for AggregateUdfExprNode { if filter__.is_some() { return Err(serde::de::Error::duplicate_field("filter")); } - filter__ = Some(map.next_value()?); + filter__ = map.next_value()?; } } } @@ -605,7 +609,7 @@ impl<'de> serde::Deserialize<'de> for AliasNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::Alias => { if alias__.is_some() { @@ -713,7 +717,7 @@ impl<'de> serde::Deserialize<'de> for AnalyzeNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::Verbose => { if verbose__.is_some() { @@ -876,9 +880,12 @@ impl<'de> serde::Deserialize<'de> for ArrowType { "FLOAT32", "FLOAT64", "UTF8", + "LARGE_UTF8", "LARGEUTF8", "BINARY", + "FIXED_SIZE_BINARY", "FIXEDSIZEBINARY", + "LARGE_BINARY", "LARGEBINARY", "DATE32", "DATE64", @@ -889,7 +896,9 @@ impl<'de> serde::Deserialize<'de> for ArrowType { "INTERVAL", "DECIMAL", "LIST", + "LARGE_LIST", "LARGELIST", + "FIXED_SIZE_LIST", "FIXEDSIZELIST", "STRUCT", "UNION", @@ -965,10 +974,10 @@ impl<'de> serde::Deserialize<'de> for ArrowType { "FLOAT32" => Ok(GeneratedField::Float32), "FLOAT64" => Ok(GeneratedField::Float64), "UTF8" => Ok(GeneratedField::Utf8), - "LARGEUTF8" => Ok(GeneratedField::LargeUtf8), + "LARGEUTF8" | "LARGE_UTF8" => Ok(GeneratedField::LargeUtf8), "BINARY" => Ok(GeneratedField::Binary), - "FIXEDSIZEBINARY" => Ok(GeneratedField::FixedSizeBinary), - "LARGEBINARY" => Ok(GeneratedField::LargeBinary), + "FIXEDSIZEBINARY" | "FIXED_SIZE_BINARY" => Ok(GeneratedField::FixedSizeBinary), + "LARGEBINARY" | "LARGE_BINARY" => Ok(GeneratedField::LargeBinary), "DATE32" => Ok(GeneratedField::Date32), "DATE64" => Ok(GeneratedField::Date64), "DURATION" => Ok(GeneratedField::Duration), @@ -978,8 +987,8 @@ impl<'de> serde::Deserialize<'de> for ArrowType { "INTERVAL" => Ok(GeneratedField::Interval), "DECIMAL" => Ok(GeneratedField::Decimal), "LIST" => Ok(GeneratedField::List), - "LARGELIST" => Ok(GeneratedField::LargeList), - "FIXEDSIZELIST" => Ok(GeneratedField::FixedSizeList), + "LARGELIST" | "LARGE_LIST" => Ok(GeneratedField::LargeList), + "FIXEDSIZELIST" | "FIXED_SIZE_LIST" => Ok(GeneratedField::FixedSizeList), "STRUCT" => Ok(GeneratedField::Struct), "UNION" => Ok(GeneratedField::Union), "DICTIONARY" => Ok(GeneratedField::Dictionary), @@ -1009,195 +1018,220 @@ impl<'de> serde::Deserialize<'de> for ArrowType { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("NONE")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::None(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::None) +; } GeneratedField::Bool => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("BOOL")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Bool(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Bool) +; } GeneratedField::Uint8 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UINT8")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Uint8(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Uint8) +; } GeneratedField::Int8 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("INT8")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Int8(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Int8) +; } GeneratedField::Uint16 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UINT16")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Uint16(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Uint16) +; } GeneratedField::Int16 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("INT16")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Int16(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Int16) +; } GeneratedField::Uint32 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UINT32")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Uint32(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Uint32) +; } GeneratedField::Int32 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("INT32")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Int32(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Int32) +; } GeneratedField::Uint64 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UINT64")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Uint64(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Uint64) +; } GeneratedField::Int64 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("INT64")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Int64(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Int64) +; } GeneratedField::Float16 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FLOAT16")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Float16(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Float16) +; } GeneratedField::Float32 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FLOAT32")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Float32(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Float32) +; } GeneratedField::Float64 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FLOAT64")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Float64(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Float64) +; } GeneratedField::Utf8 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UTF8")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Utf8(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Utf8) +; } GeneratedField::LargeUtf8 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("LARGEUTF8")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::LargeUtf8(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::LargeUtf8) +; } GeneratedField::Binary => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("BINARY")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Binary(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Binary) +; } GeneratedField::FixedSizeBinary => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FIXEDSIZEBINARY")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::FixedSizeBinary( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + arrow_type_enum__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| arrow_type::ArrowTypeEnum::FixedSizeBinary(x.0)); } GeneratedField::LargeBinary => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("LARGEBINARY")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::LargeBinary(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::LargeBinary) +; } GeneratedField::Date32 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("DATE32")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Date32(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Date32) +; } GeneratedField::Date64 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("DATE64")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Date64(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Date64) +; } GeneratedField::Duration => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("DURATION")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Duration(map.next_value::()? as i32)); + arrow_type_enum__ = map.next_value::<::std::option::Option>()?.map(|x| arrow_type::ArrowTypeEnum::Duration(x as i32)); } GeneratedField::Timestamp => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("TIMESTAMP")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Timestamp(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Timestamp) +; } GeneratedField::Time32 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("TIME32")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Time32(map.next_value::()? as i32)); + arrow_type_enum__ = map.next_value::<::std::option::Option>()?.map(|x| arrow_type::ArrowTypeEnum::Time32(x as i32)); } GeneratedField::Time64 => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("TIME64")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Time64(map.next_value::()? as i32)); + arrow_type_enum__ = map.next_value::<::std::option::Option>()?.map(|x| arrow_type::ArrowTypeEnum::Time64(x as i32)); } GeneratedField::Interval => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("INTERVAL")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Interval(map.next_value::()? as i32)); + arrow_type_enum__ = map.next_value::<::std::option::Option>()?.map(|x| arrow_type::ArrowTypeEnum::Interval(x as i32)); } GeneratedField::Decimal => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("DECIMAL")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Decimal(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Decimal) +; } GeneratedField::List => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("LIST")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::List(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::List) +; } GeneratedField::LargeList => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("LARGELIST")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::LargeList(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::LargeList) +; } GeneratedField::FixedSizeList => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FIXEDSIZELIST")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::FixedSizeList(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::FixedSizeList) +; } GeneratedField::Struct => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("STRUCT")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Struct(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Struct) +; } GeneratedField::Union => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("UNION")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Union(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Union) +; } GeneratedField::Dictionary => { if arrow_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("DICTIONARY")); } - arrow_type_enum__ = Some(arrow_type::ArrowTypeEnum::Dictionary(map.next_value()?)); + arrow_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(arrow_type::ArrowTypeEnum::Dictionary) +; } } } @@ -1389,7 +1423,7 @@ impl<'de> serde::Deserialize<'de> for BetweenNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::Negated => { if negated__.is_some() { @@ -1401,13 +1435,13 @@ impl<'de> serde::Deserialize<'de> for BetweenNode { if low__.is_some() { return Err(serde::de::Error::duplicate_field("low")); } - low__ = Some(map.next_value()?); + low__ = map.next_value()?; } GeneratedField::High => { if high__.is_some() { return Err(serde::de::Error::duplicate_field("high")); } - high__ = Some(map.next_value()?); + high__ = map.next_value()?; } } } @@ -1521,13 +1555,13 @@ impl<'de> serde::Deserialize<'de> for BinaryExprNode { if l__.is_some() { return Err(serde::de::Error::duplicate_field("l")); } - l__ = Some(map.next_value()?); + l__ = map.next_value()?; } GeneratedField::R => { if r__.is_some() { return Err(serde::de::Error::duplicate_field("r")); } - r__ = Some(map.next_value()?); + r__ = map.next_value()?; } GeneratedField::Op => { if op__.is_some() { @@ -1685,7 +1719,9 @@ impl<'de> serde::Deserialize<'de> for CaseNode { { const FIELDS: &[&str] = &[ "expr", + "when_then_expr", "whenThenExpr", + "else_expr", "elseExpr", ]; @@ -1716,8 +1752,8 @@ impl<'de> serde::Deserialize<'de> for CaseNode { { match value { "expr" => Ok(GeneratedField::Expr), - "whenThenExpr" => Ok(GeneratedField::WhenThenExpr), - "elseExpr" => Ok(GeneratedField::ElseExpr), + "whenThenExpr" | "when_then_expr" => Ok(GeneratedField::WhenThenExpr), + "elseExpr" | "else_expr" => Ok(GeneratedField::ElseExpr), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -1746,7 +1782,7 @@ impl<'de> serde::Deserialize<'de> for CaseNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::WhenThenExpr => { if when_then_expr__.is_some() { @@ -1758,7 +1794,7 @@ impl<'de> serde::Deserialize<'de> for CaseNode { if else_expr__.is_some() { return Err(serde::de::Error::duplicate_field("elseExpr")); } - else_expr__ = Some(map.next_value()?); + else_expr__ = map.next_value()?; } } } @@ -1804,6 +1840,7 @@ impl<'de> serde::Deserialize<'de> for CastNode { { const FIELDS: &[&str] = &[ "expr", + "arrow_type", "arrowType", ]; @@ -1833,7 +1870,7 @@ impl<'de> serde::Deserialize<'de> for CastNode { { match value { "expr" => Ok(GeneratedField::Expr), - "arrowType" => Ok(GeneratedField::ArrowType), + "arrowType" | "arrow_type" => Ok(GeneratedField::ArrowType), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -1861,13 +1898,13 @@ impl<'de> serde::Deserialize<'de> for CastNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::ArrowType => { if arrow_type__.is_some() { return Err(serde::de::Error::duplicate_field("arrowType")); } - arrow_type__ = Some(map.next_value()?); + arrow_type__ = map.next_value()?; } } } @@ -1975,7 +2012,7 @@ impl<'de> serde::Deserialize<'de> for Column { if relation__.is_some() { return Err(serde::de::Error::duplicate_field("relation")); } - relation__ = Some(map.next_value()?); + relation__ = map.next_value()?; } } } @@ -2116,7 +2153,9 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "catalog_name", "catalogName", + "if_not_exists", "ifNotExists", "schema", ]; @@ -2147,8 +2186,8 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogNode { E: serde::de::Error, { match value { - "catalogName" => Ok(GeneratedField::CatalogName), - "ifNotExists" => Ok(GeneratedField::IfNotExists), + "catalogName" | "catalog_name" => Ok(GeneratedField::CatalogName), + "ifNotExists" | "if_not_exists" => Ok(GeneratedField::IfNotExists), "schema" => Ok(GeneratedField::Schema), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -2190,7 +2229,7 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogNode { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = Some(map.next_value()?); + schema__ = map.next_value()?; } } } @@ -2241,7 +2280,9 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogSchemaNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "schema_name", "schemaName", + "if_not_exists", "ifNotExists", "schema", ]; @@ -2272,8 +2313,8 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogSchemaNode { E: serde::de::Error, { match value { - "schemaName" => Ok(GeneratedField::SchemaName), - "ifNotExists" => Ok(GeneratedField::IfNotExists), + "schemaName" | "schema_name" => Ok(GeneratedField::SchemaName), + "ifNotExists" | "if_not_exists" => Ok(GeneratedField::IfNotExists), "schema" => Ok(GeneratedField::Schema), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -2315,7 +2356,7 @@ impl<'de> serde::Deserialize<'de> for CreateCatalogSchemaNode { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = Some(map.next_value()?); + schema__ = map.next_value()?; } } } @@ -2410,13 +2451,18 @@ impl<'de> serde::Deserialize<'de> for CreateExternalTableNode { const FIELDS: &[&str] = &[ "name", "location", + "file_type", "fileType", + "has_header", "hasHeader", "schema", + "table_partition_cols", "tablePartitionCols", + "if_not_exists", "ifNotExists", "delimiter", "definition", + "file_compression_type", "fileCompressionType", ]; @@ -2455,14 +2501,14 @@ impl<'de> serde::Deserialize<'de> for CreateExternalTableNode { match value { "name" => Ok(GeneratedField::Name), "location" => Ok(GeneratedField::Location), - "fileType" => Ok(GeneratedField::FileType), - "hasHeader" => Ok(GeneratedField::HasHeader), + "fileType" | "file_type" => Ok(GeneratedField::FileType), + "hasHeader" | "has_header" => Ok(GeneratedField::HasHeader), "schema" => Ok(GeneratedField::Schema), - "tablePartitionCols" => Ok(GeneratedField::TablePartitionCols), - "ifNotExists" => Ok(GeneratedField::IfNotExists), + "tablePartitionCols" | "table_partition_cols" => Ok(GeneratedField::TablePartitionCols), + "ifNotExists" | "if_not_exists" => Ok(GeneratedField::IfNotExists), "delimiter" => Ok(GeneratedField::Delimiter), "definition" => Ok(GeneratedField::Definition), - "fileCompressionType" => Ok(GeneratedField::FileCompressionType), + "fileCompressionType" | "file_compression_type" => Ok(GeneratedField::FileCompressionType), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -2522,7 +2568,7 @@ impl<'de> serde::Deserialize<'de> for CreateExternalTableNode { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = Some(map.next_value()?); + schema__ = map.next_value()?; } GeneratedField::TablePartitionCols => { if table_partition_cols__.is_some() { @@ -2618,6 +2664,7 @@ impl<'de> serde::Deserialize<'de> for CreateViewNode { const FIELDS: &[&str] = &[ "name", "input", + "or_replace", "orReplace", "definition", ]; @@ -2651,7 +2698,7 @@ impl<'de> serde::Deserialize<'de> for CreateViewNode { match value { "name" => Ok(GeneratedField::Name), "input" => Ok(GeneratedField::Input), - "orReplace" => Ok(GeneratedField::OrReplace), + "orReplace" | "or_replace" => Ok(GeneratedField::OrReplace), "definition" => Ok(GeneratedField::Definition), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -2688,7 +2735,7 @@ impl<'de> serde::Deserialize<'de> for CreateViewNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::OrReplace => { if or_replace__.is_some() { @@ -2804,13 +2851,13 @@ impl<'de> serde::Deserialize<'de> for CrossJoinNode { if left__.is_some() { return Err(serde::de::Error::duplicate_field("left")); } - left__ = Some(map.next_value()?); + left__ = map.next_value()?; } GeneratedField::Right => { if right__.is_some() { return Err(serde::de::Error::duplicate_field("right")); } - right__ = Some(map.next_value()?); + right__ = map.next_value()?; } } } @@ -2854,6 +2901,7 @@ impl<'de> serde::Deserialize<'de> for CsvFormat { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "has_header", "hasHeader", "delimiter", ]; @@ -2883,7 +2931,7 @@ impl<'de> serde::Deserialize<'de> for CsvFormat { E: serde::de::Error, { match value { - "hasHeader" => Ok(GeneratedField::HasHeader), + "hasHeader" | "has_header" => Ok(GeneratedField::HasHeader), "delimiter" => Ok(GeneratedField::Delimiter), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -3071,10 +3119,12 @@ impl<'de> serde::Deserialize<'de> for CustomTableScanNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "table_name", "tableName", "projection", "schema", "filters", + "custom_table_data", "customTableData", ]; @@ -3106,11 +3156,11 @@ impl<'de> serde::Deserialize<'de> for CustomTableScanNode { E: serde::de::Error, { match value { - "tableName" => Ok(GeneratedField::TableName), + "tableName" | "table_name" => Ok(GeneratedField::TableName), "projection" => Ok(GeneratedField::Projection), "schema" => Ok(GeneratedField::Schema), "filters" => Ok(GeneratedField::Filters), - "customTableData" => Ok(GeneratedField::CustomTableData), + "customTableData" | "custom_table_data" => Ok(GeneratedField::CustomTableData), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -3147,13 +3197,13 @@ impl<'de> serde::Deserialize<'de> for CustomTableScanNode { if projection__.is_some() { return Err(serde::de::Error::duplicate_field("projection")); } - projection__ = Some(map.next_value()?); + projection__ = map.next_value()?; } GeneratedField::Schema => { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = Some(map.next_value()?); + schema__ = map.next_value()?; } GeneratedField::Filters => { if filters__.is_some() { @@ -3165,9 +3215,9 @@ impl<'de> serde::Deserialize<'de> for CustomTableScanNode { if custom_table_data__.is_some() { return Err(serde::de::Error::duplicate_field("customTableData")); } - custom_table_data__ = Some( - map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 - ); + custom_table_data__ = + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; } } } @@ -3345,17 +3395,17 @@ impl<'de> serde::Deserialize<'de> for Decimal { if whole__.is_some() { return Err(serde::de::Error::duplicate_field("whole")); } - whole__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + whole__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } GeneratedField::Fractional => { if fractional__.is_some() { return Err(serde::de::Error::duplicate_field("fractional")); } - fractional__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + fractional__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } } } @@ -3467,25 +3517,25 @@ impl<'de> serde::Deserialize<'de> for Decimal128 { if value__.is_some() { return Err(serde::de::Error::duplicate_field("value")); } - value__ = Some( - map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 - ); + value__ = + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; } GeneratedField::P => { if p__.is_some() { return Err(serde::de::Error::duplicate_field("p")); } - p__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + p__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } GeneratedField::S => { if s__.is_some() { return Err(serde::de::Error::duplicate_field("s")); } - s__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + s__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } } } @@ -3588,13 +3638,13 @@ impl<'de> serde::Deserialize<'de> for DfField { if field__.is_some() { return Err(serde::de::Error::duplicate_field("field")); } - field__ = Some(map.next_value()?); + field__ = map.next_value()?; } GeneratedField::Qualifier => { if qualifier__.is_some() { return Err(serde::de::Error::duplicate_field("qualifier")); } - qualifier__ = Some(map.next_value()?); + qualifier__ = map.next_value()?; } } } @@ -3806,13 +3856,13 @@ impl<'de> serde::Deserialize<'de> for Dictionary { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } - key__ = Some(map.next_value()?); + key__ = map.next_value()?; } GeneratedField::Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("value")); } - value__ = Some(map.next_value()?); + value__ = map.next_value()?; } } } @@ -3904,7 +3954,7 @@ impl<'de> serde::Deserialize<'de> for DistinctNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } } } @@ -4012,6 +4062,7 @@ impl<'de> serde::Deserialize<'de> for EmptyRelationNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "produce_one_row", "produceOneRow", ]; @@ -4039,7 +4090,7 @@ impl<'de> serde::Deserialize<'de> for EmptyRelationNode { E: serde::de::Error, { match value { - "produceOneRow" => Ok(GeneratedField::ProduceOneRow), + "produceOneRow" | "produce_one_row" => Ok(GeneratedField::ProduceOneRow), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -4167,7 +4218,7 @@ impl<'de> serde::Deserialize<'de> for ExplainNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::Verbose => { if verbose__.is_some() { @@ -4230,6 +4281,7 @@ impl<'de> serde::Deserialize<'de> for Field { { const FIELDS: &[&str] = &[ "name", + "arrow_type", "arrowType", "nullable", "children", @@ -4263,7 +4315,7 @@ impl<'de> serde::Deserialize<'de> for Field { { match value { "name" => Ok(GeneratedField::Name), - "arrowType" => Ok(GeneratedField::ArrowType), + "arrowType" | "arrow_type" => Ok(GeneratedField::ArrowType), "nullable" => Ok(GeneratedField::Nullable), "children" => Ok(GeneratedField::Children), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), @@ -4301,7 +4353,7 @@ impl<'de> serde::Deserialize<'de> for Field { if arrow_type__.is_some() { return Err(serde::de::Error::duplicate_field("arrowType")); } - arrow_type__ = Some(map.next_value()?); + arrow_type__ = map.next_value()?; } GeneratedField::Nullable => { if nullable__.is_some() { @@ -4407,9 +4459,9 @@ impl<'de> serde::Deserialize<'de> for FixedSizeBinary { if length__.is_some() { return Err(serde::de::Error::duplicate_field("length")); } - length__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + length__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } } } @@ -4452,7 +4504,9 @@ impl<'de> serde::Deserialize<'de> for FixedSizeList { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "field_type", "fieldType", + "list_size", "listSize", ]; @@ -4481,8 +4535,8 @@ impl<'de> serde::Deserialize<'de> for FixedSizeList { E: serde::de::Error, { match value { - "fieldType" => Ok(GeneratedField::FieldType), - "listSize" => Ok(GeneratedField::ListSize), + "fieldType" | "field_type" => Ok(GeneratedField::FieldType), + "listSize" | "list_size" => Ok(GeneratedField::ListSize), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -4510,15 +4564,15 @@ impl<'de> serde::Deserialize<'de> for FixedSizeList { if field_type__.is_some() { return Err(serde::de::Error::duplicate_field("fieldType")); } - field_type__ = Some(map.next_value()?); + field_type__ = map.next_value()?; } GeneratedField::ListSize => { if list_size__.is_some() { return Err(serde::de::Error::duplicate_field("listSize")); } - list_size__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + list_size__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } } } @@ -4620,13 +4674,13 @@ impl<'de> serde::Deserialize<'de> for GetIndexedField { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } - key__ = Some(map.next_value()?); + key__ = map.next_value()?; } } } @@ -4761,7 +4815,9 @@ impl<'de> serde::Deserialize<'de> for HashRepartition { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "hash_expr", "hashExpr", + "partition_count", "partitionCount", ]; @@ -4790,8 +4846,8 @@ impl<'de> serde::Deserialize<'de> for HashRepartition { E: serde::de::Error, { match value { - "hashExpr" => Ok(GeneratedField::HashExpr), - "partitionCount" => Ok(GeneratedField::PartitionCount), + "hashExpr" | "hash_expr" => Ok(GeneratedField::HashExpr), + "partitionCount" | "partition_count" => Ok(GeneratedField::PartitionCount), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -4825,9 +4881,9 @@ impl<'de> serde::Deserialize<'de> for HashRepartition { if partition_count__.is_some() { return Err(serde::de::Error::duplicate_field("partitionCount")); } - partition_count__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + partition_count__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } } } @@ -4886,6 +4942,7 @@ impl<'de> serde::Deserialize<'de> for ILikeNode { "negated", "expr", "pattern", + "escape_char", "escapeChar", ]; @@ -4919,7 +4976,7 @@ impl<'de> serde::Deserialize<'de> for ILikeNode { "negated" => Ok(GeneratedField::Negated), "expr" => Ok(GeneratedField::Expr), "pattern" => Ok(GeneratedField::Pattern), - "escapeChar" => Ok(GeneratedField::EscapeChar), + "escapeChar" | "escape_char" => Ok(GeneratedField::EscapeChar), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -4955,13 +5012,13 @@ impl<'de> serde::Deserialize<'de> for ILikeNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::Pattern => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("pattern")); } - pattern__ = Some(map.next_value()?); + pattern__ = map.next_value()?; } GeneratedField::EscapeChar => { if escape_char__.is_some() { @@ -5081,7 +5138,7 @@ impl<'de> serde::Deserialize<'de> for InListNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::List => { if list__.is_some() { @@ -5206,25 +5263,25 @@ impl<'de> serde::Deserialize<'de> for IntervalMonthDayNanoValue { if months__.is_some() { return Err(serde::de::Error::duplicate_field("months")); } - months__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + months__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } GeneratedField::Days => { if days__.is_some() { return Err(serde::de::Error::duplicate_field("days")); } - days__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + days__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } GeneratedField::Nanos => { if nanos__.is_some() { return Err(serde::de::Error::duplicate_field("nanos")); } - nanos__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + nanos__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } } } @@ -5393,7 +5450,7 @@ impl<'de> serde::Deserialize<'de> for IsFalse { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -5484,7 +5541,7 @@ impl<'de> serde::Deserialize<'de> for IsNotFalse { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -5575,7 +5632,7 @@ impl<'de> serde::Deserialize<'de> for IsNotNull { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -5666,7 +5723,7 @@ impl<'de> serde::Deserialize<'de> for IsNotTrue { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -5757,7 +5814,7 @@ impl<'de> serde::Deserialize<'de> for IsNotUnknown { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -5848,7 +5905,7 @@ impl<'de> serde::Deserialize<'de> for IsNull { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -5939,7 +5996,7 @@ impl<'de> serde::Deserialize<'de> for IsTrue { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -6030,7 +6087,7 @@ impl<'de> serde::Deserialize<'de> for IsUnknown { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -6188,10 +6245,15 @@ impl<'de> serde::Deserialize<'de> for JoinNode { const FIELDS: &[&str] = &[ "left", "right", + "join_type", "joinType", + "join_constraint", "joinConstraint", + "left_join_column", "leftJoinColumn", + "right_join_column", "rightJoinColumn", + "null_equals_null", "nullEqualsNull", "filter", ]; @@ -6229,11 +6291,11 @@ impl<'de> serde::Deserialize<'de> for JoinNode { match value { "left" => Ok(GeneratedField::Left), "right" => Ok(GeneratedField::Right), - "joinType" => Ok(GeneratedField::JoinType), - "joinConstraint" => Ok(GeneratedField::JoinConstraint), - "leftJoinColumn" => Ok(GeneratedField::LeftJoinColumn), - "rightJoinColumn" => Ok(GeneratedField::RightJoinColumn), - "nullEqualsNull" => Ok(GeneratedField::NullEqualsNull), + "joinType" | "join_type" => Ok(GeneratedField::JoinType), + "joinConstraint" | "join_constraint" => Ok(GeneratedField::JoinConstraint), + "leftJoinColumn" | "left_join_column" => Ok(GeneratedField::LeftJoinColumn), + "rightJoinColumn" | "right_join_column" => Ok(GeneratedField::RightJoinColumn), + "nullEqualsNull" | "null_equals_null" => Ok(GeneratedField::NullEqualsNull), "filter" => Ok(GeneratedField::Filter), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -6268,13 +6330,13 @@ impl<'de> serde::Deserialize<'de> for JoinNode { if left__.is_some() { return Err(serde::de::Error::duplicate_field("left")); } - left__ = Some(map.next_value()?); + left__ = map.next_value()?; } GeneratedField::Right => { if right__.is_some() { return Err(serde::de::Error::duplicate_field("right")); } - right__ = Some(map.next_value()?); + right__ = map.next_value()?; } GeneratedField::JoinType => { if join_type__.is_some() { @@ -6310,7 +6372,7 @@ impl<'de> serde::Deserialize<'de> for JoinNode { if filter__.is_some() { return Err(serde::de::Error::duplicate_field("filter")); } - filter__ = Some(map.next_value()?); + filter__ = map.next_value()?; } } } @@ -6463,6 +6525,7 @@ impl<'de> serde::Deserialize<'de> for LikeNode { "negated", "expr", "pattern", + "escape_char", "escapeChar", ]; @@ -6496,7 +6559,7 @@ impl<'de> serde::Deserialize<'de> for LikeNode { "negated" => Ok(GeneratedField::Negated), "expr" => Ok(GeneratedField::Expr), "pattern" => Ok(GeneratedField::Pattern), - "escapeChar" => Ok(GeneratedField::EscapeChar), + "escapeChar" | "escape_char" => Ok(GeneratedField::EscapeChar), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -6532,13 +6595,13 @@ impl<'de> serde::Deserialize<'de> for LikeNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::Pattern => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("pattern")); } - pattern__ = Some(map.next_value()?); + pattern__ = map.next_value()?; } GeneratedField::EscapeChar => { if escape_char__.is_some() { @@ -6658,23 +6721,23 @@ impl<'de> serde::Deserialize<'de> for LimitNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::Skip => { if skip__.is_some() { return Err(serde::de::Error::duplicate_field("skip")); } - skip__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + skip__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } GeneratedField::Fetch => { if fetch__.is_some() { return Err(serde::de::Error::duplicate_field("fetch")); } - fetch__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + fetch__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } } } @@ -6713,6 +6776,7 @@ impl<'de> serde::Deserialize<'de> for List { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "field_type", "fieldType", ]; @@ -6740,7 +6804,7 @@ impl<'de> serde::Deserialize<'de> for List { E: serde::de::Error, { match value { - "fieldType" => Ok(GeneratedField::FieldType), + "fieldType" | "field_type" => Ok(GeneratedField::FieldType), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -6767,7 +6831,7 @@ impl<'de> serde::Deserialize<'de> for List { if field_type__.is_some() { return Err(serde::de::Error::duplicate_field("fieldType")); } - field_type__ = Some(map.next_value()?); + field_type__ = map.next_value()?; } } } @@ -6868,14 +6932,19 @@ impl<'de> serde::Deserialize<'de> for ListingTableScanNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "table_name", "tableName", "paths", + "file_extension", "fileExtension", "projection", "schema", "filters", + "table_partition_cols", "tablePartitionCols", + "collect_stat", "collectStat", + "target_partitions", "targetPartitions", "csv", "parquet", @@ -6917,15 +6986,15 @@ impl<'de> serde::Deserialize<'de> for ListingTableScanNode { E: serde::de::Error, { match value { - "tableName" => Ok(GeneratedField::TableName), + "tableName" | "table_name" => Ok(GeneratedField::TableName), "paths" => Ok(GeneratedField::Paths), - "fileExtension" => Ok(GeneratedField::FileExtension), + "fileExtension" | "file_extension" => Ok(GeneratedField::FileExtension), "projection" => Ok(GeneratedField::Projection), "schema" => Ok(GeneratedField::Schema), "filters" => Ok(GeneratedField::Filters), - "tablePartitionCols" => Ok(GeneratedField::TablePartitionCols), - "collectStat" => Ok(GeneratedField::CollectStat), - "targetPartitions" => Ok(GeneratedField::TargetPartitions), + "tablePartitionCols" | "table_partition_cols" => Ok(GeneratedField::TablePartitionCols), + "collectStat" | "collect_stat" => Ok(GeneratedField::CollectStat), + "targetPartitions" | "target_partitions" => Ok(GeneratedField::TargetPartitions), "csv" => Ok(GeneratedField::Csv), "parquet" => Ok(GeneratedField::Parquet), "avro" => Ok(GeneratedField::Avro), @@ -6982,13 +7051,13 @@ impl<'de> serde::Deserialize<'de> for ListingTableScanNode { if projection__.is_some() { return Err(serde::de::Error::duplicate_field("projection")); } - projection__ = Some(map.next_value()?); + projection__ = map.next_value()?; } GeneratedField::Schema => { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = Some(map.next_value()?); + schema__ = map.next_value()?; } GeneratedField::Filters => { if filters__.is_some() { @@ -7012,27 +7081,30 @@ impl<'de> serde::Deserialize<'de> for ListingTableScanNode { if target_partitions__.is_some() { return Err(serde::de::Error::duplicate_field("targetPartitions")); } - target_partitions__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + target_partitions__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } GeneratedField::Csv => { if file_format_type__.is_some() { return Err(serde::de::Error::duplicate_field("csv")); } - file_format_type__ = Some(listing_table_scan_node::FileFormatType::Csv(map.next_value()?)); + file_format_type__ = map.next_value::<::std::option::Option<_>>()?.map(listing_table_scan_node::FileFormatType::Csv) +; } GeneratedField::Parquet => { if file_format_type__.is_some() { return Err(serde::de::Error::duplicate_field("parquet")); } - file_format_type__ = Some(listing_table_scan_node::FileFormatType::Parquet(map.next_value()?)); + file_format_type__ = map.next_value::<::std::option::Option<_>>()?.map(listing_table_scan_node::FileFormatType::Parquet) +; } GeneratedField::Avro => { if file_format_type__.is_some() { return Err(serde::de::Error::duplicate_field("avro")); } - file_format_type__ = Some(listing_table_scan_node::FileFormatType::Avro(map.next_value()?)); + file_format_type__ = map.next_value::<::std::option::Option<_>>()?.map(listing_table_scan_node::FileFormatType::Avro) +; } } } @@ -7272,35 +7344,56 @@ impl<'de> serde::Deserialize<'de> for LogicalExprNode { "column", "alias", "literal", + "binary_expr", "binaryExpr", + "aggregate_expr", "aggregateExpr", + "is_null_expr", "isNullExpr", + "is_not_null_expr", "isNotNullExpr", + "not_expr", "notExpr", "between", + "case_", "case", "cast", "sort", "negative", + "in_list", "inList", "wildcard", + "scalar_function", "scalarFunction", + "try_cast", "tryCast", + "window_expr", "windowExpr", + "aggregate_udf_expr", "aggregateUdfExpr", + "scalar_udf_expr", "scalarUdfExpr", + "get_indexed_field", "getIndexedField", + "grouping_set", "groupingSet", "cube", "rollup", + "is_true", "isTrue", + "is_false", "isFalse", + "is_unknown", "isUnknown", + "is_not_true", "isNotTrue", + "is_not_false", "isNotFalse", + "is_not_unknown", "isNotUnknown", "like", "ilike", + "similar_to", "similarTo", ]; @@ -7363,36 +7456,36 @@ impl<'de> serde::Deserialize<'de> for LogicalExprNode { "column" => Ok(GeneratedField::Column), "alias" => Ok(GeneratedField::Alias), "literal" => Ok(GeneratedField::Literal), - "binaryExpr" => Ok(GeneratedField::BinaryExpr), - "aggregateExpr" => Ok(GeneratedField::AggregateExpr), - "isNullExpr" => Ok(GeneratedField::IsNullExpr), - "isNotNullExpr" => Ok(GeneratedField::IsNotNullExpr), - "notExpr" => Ok(GeneratedField::NotExpr), + "binaryExpr" | "binary_expr" => Ok(GeneratedField::BinaryExpr), + "aggregateExpr" | "aggregate_expr" => Ok(GeneratedField::AggregateExpr), + "isNullExpr" | "is_null_expr" => Ok(GeneratedField::IsNullExpr), + "isNotNullExpr" | "is_not_null_expr" => Ok(GeneratedField::IsNotNullExpr), + "notExpr" | "not_expr" => Ok(GeneratedField::NotExpr), "between" => Ok(GeneratedField::Between), - "case" => Ok(GeneratedField::Case), + "case" | "case_" => Ok(GeneratedField::Case), "cast" => Ok(GeneratedField::Cast), "sort" => Ok(GeneratedField::Sort), "negative" => Ok(GeneratedField::Negative), - "inList" => Ok(GeneratedField::InList), + "inList" | "in_list" => Ok(GeneratedField::InList), "wildcard" => Ok(GeneratedField::Wildcard), - "scalarFunction" => Ok(GeneratedField::ScalarFunction), - "tryCast" => Ok(GeneratedField::TryCast), - "windowExpr" => Ok(GeneratedField::WindowExpr), - "aggregateUdfExpr" => Ok(GeneratedField::AggregateUdfExpr), - "scalarUdfExpr" => Ok(GeneratedField::ScalarUdfExpr), - "getIndexedField" => Ok(GeneratedField::GetIndexedField), - "groupingSet" => Ok(GeneratedField::GroupingSet), + "scalarFunction" | "scalar_function" => Ok(GeneratedField::ScalarFunction), + "tryCast" | "try_cast" => Ok(GeneratedField::TryCast), + "windowExpr" | "window_expr" => Ok(GeneratedField::WindowExpr), + "aggregateUdfExpr" | "aggregate_udf_expr" => Ok(GeneratedField::AggregateUdfExpr), + "scalarUdfExpr" | "scalar_udf_expr" => Ok(GeneratedField::ScalarUdfExpr), + "getIndexedField" | "get_indexed_field" => Ok(GeneratedField::GetIndexedField), + "groupingSet" | "grouping_set" => Ok(GeneratedField::GroupingSet), "cube" => Ok(GeneratedField::Cube), "rollup" => Ok(GeneratedField::Rollup), - "isTrue" => Ok(GeneratedField::IsTrue), - "isFalse" => Ok(GeneratedField::IsFalse), - "isUnknown" => Ok(GeneratedField::IsUnknown), - "isNotTrue" => Ok(GeneratedField::IsNotTrue), - "isNotFalse" => Ok(GeneratedField::IsNotFalse), - "isNotUnknown" => Ok(GeneratedField::IsNotUnknown), + "isTrue" | "is_true" => Ok(GeneratedField::IsTrue), + "isFalse" | "is_false" => Ok(GeneratedField::IsFalse), + "isUnknown" | "is_unknown" => Ok(GeneratedField::IsUnknown), + "isNotTrue" | "is_not_true" => Ok(GeneratedField::IsNotTrue), + "isNotFalse" | "is_not_false" => Ok(GeneratedField::IsNotFalse), + "isNotUnknown" | "is_not_unknown" => Ok(GeneratedField::IsNotUnknown), "like" => Ok(GeneratedField::Like), "ilike" => Ok(GeneratedField::Ilike), - "similarTo" => Ok(GeneratedField::SimilarTo), + "similarTo" | "similar_to" => Ok(GeneratedField::SimilarTo), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -7419,199 +7512,231 @@ impl<'de> serde::Deserialize<'de> for LogicalExprNode { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("column")); } - expr_type__ = Some(logical_expr_node::ExprType::Column(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Column) +; } GeneratedField::Alias => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("alias")); } - expr_type__ = Some(logical_expr_node::ExprType::Alias(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Alias) +; } GeneratedField::Literal => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("literal")); } - expr_type__ = Some(logical_expr_node::ExprType::Literal(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Literal) +; } GeneratedField::BinaryExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("binaryExpr")); } - expr_type__ = Some(logical_expr_node::ExprType::BinaryExpr(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::BinaryExpr) +; } GeneratedField::AggregateExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("aggregateExpr")); } - expr_type__ = Some(logical_expr_node::ExprType::AggregateExpr(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::AggregateExpr) +; } GeneratedField::IsNullExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isNullExpr")); } - expr_type__ = Some(logical_expr_node::ExprType::IsNullExpr(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsNullExpr) +; } GeneratedField::IsNotNullExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isNotNullExpr")); } - expr_type__ = Some(logical_expr_node::ExprType::IsNotNullExpr(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsNotNullExpr) +; } GeneratedField::NotExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("notExpr")); } - expr_type__ = Some(logical_expr_node::ExprType::NotExpr(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::NotExpr) +; } GeneratedField::Between => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("between")); } - expr_type__ = Some(logical_expr_node::ExprType::Between(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Between) +; } GeneratedField::Case => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("case")); } - expr_type__ = Some(logical_expr_node::ExprType::Case(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Case) +; } GeneratedField::Cast => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("cast")); } - expr_type__ = Some(logical_expr_node::ExprType::Cast(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Cast) +; } GeneratedField::Sort => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("sort")); } - expr_type__ = Some(logical_expr_node::ExprType::Sort(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Sort) +; } GeneratedField::Negative => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("negative")); } - expr_type__ = Some(logical_expr_node::ExprType::Negative(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Negative) +; } GeneratedField::InList => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("inList")); } - expr_type__ = Some(logical_expr_node::ExprType::InList(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::InList) +; } GeneratedField::Wildcard => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("wildcard")); } - expr_type__ = Some(logical_expr_node::ExprType::Wildcard(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Wildcard); } GeneratedField::ScalarFunction => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("scalarFunction")); } - expr_type__ = Some(logical_expr_node::ExprType::ScalarFunction(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::ScalarFunction) +; } GeneratedField::TryCast => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("tryCast")); } - expr_type__ = Some(logical_expr_node::ExprType::TryCast(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::TryCast) +; } GeneratedField::WindowExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("windowExpr")); } - expr_type__ = Some(logical_expr_node::ExprType::WindowExpr(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::WindowExpr) +; } GeneratedField::AggregateUdfExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("aggregateUdfExpr")); } - expr_type__ = Some(logical_expr_node::ExprType::AggregateUdfExpr(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::AggregateUdfExpr) +; } GeneratedField::ScalarUdfExpr => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("scalarUdfExpr")); } - expr_type__ = Some(logical_expr_node::ExprType::ScalarUdfExpr(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::ScalarUdfExpr) +; } GeneratedField::GetIndexedField => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("getIndexedField")); } - expr_type__ = Some(logical_expr_node::ExprType::GetIndexedField(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::GetIndexedField) +; } GeneratedField::GroupingSet => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("groupingSet")); } - expr_type__ = Some(logical_expr_node::ExprType::GroupingSet(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::GroupingSet) +; } GeneratedField::Cube => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("cube")); } - expr_type__ = Some(logical_expr_node::ExprType::Cube(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Cube) +; } GeneratedField::Rollup => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("rollup")); } - expr_type__ = Some(logical_expr_node::ExprType::Rollup(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Rollup) +; } GeneratedField::IsTrue => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isTrue")); } - expr_type__ = Some(logical_expr_node::ExprType::IsTrue(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsTrue) +; } GeneratedField::IsFalse => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isFalse")); } - expr_type__ = Some(logical_expr_node::ExprType::IsFalse(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsFalse) +; } GeneratedField::IsUnknown => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isUnknown")); } - expr_type__ = Some(logical_expr_node::ExprType::IsUnknown(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsUnknown) +; } GeneratedField::IsNotTrue => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isNotTrue")); } - expr_type__ = Some(logical_expr_node::ExprType::IsNotTrue(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsNotTrue) +; } GeneratedField::IsNotFalse => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isNotFalse")); } - expr_type__ = Some(logical_expr_node::ExprType::IsNotFalse(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsNotFalse) +; } GeneratedField::IsNotUnknown => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("isNotUnknown")); } - expr_type__ = Some(logical_expr_node::ExprType::IsNotUnknown(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::IsNotUnknown) +; } GeneratedField::Like => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("like")); } - expr_type__ = Some(logical_expr_node::ExprType::Like(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Like) +; } GeneratedField::Ilike => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("ilike")); } - expr_type__ = Some(logical_expr_node::ExprType::Ilike(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::Ilike) +; } GeneratedField::SimilarTo => { if expr_type__.is_some() { return Err(serde::de::Error::duplicate_field("similarTo")); } - expr_type__ = Some(logical_expr_node::ExprType::SimilarTo(map.next_value()?)); + expr_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_expr_node::ExprType::SimilarTo) +; } } } @@ -7712,9 +7837,9 @@ impl<'de> serde::Deserialize<'de> for LogicalExtensionNode { if node__.is_some() { return Err(serde::de::Error::duplicate_field("node")); } - node__ = Some( - map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 - ); + node__ = + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; } GeneratedField::Inputs => { if inputs__.is_some() { @@ -7831,6 +7956,7 @@ impl<'de> serde::Deserialize<'de> for LogicalPlanNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "listing_scan", "listingScan", "projection", "selection", @@ -7839,21 +7965,30 @@ impl<'de> serde::Deserialize<'de> for LogicalPlanNode { "join", "sort", "repartition", + "empty_relation", "emptyRelation", + "create_external_table", "createExternalTable", "explain", "window", "analyze", + "cross_join", "crossJoin", "values", "extension", + "create_catalog_schema", "createCatalogSchema", "union", + "create_catalog", "createCatalog", + "subquery_alias", "subqueryAlias", + "create_view", "createView", "distinct", + "view_scan", "viewScan", + "custom_scan", "customScan", ]; @@ -7904,7 +8039,7 @@ impl<'de> serde::Deserialize<'de> for LogicalPlanNode { E: serde::de::Error, { match value { - "listingScan" => Ok(GeneratedField::ListingScan), + "listingScan" | "listing_scan" => Ok(GeneratedField::ListingScan), "projection" => Ok(GeneratedField::Projection), "selection" => Ok(GeneratedField::Selection), "limit" => Ok(GeneratedField::Limit), @@ -7912,22 +8047,22 @@ impl<'de> serde::Deserialize<'de> for LogicalPlanNode { "join" => Ok(GeneratedField::Join), "sort" => Ok(GeneratedField::Sort), "repartition" => Ok(GeneratedField::Repartition), - "emptyRelation" => Ok(GeneratedField::EmptyRelation), - "createExternalTable" => Ok(GeneratedField::CreateExternalTable), + "emptyRelation" | "empty_relation" => Ok(GeneratedField::EmptyRelation), + "createExternalTable" | "create_external_table" => Ok(GeneratedField::CreateExternalTable), "explain" => Ok(GeneratedField::Explain), "window" => Ok(GeneratedField::Window), "analyze" => Ok(GeneratedField::Analyze), - "crossJoin" => Ok(GeneratedField::CrossJoin), + "crossJoin" | "cross_join" => Ok(GeneratedField::CrossJoin), "values" => Ok(GeneratedField::Values), "extension" => Ok(GeneratedField::Extension), - "createCatalogSchema" => Ok(GeneratedField::CreateCatalogSchema), + "createCatalogSchema" | "create_catalog_schema" => Ok(GeneratedField::CreateCatalogSchema), "union" => Ok(GeneratedField::Union), - "createCatalog" => Ok(GeneratedField::CreateCatalog), - "subqueryAlias" => Ok(GeneratedField::SubqueryAlias), - "createView" => Ok(GeneratedField::CreateView), + "createCatalog" | "create_catalog" => Ok(GeneratedField::CreateCatalog), + "subqueryAlias" | "subquery_alias" => Ok(GeneratedField::SubqueryAlias), + "createView" | "create_view" => Ok(GeneratedField::CreateView), "distinct" => Ok(GeneratedField::Distinct), - "viewScan" => Ok(GeneratedField::ViewScan), - "customScan" => Ok(GeneratedField::CustomScan), + "viewScan" | "view_scan" => Ok(GeneratedField::ViewScan), + "customScan" | "custom_scan" => Ok(GeneratedField::CustomScan), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -7954,145 +8089,169 @@ impl<'de> serde::Deserialize<'de> for LogicalPlanNode { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("listingScan")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::ListingScan(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::ListingScan) +; } GeneratedField::Projection => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("projection")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Projection(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Projection) +; } GeneratedField::Selection => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("selection")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Selection(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Selection) +; } GeneratedField::Limit => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("limit")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Limit(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Limit) +; } GeneratedField::Aggregate => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("aggregate")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Aggregate(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Aggregate) +; } GeneratedField::Join => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("join")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Join(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Join) +; } GeneratedField::Sort => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("sort")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Sort(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Sort) +; } GeneratedField::Repartition => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("repartition")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Repartition(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Repartition) +; } GeneratedField::EmptyRelation => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("emptyRelation")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::EmptyRelation(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::EmptyRelation) +; } GeneratedField::CreateExternalTable => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("createExternalTable")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CreateExternalTable(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CreateExternalTable) +; } GeneratedField::Explain => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("explain")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Explain(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Explain) +; } GeneratedField::Window => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("window")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Window(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Window) +; } GeneratedField::Analyze => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("analyze")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Analyze(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Analyze) +; } GeneratedField::CrossJoin => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("crossJoin")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CrossJoin(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CrossJoin) +; } GeneratedField::Values => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("values")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Values(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Values) +; } GeneratedField::Extension => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("extension")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Extension(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Extension) +; } GeneratedField::CreateCatalogSchema => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("createCatalogSchema")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CreateCatalogSchema(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CreateCatalogSchema) +; } GeneratedField::Union => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("union")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Union(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Union) +; } GeneratedField::CreateCatalog => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("createCatalog")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CreateCatalog(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CreateCatalog) +; } GeneratedField::SubqueryAlias => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("subqueryAlias")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::SubqueryAlias(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::SubqueryAlias) +; } GeneratedField::CreateView => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("createView")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CreateView(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CreateView) +; } GeneratedField::Distinct => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("distinct")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::Distinct(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::Distinct) +; } GeneratedField::ViewScan => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("viewScan")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::ViewScan(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::ViewScan) +; } GeneratedField::CustomScan => { if logical_plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("customScan")); } - logical_plan_type__ = Some(logical_plan_node::LogicalPlanType::CustomScan(map.next_value()?)); + logical_plan_type__ = map.next_value::<::std::option::Option<_>>()?.map(logical_plan_node::LogicalPlanType::CustomScan) +; } } } @@ -8183,7 +8342,7 @@ impl<'de> serde::Deserialize<'de> for NegativeNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -8274,7 +8433,7 @@ impl<'de> serde::Deserialize<'de> for Not { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -8311,6 +8470,7 @@ impl<'de> serde::Deserialize<'de> for OptimizedLogicalPlanType { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "optimizer_name", "optimizerName", ]; @@ -8338,7 +8498,7 @@ impl<'de> serde::Deserialize<'de> for OptimizedLogicalPlanType { E: serde::de::Error, { match value { - "optimizerName" => Ok(GeneratedField::OptimizerName), + "optimizerName" | "optimizer_name" => Ok(GeneratedField::OptimizerName), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -8402,6 +8562,7 @@ impl<'de> serde::Deserialize<'de> for OptimizedPhysicalPlanType { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "optimizer_name", "optimizerName", ]; @@ -8429,7 +8590,7 @@ impl<'de> serde::Deserialize<'de> for OptimizedPhysicalPlanType { E: serde::de::Error, { match value { - "optimizerName" => Ok(GeneratedField::OptimizerName), + "optimizerName" | "optimizer_name" => Ok(GeneratedField::OptimizerName), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -8493,6 +8654,7 @@ impl<'de> serde::Deserialize<'de> for ParquetFormat { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "enable_pruning", "enablePruning", ]; @@ -8520,7 +8682,7 @@ impl<'de> serde::Deserialize<'de> for ParquetFormat { E: serde::de::Error, { match value { - "enablePruning" => Ok(GeneratedField::EnablePruning), + "enablePruning" | "enable_pruning" => Ok(GeneratedField::EnablePruning), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -8672,37 +8834,43 @@ impl<'de> serde::Deserialize<'de> for PlanType { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("InitialLogicalPlan")); } - plan_type_enum__ = Some(plan_type::PlanTypeEnum::InitialLogicalPlan(map.next_value()?)); + plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::InitialLogicalPlan) +; } GeneratedField::OptimizedLogicalPlan => { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("OptimizedLogicalPlan")); } - plan_type_enum__ = Some(plan_type::PlanTypeEnum::OptimizedLogicalPlan(map.next_value()?)); + plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::OptimizedLogicalPlan) +; } GeneratedField::FinalLogicalPlan => { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FinalLogicalPlan")); } - plan_type_enum__ = Some(plan_type::PlanTypeEnum::FinalLogicalPlan(map.next_value()?)); + plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::FinalLogicalPlan) +; } GeneratedField::InitialPhysicalPlan => { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("InitialPhysicalPlan")); } - plan_type_enum__ = Some(plan_type::PlanTypeEnum::InitialPhysicalPlan(map.next_value()?)); + plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::InitialPhysicalPlan) +; } GeneratedField::OptimizedPhysicalPlan => { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("OptimizedPhysicalPlan")); } - plan_type_enum__ = Some(plan_type::PlanTypeEnum::OptimizedPhysicalPlan(map.next_value()?)); + plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::OptimizedPhysicalPlan) +; } GeneratedField::FinalPhysicalPlan => { if plan_type_enum__.is_some() { return Err(serde::de::Error::duplicate_field("FinalPhysicalPlan")); } - plan_type_enum__ = Some(plan_type::PlanTypeEnum::FinalPhysicalPlan(map.next_value()?)); + plan_type_enum__ = map.next_value::<::std::option::Option<_>>()?.map(plan_type::PlanTypeEnum::FinalPhysicalPlan) +; } } } @@ -8908,7 +9076,7 @@ impl<'de> serde::Deserialize<'de> for ProjectionNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::Expr => { if expr__.is_some() { @@ -8920,7 +9088,7 @@ impl<'de> serde::Deserialize<'de> for ProjectionNode { if optional_alias__.is_some() { return Err(serde::de::Error::duplicate_field("alias")); } - optional_alias__ = Some(projection_node::OptionalAlias::Alias(map.next_value()?)); + optional_alias__ = map.next_value::<::std::option::Option<_>>()?.map(projection_node::OptionalAlias::Alias); } } } @@ -8973,6 +9141,7 @@ impl<'de> serde::Deserialize<'de> for RepartitionNode { { const FIELDS: &[&str] = &[ "input", + "round_robin", "roundRobin", "hash", ]; @@ -9004,7 +9173,7 @@ impl<'de> serde::Deserialize<'de> for RepartitionNode { { match value { "input" => Ok(GeneratedField::Input), - "roundRobin" => Ok(GeneratedField::RoundRobin), + "roundRobin" | "round_robin" => Ok(GeneratedField::RoundRobin), "hash" => Ok(GeneratedField::Hash), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -9033,21 +9202,20 @@ impl<'de> serde::Deserialize<'de> for RepartitionNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::RoundRobin => { if partition_method__.is_some() { return Err(serde::de::Error::duplicate_field("roundRobin")); } - partition_method__ = Some(repartition_node::PartitionMethod::RoundRobin( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + partition_method__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| repartition_node::PartitionMethod::RoundRobin(x.0)); } GeneratedField::Hash => { if partition_method__.is_some() { return Err(serde::de::Error::duplicate_field("hash")); } - partition_method__ = Some(repartition_node::PartitionMethod::Hash(map.next_value()?)); + partition_method__ = map.next_value::<::std::option::Option<_>>()?.map(repartition_node::PartitionMethod::Hash) +; } } } @@ -9182,6 +9350,7 @@ impl<'de> serde::Deserialize<'de> for ScalarDictionaryValue { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "index_type", "indexType", "value", ]; @@ -9211,7 +9380,7 @@ impl<'de> serde::Deserialize<'de> for ScalarDictionaryValue { E: serde::de::Error, { match value { - "indexType" => Ok(GeneratedField::IndexType), + "indexType" | "index_type" => Ok(GeneratedField::IndexType), "value" => Ok(GeneratedField::Value), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -9240,13 +9409,13 @@ impl<'de> serde::Deserialize<'de> for ScalarDictionaryValue { if index_type__.is_some() { return Err(serde::de::Error::duplicate_field("indexType")); } - index_type__ = Some(map.next_value()?); + index_type__ = map.next_value()?; } GeneratedField::Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("value")); } - value__ = Some(map.next_value()?); + value__ = map.next_value()?; } } } @@ -9348,17 +9517,17 @@ impl<'de> serde::Deserialize<'de> for ScalarFixedSizeBinary { if values__.is_some() { return Err(serde::de::Error::duplicate_field("values")); } - values__ = Some( - map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 - ); + values__ = + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; } GeneratedField::Length => { if length__.is_some() { return Err(serde::de::Error::duplicate_field("length")); } - length__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + length__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } } } @@ -9795,6 +9964,7 @@ impl<'de> serde::Deserialize<'de> for ScalarListValue { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "is_null", "isNull", "field", "values", @@ -9826,7 +9996,7 @@ impl<'de> serde::Deserialize<'de> for ScalarListValue { E: serde::de::Error, { match value { - "isNull" => Ok(GeneratedField::IsNull), + "isNull" | "is_null" => Ok(GeneratedField::IsNull), "field" => Ok(GeneratedField::Field), "values" => Ok(GeneratedField::Values), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), @@ -9863,7 +10033,7 @@ impl<'de> serde::Deserialize<'de> for ScalarListValue { if field__.is_some() { return Err(serde::de::Error::duplicate_field("field")); } - field__ = Some(map.next_value()?); + field__ = map.next_value()?; } GeneratedField::Values => { if values__.is_some() { @@ -9928,9 +10098,13 @@ impl<'de> serde::Deserialize<'de> for ScalarTimestampValue { { const FIELDS: &[&str] = &[ "timezone", + "time_microsecond_value", "timeMicrosecondValue", + "time_nanosecond_value", "timeNanosecondValue", + "time_second_value", "timeSecondValue", + "time_millisecond_value", "timeMillisecondValue", ]; @@ -9963,10 +10137,10 @@ impl<'de> serde::Deserialize<'de> for ScalarTimestampValue { { match value { "timezone" => Ok(GeneratedField::Timezone), - "timeMicrosecondValue" => Ok(GeneratedField::TimeMicrosecondValue), - "timeNanosecondValue" => Ok(GeneratedField::TimeNanosecondValue), - "timeSecondValue" => Ok(GeneratedField::TimeSecondValue), - "timeMillisecondValue" => Ok(GeneratedField::TimeMillisecondValue), + "timeMicrosecondValue" | "time_microsecond_value" => Ok(GeneratedField::TimeMicrosecondValue), + "timeNanosecondValue" | "time_nanosecond_value" => Ok(GeneratedField::TimeNanosecondValue), + "timeSecondValue" | "time_second_value" => Ok(GeneratedField::TimeSecondValue), + "timeMillisecondValue" | "time_millisecond_value" => Ok(GeneratedField::TimeMillisecondValue), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -10000,33 +10174,25 @@ impl<'de> serde::Deserialize<'de> for ScalarTimestampValue { if value__.is_some() { return Err(serde::de::Error::duplicate_field("timeMicrosecondValue")); } - value__ = Some(scalar_timestamp_value::Value::TimeMicrosecondValue( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_timestamp_value::Value::TimeMicrosecondValue(x.0)); } GeneratedField::TimeNanosecondValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("timeNanosecondValue")); } - value__ = Some(scalar_timestamp_value::Value::TimeNanosecondValue( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_timestamp_value::Value::TimeNanosecondValue(x.0)); } GeneratedField::TimeSecondValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("timeSecondValue")); } - value__ = Some(scalar_timestamp_value::Value::TimeSecondValue( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_timestamp_value::Value::TimeSecondValue(x.0)); } GeneratedField::TimeMillisecondValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("timeMillisecondValue")); } - value__ = Some(scalar_timestamp_value::Value::TimeMillisecondValue( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_timestamp_value::Value::TimeMillisecondValue(x.0)); } } } @@ -10070,6 +10236,7 @@ impl<'de> serde::Deserialize<'de> for ScalarUdfExprNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "fun_name", "funName", "args", ]; @@ -10099,7 +10266,7 @@ impl<'de> serde::Deserialize<'de> for ScalarUdfExprNode { E: serde::de::Error, { match value { - "funName" => Ok(GeneratedField::FunName), + "funName" | "fun_name" => Ok(GeneratedField::FunName), "args" => Ok(GeneratedField::Args), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -10257,33 +10424,61 @@ impl<'de> serde::Deserialize<'de> for ScalarValue { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "null_value", "nullValue", + "bool_value", "boolValue", + "utf8_value", "utf8Value", + "large_utf8_value", "largeUtf8Value", + "int8_value", "int8Value", + "int16_value", "int16Value", + "int32_value", "int32Value", + "int64_value", "int64Value", + "uint8_value", "uint8Value", + "uint16_value", "uint16Value", + "uint32_value", "uint32Value", + "uint64_value", "uint64Value", + "float32_value", "float32Value", + "float64_value", "float64Value", + "date_32_value", "date32Value", + "list_value", "listValue", + "decimal128_value", "decimal128Value", + "date_64_value", "date64Value", + "interval_yearmonth_value", "intervalYearmonthValue", + "interval_daytime_value", "intervalDaytimeValue", + "timestamp_value", "timestampValue", + "dictionary_value", "dictionaryValue", + "binary_value", "binaryValue", + "large_binary_value", "largeBinaryValue", + "time64_value", "time64Value", + "interval_month_day_nano", "intervalMonthDayNano", + "struct_value", "structValue", + "fixed_size_binary_value", "fixedSizeBinaryValue", ]; @@ -10338,34 +10533,34 @@ impl<'de> serde::Deserialize<'de> for ScalarValue { E: serde::de::Error, { match value { - "nullValue" => Ok(GeneratedField::NullValue), - "boolValue" => Ok(GeneratedField::BoolValue), - "utf8Value" => Ok(GeneratedField::Utf8Value), - "largeUtf8Value" => Ok(GeneratedField::LargeUtf8Value), - "int8Value" => Ok(GeneratedField::Int8Value), - "int16Value" => Ok(GeneratedField::Int16Value), - "int32Value" => Ok(GeneratedField::Int32Value), - "int64Value" => Ok(GeneratedField::Int64Value), - "uint8Value" => Ok(GeneratedField::Uint8Value), - "uint16Value" => Ok(GeneratedField::Uint16Value), - "uint32Value" => Ok(GeneratedField::Uint32Value), - "uint64Value" => Ok(GeneratedField::Uint64Value), - "float32Value" => Ok(GeneratedField::Float32Value), - "float64Value" => Ok(GeneratedField::Float64Value), - "date32Value" => Ok(GeneratedField::Date32Value), - "listValue" => Ok(GeneratedField::ListValue), - "decimal128Value" => Ok(GeneratedField::Decimal128Value), - "date64Value" => Ok(GeneratedField::Date64Value), - "intervalYearmonthValue" => Ok(GeneratedField::IntervalYearmonthValue), - "intervalDaytimeValue" => Ok(GeneratedField::IntervalDaytimeValue), - "timestampValue" => Ok(GeneratedField::TimestampValue), - "dictionaryValue" => Ok(GeneratedField::DictionaryValue), - "binaryValue" => Ok(GeneratedField::BinaryValue), - "largeBinaryValue" => Ok(GeneratedField::LargeBinaryValue), - "time64Value" => Ok(GeneratedField::Time64Value), - "intervalMonthDayNano" => Ok(GeneratedField::IntervalMonthDayNano), - "structValue" => Ok(GeneratedField::StructValue), - "fixedSizeBinaryValue" => Ok(GeneratedField::FixedSizeBinaryValue), + "nullValue" | "null_value" => Ok(GeneratedField::NullValue), + "boolValue" | "bool_value" => Ok(GeneratedField::BoolValue), + "utf8Value" | "utf8_value" => Ok(GeneratedField::Utf8Value), + "largeUtf8Value" | "large_utf8_value" => Ok(GeneratedField::LargeUtf8Value), + "int8Value" | "int8_value" => Ok(GeneratedField::Int8Value), + "int16Value" | "int16_value" => Ok(GeneratedField::Int16Value), + "int32Value" | "int32_value" => Ok(GeneratedField::Int32Value), + "int64Value" | "int64_value" => Ok(GeneratedField::Int64Value), + "uint8Value" | "uint8_value" => Ok(GeneratedField::Uint8Value), + "uint16Value" | "uint16_value" => Ok(GeneratedField::Uint16Value), + "uint32Value" | "uint32_value" => Ok(GeneratedField::Uint32Value), + "uint64Value" | "uint64_value" => Ok(GeneratedField::Uint64Value), + "float32Value" | "float32_value" => Ok(GeneratedField::Float32Value), + "float64Value" | "float64_value" => Ok(GeneratedField::Float64Value), + "date32Value" | "date_32_value" => Ok(GeneratedField::Date32Value), + "listValue" | "list_value" => Ok(GeneratedField::ListValue), + "decimal128Value" | "decimal128_value" => Ok(GeneratedField::Decimal128Value), + "date64Value" | "date_64_value" => Ok(GeneratedField::Date64Value), + "intervalYearmonthValue" | "interval_yearmonth_value" => Ok(GeneratedField::IntervalYearmonthValue), + "intervalDaytimeValue" | "interval_daytime_value" => Ok(GeneratedField::IntervalDaytimeValue), + "timestampValue" | "timestamp_value" => Ok(GeneratedField::TimestampValue), + "dictionaryValue" | "dictionary_value" => Ok(GeneratedField::DictionaryValue), + "binaryValue" | "binary_value" => Ok(GeneratedField::BinaryValue), + "largeBinaryValue" | "large_binary_value" => Ok(GeneratedField::LargeBinaryValue), + "time64Value" | "time64_value" => Ok(GeneratedField::Time64Value), + "intervalMonthDayNano" | "interval_month_day_nano" => Ok(GeneratedField::IntervalMonthDayNano), + "structValue" | "struct_value" => Ok(GeneratedField::StructValue), + "fixedSizeBinaryValue" | "fixed_size_binary_value" => Ok(GeneratedField::FixedSizeBinaryValue), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -10392,203 +10587,177 @@ impl<'de> serde::Deserialize<'de> for ScalarValue { if value__.is_some() { return Err(serde::de::Error::duplicate_field("nullValue")); } - value__ = Some(scalar_value::Value::NullValue(map.next_value()?)); + value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::NullValue) +; } GeneratedField::BoolValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("boolValue")); } - value__ = Some(scalar_value::Value::BoolValue(map.next_value()?)); + value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::BoolValue); } GeneratedField::Utf8Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("utf8Value")); } - value__ = Some(scalar_value::Value::Utf8Value(map.next_value()?)); + value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::Utf8Value); } GeneratedField::LargeUtf8Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("largeUtf8Value")); } - value__ = Some(scalar_value::Value::LargeUtf8Value(map.next_value()?)); + value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::LargeUtf8Value); } GeneratedField::Int8Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("int8Value")); } - value__ = Some(scalar_value::Value::Int8Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Int8Value(x.0)); } GeneratedField::Int16Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("int16Value")); } - value__ = Some(scalar_value::Value::Int16Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Int16Value(x.0)); } GeneratedField::Int32Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("int32Value")); } - value__ = Some(scalar_value::Value::Int32Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Int32Value(x.0)); } GeneratedField::Int64Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("int64Value")); } - value__ = Some(scalar_value::Value::Int64Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Int64Value(x.0)); } GeneratedField::Uint8Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("uint8Value")); } - value__ = Some(scalar_value::Value::Uint8Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Uint8Value(x.0)); } GeneratedField::Uint16Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("uint16Value")); } - value__ = Some(scalar_value::Value::Uint16Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Uint16Value(x.0)); } GeneratedField::Uint32Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("uint32Value")); } - value__ = Some(scalar_value::Value::Uint32Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Uint32Value(x.0)); } GeneratedField::Uint64Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("uint64Value")); } - value__ = Some(scalar_value::Value::Uint64Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Uint64Value(x.0)); } GeneratedField::Float32Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("float32Value")); } - value__ = Some(scalar_value::Value::Float32Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Float32Value(x.0)); } GeneratedField::Float64Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("float64Value")); } - value__ = Some(scalar_value::Value::Float64Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Float64Value(x.0)); } GeneratedField::Date32Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("date32Value")); } - value__ = Some(scalar_value::Value::Date32Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Date32Value(x.0)); } GeneratedField::ListValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("listValue")); } - value__ = Some(scalar_value::Value::ListValue(map.next_value()?)); + value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::ListValue) +; } GeneratedField::Decimal128Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("decimal128Value")); } - value__ = Some(scalar_value::Value::Decimal128Value(map.next_value()?)); + value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::Decimal128Value) +; } GeneratedField::Date64Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("date64Value")); } - value__ = Some(scalar_value::Value::Date64Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Date64Value(x.0)); } GeneratedField::IntervalYearmonthValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("intervalYearmonthValue")); } - value__ = Some(scalar_value::Value::IntervalYearmonthValue( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::IntervalYearmonthValue(x.0)); } GeneratedField::IntervalDaytimeValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("intervalDaytimeValue")); } - value__ = Some(scalar_value::Value::IntervalDaytimeValue( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::IntervalDaytimeValue(x.0)); } GeneratedField::TimestampValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("timestampValue")); } - value__ = Some(scalar_value::Value::TimestampValue(map.next_value()?)); + value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::TimestampValue) +; } GeneratedField::DictionaryValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("dictionaryValue")); } - value__ = Some(scalar_value::Value::DictionaryValue(map.next_value()?)); + value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::DictionaryValue) +; } GeneratedField::BinaryValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("binaryValue")); } - value__ = Some(scalar_value::Value::BinaryValue( - map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| scalar_value::Value::BinaryValue(x.0)); } GeneratedField::LargeBinaryValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("largeBinaryValue")); } - value__ = Some(scalar_value::Value::LargeBinaryValue( - map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| scalar_value::Value::LargeBinaryValue(x.0)); } GeneratedField::Time64Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("time64Value")); } - value__ = Some(scalar_value::Value::Time64Value( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - )); + value__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| scalar_value::Value::Time64Value(x.0)); } GeneratedField::IntervalMonthDayNano => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("intervalMonthDayNano")); } - value__ = Some(scalar_value::Value::IntervalMonthDayNano(map.next_value()?)); + value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::IntervalMonthDayNano) +; } GeneratedField::StructValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("structValue")); } - value__ = Some(scalar_value::Value::StructValue(map.next_value()?)); + value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::StructValue) +; } GeneratedField::FixedSizeBinaryValue => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("fixedSizeBinaryValue")); } - value__ = Some(scalar_value::Value::FixedSizeBinaryValue(map.next_value()?)); + value__ = map.next_value::<::std::option::Option<_>>()?.map(scalar_value::Value::FixedSizeBinaryValue) +; } } } @@ -10770,7 +10939,7 @@ impl<'de> serde::Deserialize<'de> for SelectionExecNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -10871,13 +11040,13 @@ impl<'de> serde::Deserialize<'de> for SelectionNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::Expr => { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } } } @@ -10936,6 +11105,7 @@ impl<'de> serde::Deserialize<'de> for SimilarToNode { "negated", "expr", "pattern", + "escape_char", "escapeChar", ]; @@ -10969,7 +11139,7 @@ impl<'de> serde::Deserialize<'de> for SimilarToNode { "negated" => Ok(GeneratedField::Negated), "expr" => Ok(GeneratedField::Expr), "pattern" => Ok(GeneratedField::Pattern), - "escapeChar" => Ok(GeneratedField::EscapeChar), + "escapeChar" | "escape_char" => Ok(GeneratedField::EscapeChar), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -11005,13 +11175,13 @@ impl<'de> serde::Deserialize<'de> for SimilarToNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::Pattern => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("pattern")); } - pattern__ = Some(map.next_value()?); + pattern__ = map.next_value()?; } GeneratedField::EscapeChar => { if escape_char__.is_some() { @@ -11071,6 +11241,7 @@ impl<'de> serde::Deserialize<'de> for SortExprNode { const FIELDS: &[&str] = &[ "expr", "asc", + "nulls_first", "nullsFirst", ]; @@ -11102,7 +11273,7 @@ impl<'de> serde::Deserialize<'de> for SortExprNode { match value { "expr" => Ok(GeneratedField::Expr), "asc" => Ok(GeneratedField::Asc), - "nullsFirst" => Ok(GeneratedField::NullsFirst), + "nullsFirst" | "nulls_first" => Ok(GeneratedField::NullsFirst), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -11131,7 +11302,7 @@ impl<'de> serde::Deserialize<'de> for SortExprNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::Asc => { if asc__.is_some() { @@ -11256,7 +11427,7 @@ impl<'de> serde::Deserialize<'de> for SortNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::Expr => { if expr__.is_some() { @@ -11268,9 +11439,9 @@ impl<'de> serde::Deserialize<'de> for SortNode { if fetch__.is_some() { return Err(serde::de::Error::duplicate_field("fetch")); } - fetch__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + fetch__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } } } @@ -11315,6 +11486,7 @@ impl<'de> serde::Deserialize<'de> for StringifiedPlan { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "plan_type", "planType", "plan", ]; @@ -11344,7 +11516,7 @@ impl<'de> serde::Deserialize<'de> for StringifiedPlan { E: serde::de::Error, { match value { - "planType" => Ok(GeneratedField::PlanType), + "planType" | "plan_type" => Ok(GeneratedField::PlanType), "plan" => Ok(GeneratedField::Plan), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -11373,7 +11545,7 @@ impl<'de> serde::Deserialize<'de> for StringifiedPlan { if plan_type__.is_some() { return Err(serde::de::Error::duplicate_field("planType")); } - plan_type__ = Some(map.next_value()?); + plan_type__ = map.next_value()?; } GeneratedField::Plan => { if plan__.is_some() { @@ -11417,6 +11589,7 @@ impl<'de> serde::Deserialize<'de> for Struct { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "sub_field_types", "subFieldTypes", ]; @@ -11444,7 +11617,7 @@ impl<'de> serde::Deserialize<'de> for Struct { E: serde::de::Error, { match value { - "subFieldTypes" => Ok(GeneratedField::SubFieldTypes), + "subFieldTypes" | "sub_field_types" => Ok(GeneratedField::SubFieldTypes), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -11514,6 +11687,7 @@ impl<'de> serde::Deserialize<'de> for StructValue { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "field_values", "fieldValues", "fields", ]; @@ -11543,7 +11717,7 @@ impl<'de> serde::Deserialize<'de> for StructValue { E: serde::de::Error, { match value { - "fieldValues" => Ok(GeneratedField::FieldValues), + "fieldValues" | "field_values" => Ok(GeneratedField::FieldValues), "fields" => Ok(GeneratedField::Fields), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -11680,7 +11854,7 @@ impl<'de> serde::Deserialize<'de> for SubqueryAliasNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::Alias => { if alias__.is_some() { @@ -11811,6 +11985,7 @@ impl<'de> serde::Deserialize<'de> for Timestamp { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "time_unit", "timeUnit", "timezone", ]; @@ -11840,7 +12015,7 @@ impl<'de> serde::Deserialize<'de> for Timestamp { E: serde::de::Error, { match value { - "timeUnit" => Ok(GeneratedField::TimeUnit), + "timeUnit" | "time_unit" => Ok(GeneratedField::TimeUnit), "timezone" => Ok(GeneratedField::Timezone), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -11920,6 +12095,7 @@ impl<'de> serde::Deserialize<'de> for TryCastNode { { const FIELDS: &[&str] = &[ "expr", + "arrow_type", "arrowType", ]; @@ -11949,7 +12125,7 @@ impl<'de> serde::Deserialize<'de> for TryCastNode { { match value { "expr" => Ok(GeneratedField::Expr), - "arrowType" => Ok(GeneratedField::ArrowType), + "arrowType" | "arrow_type" => Ok(GeneratedField::ArrowType), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -11977,13 +12153,13 @@ impl<'de> serde::Deserialize<'de> for TryCastNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::ArrowType => { if arrow_type__.is_some() { return Err(serde::de::Error::duplicate_field("arrowType")); } - arrow_type__ = Some(map.next_value()?); + arrow_type__ = map.next_value()?; } } } @@ -12035,8 +12211,11 @@ impl<'de> serde::Deserialize<'de> for Union { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "union_types", "unionTypes", + "union_mode", "unionMode", + "type_ids", "typeIds", ]; @@ -12066,9 +12245,9 @@ impl<'de> serde::Deserialize<'de> for Union { E: serde::de::Error, { match value { - "unionTypes" => Ok(GeneratedField::UnionTypes), - "unionMode" => Ok(GeneratedField::UnionMode), - "typeIds" => Ok(GeneratedField::TypeIds), + "unionTypes" | "union_types" => Ok(GeneratedField::UnionTypes), + "unionMode" | "union_mode" => Ok(GeneratedField::UnionMode), + "typeIds" | "type_ids" => Ok(GeneratedField::TypeIds), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -12109,10 +12288,10 @@ impl<'de> serde::Deserialize<'de> for Union { if type_ids__.is_some() { return Err(serde::de::Error::duplicate_field("typeIds")); } - type_ids__ = Some( - map.next_value::>>()? - .into_iter().map(|x| x.0).collect() - ); + type_ids__ = + Some(map.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; } } } @@ -12321,7 +12500,9 @@ impl<'de> serde::Deserialize<'de> for ValuesNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "n_cols", "nCols", + "values_list", "valuesList", ]; @@ -12350,8 +12531,8 @@ impl<'de> serde::Deserialize<'de> for ValuesNode { E: serde::de::Error, { match value { - "nCols" => Ok(GeneratedField::NCols), - "valuesList" => Ok(GeneratedField::ValuesList), + "nCols" | "n_cols" => Ok(GeneratedField::NCols), + "valuesList" | "values_list" => Ok(GeneratedField::ValuesList), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -12379,9 +12560,9 @@ impl<'de> serde::Deserialize<'de> for ValuesNode { if n_cols__.is_some() { return Err(serde::de::Error::duplicate_field("nCols")); } - n_cols__ = Some( - map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0 - ); + n_cols__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; } GeneratedField::ValuesList => { if values_list__.is_some() { @@ -12449,6 +12630,7 @@ impl<'de> serde::Deserialize<'de> for ViewTableScanNode { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "table_name", "tableName", "input", "schema", @@ -12484,7 +12666,7 @@ impl<'de> serde::Deserialize<'de> for ViewTableScanNode { E: serde::de::Error, { match value { - "tableName" => Ok(GeneratedField::TableName), + "tableName" | "table_name" => Ok(GeneratedField::TableName), "input" => Ok(GeneratedField::Input), "schema" => Ok(GeneratedField::Schema), "projection" => Ok(GeneratedField::Projection), @@ -12525,19 +12707,19 @@ impl<'de> serde::Deserialize<'de> for ViewTableScanNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::Schema => { if schema__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - schema__ = Some(map.next_value()?); + schema__ = map.next_value()?; } GeneratedField::Projection => { if projection__.is_some() { return Err(serde::de::Error::duplicate_field("projection")); } - projection__ = Some(map.next_value()?); + projection__ = map.next_value()?; } GeneratedField::Definition => { if definition__.is_some() { @@ -12590,7 +12772,9 @@ impl<'de> serde::Deserialize<'de> for WhenThen { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "when_expr", "whenExpr", + "then_expr", "thenExpr", ]; @@ -12619,8 +12803,8 @@ impl<'de> serde::Deserialize<'de> for WhenThen { E: serde::de::Error, { match value { - "whenExpr" => Ok(GeneratedField::WhenExpr), - "thenExpr" => Ok(GeneratedField::ThenExpr), + "whenExpr" | "when_expr" => Ok(GeneratedField::WhenExpr), + "thenExpr" | "then_expr" => Ok(GeneratedField::ThenExpr), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -12648,13 +12832,13 @@ impl<'de> serde::Deserialize<'de> for WhenThen { if when_expr__.is_some() { return Err(serde::de::Error::duplicate_field("whenExpr")); } - when_expr__ = Some(map.next_value()?); + when_expr__ = map.next_value()?; } GeneratedField::ThenExpr => { if then_expr__.is_some() { return Err(serde::de::Error::duplicate_field("thenExpr")); } - then_expr__ = Some(map.next_value()?); + then_expr__ = map.next_value()?; } } } @@ -12732,9 +12916,13 @@ impl<'de> serde::Deserialize<'de> for WindowExprNode { { const FIELDS: &[&str] = &[ "expr", + "partition_by", "partitionBy", + "order_by", "orderBy", + "aggr_function", "aggrFunction", + "built_in_function", "builtInFunction", "frame", ]; @@ -12769,10 +12957,10 @@ impl<'de> serde::Deserialize<'de> for WindowExprNode { { match value { "expr" => Ok(GeneratedField::Expr), - "partitionBy" => Ok(GeneratedField::PartitionBy), - "orderBy" => Ok(GeneratedField::OrderBy), - "aggrFunction" => Ok(GeneratedField::AggrFunction), - "builtInFunction" => Ok(GeneratedField::BuiltInFunction), + "partitionBy" | "partition_by" => Ok(GeneratedField::PartitionBy), + "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), + "aggrFunction" | "aggr_function" => Ok(GeneratedField::AggrFunction), + "builtInFunction" | "built_in_function" => Ok(GeneratedField::BuiltInFunction), "frame" => Ok(GeneratedField::Frame), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -12804,7 +12992,7 @@ impl<'de> serde::Deserialize<'de> for WindowExprNode { if expr__.is_some() { return Err(serde::de::Error::duplicate_field("expr")); } - expr__ = Some(map.next_value()?); + expr__ = map.next_value()?; } GeneratedField::PartitionBy => { if partition_by__.is_some() { @@ -12822,19 +13010,20 @@ impl<'de> serde::Deserialize<'de> for WindowExprNode { if window_function__.is_some() { return Err(serde::de::Error::duplicate_field("aggrFunction")); } - window_function__ = Some(window_expr_node::WindowFunction::AggrFunction(map.next_value::()? as i32)); + window_function__ = map.next_value::<::std::option::Option>()?.map(|x| window_expr_node::WindowFunction::AggrFunction(x as i32)); } GeneratedField::BuiltInFunction => { if window_function__.is_some() { return Err(serde::de::Error::duplicate_field("builtInFunction")); } - window_function__ = Some(window_expr_node::WindowFunction::BuiltInFunction(map.next_value::()? as i32)); + window_function__ = map.next_value::<::std::option::Option>()?.map(|x| window_expr_node::WindowFunction::BuiltInFunction(x as i32)); } GeneratedField::Frame => { if window_frame__.is_some() { return Err(serde::de::Error::duplicate_field("frame")); } - window_frame__ = Some(window_expr_node::WindowFrame::Frame(map.next_value()?)); + window_frame__ = map.next_value::<::std::option::Option<_>>()?.map(window_expr_node::WindowFrame::Frame) +; } } } @@ -12893,7 +13082,9 @@ impl<'de> serde::Deserialize<'de> for WindowFrame { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "window_frame_units", "windowFrameUnits", + "start_bound", "startBound", "bound", ]; @@ -12924,8 +13115,8 @@ impl<'de> serde::Deserialize<'de> for WindowFrame { E: serde::de::Error, { match value { - "windowFrameUnits" => Ok(GeneratedField::WindowFrameUnits), - "startBound" => Ok(GeneratedField::StartBound), + "windowFrameUnits" | "window_frame_units" => Ok(GeneratedField::WindowFrameUnits), + "startBound" | "start_bound" => Ok(GeneratedField::StartBound), "bound" => Ok(GeneratedField::Bound), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } @@ -12961,13 +13152,14 @@ impl<'de> serde::Deserialize<'de> for WindowFrame { if start_bound__.is_some() { return Err(serde::de::Error::duplicate_field("startBound")); } - start_bound__ = Some(map.next_value()?); + start_bound__ = map.next_value()?; } GeneratedField::Bound => { if end_bound__.is_some() { return Err(serde::de::Error::duplicate_field("bound")); } - end_bound__ = Some(window_frame::EndBound::Bound(map.next_value()?)); + end_bound__ = map.next_value::<::std::option::Option<_>>()?.map(window_frame::EndBound::Bound) +; } } } @@ -13014,7 +13206,9 @@ impl<'de> serde::Deserialize<'de> for WindowFrameBound { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ + "window_frame_bound_type", "windowFrameBoundType", + "bound_value", "boundValue", ]; @@ -13043,8 +13237,8 @@ impl<'de> serde::Deserialize<'de> for WindowFrameBound { E: serde::de::Error, { match value { - "windowFrameBoundType" => Ok(GeneratedField::WindowFrameBoundType), - "boundValue" => Ok(GeneratedField::BoundValue), + "windowFrameBoundType" | "window_frame_bound_type" => Ok(GeneratedField::WindowFrameBoundType), + "boundValue" | "bound_value" => Ok(GeneratedField::BoundValue), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -13078,7 +13272,7 @@ impl<'de> serde::Deserialize<'de> for WindowFrameBound { if bound_value__.is_some() { return Err(serde::de::Error::duplicate_field("boundValue")); } - bound_value__ = Some(map.next_value()?); + bound_value__ = map.next_value()?; } } } @@ -13275,6 +13469,7 @@ impl<'de> serde::Deserialize<'de> for WindowNode { { const FIELDS: &[&str] = &[ "input", + "window_expr", "windowExpr", ]; @@ -13304,7 +13499,7 @@ impl<'de> serde::Deserialize<'de> for WindowNode { { match value { "input" => Ok(GeneratedField::Input), - "windowExpr" => Ok(GeneratedField::WindowExpr), + "windowExpr" | "window_expr" => Ok(GeneratedField::WindowExpr), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -13332,7 +13527,7 @@ impl<'de> serde::Deserialize<'de> for WindowNode { if input__.is_some() { return Err(serde::de::Error::duplicate_field("input")); } - input__ = Some(map.next_value()?); + input__ = map.next_value()?; } GeneratedField::WindowExpr => { if window_expr__.is_some() {