Skip to content

Commit 4cd778f

Browse files
committed
Upgrade Arroyo SQL parser to 0.59
1 parent a0cdbc6 commit 4cd778f

5 files changed

Lines changed: 38 additions & 41 deletions

File tree

Cargo.lock

Lines changed: 22 additions & 33 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ reqwest = "0.12"
7171
rusqlite = "0.31"
7272
apache-avro = "0.18.0"
7373
k8s-openapi = "0.24.0"
74-
sqlparser = "0.55.0"
74+
sqlparser = "0.59.0"
7575
petgraph = "0.8"
7676
rand = "0.9"
7777
prometheus = "0.14.0"
@@ -119,7 +119,7 @@ split-debuginfo = "unpacked"
119119
[patch.crates-io]
120120
typify = { git = 'https://github.com/ArroyoSystems/typify.git', branch = 'arroyo' }
121121

122-
sqlparser = { git = "https://github.com/ArroyoSystems/sqlparser-rs", branch = "0.55.0/arroyo" }
122+
sqlparser = { git = "https://github.com/wi11dey/sqlparser-rs", branch = "0.59.0/arroyo" }
123123

124124
cornucopia_async = { git = "https://github.com/ArroyoSystems/cornucopia", branch = "sqlite" }
125125
cornucopia = { git = "https://github.com/ArroyoSystems/cornucopia", branch = "sqlite" }

crates/arroyo-planner/src/builder.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,9 @@ impl<'a> Planner<'a> {
160160
.ok_or_else(|| DataFusionError::Plan("missing input".to_string()))?;
161161

162162
// need to convert to ExecutionPlan to get the partial schema.
163+
let task_ctx = self.session_state.task_ctx();
163164
let partial_aggregation_exec_plan =
164-
partial_aggregation_plan.try_into_physical_plan(self.schema_provider, &codec)?;
165+
partial_aggregation_plan.try_into_physical_plan(task_ctx.as_ref(), &codec)?;
165166

166167
let partial_schema = partial_aggregation_exec_plan.schema();
167168
let final_input_table_provider =

crates/arroyo-planner/src/extension/key_calculation.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,11 @@ impl ArroyoExtension for KeyCalculationExtension {
177177
let arrow_schema = self.input.schema().as_ref();
178178

179179
match &self.keys {
180-
KeysOrExprs::Keys(keys) => {
181-
ArroyoSchema::from_schema_keys(Arc::new(arrow_schema.into()), keys.clone()).unwrap()
182-
}
180+
KeysOrExprs::Keys(keys) => ArroyoSchema::from_schema_keys(
181+
Arc::new(arrow_schema.as_arrow().clone()),
182+
keys.clone(),
183+
)
184+
.unwrap(),
183185
KeysOrExprs::Exprs(exprs) => {
184186
let mut fields = vec![];
185187

crates/arroyo-planner/src/tables.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ use datafusion::optimizer::replace_distinct_aggregate::ReplaceDistinctWithAggreg
4848
use datafusion::optimizer::scalar_subquery_to_join::ScalarSubqueryToJoin;
4949
use datafusion::optimizer::simplify_expressions::SimplifyExpressions;
5050
use datafusion::sql::sqlparser;
51-
use datafusion::sql::sqlparser::ast::{CreateTable, Query};
51+
use datafusion::sql::sqlparser::ast::{CreateTable, CreateTableOptions, Query};
5252
use datafusion::{
5353
optimizer::{OptimizerContext, optimizer::Optimizer},
5454
sql::{
@@ -773,14 +773,19 @@ impl Table {
773773
if let Statement::CreateTable(CreateTable {
774774
name,
775775
columns,
776-
with_options,
776+
table_options,
777777
query: None,
778778
temporary,
779779
constraints,
780780
arroyo_partitions,
781781
..
782782
}) = statement
783783
{
784+
let with_options = match table_options {
785+
CreateTableOptions::None => &[],
786+
CreateTableOptions::With(options) => options.as_slice(),
787+
options => return plan_err!("Unsupported create table options: {options}"),
788+
};
784789
let name: String = name.to_string();
785790
let mut connector_opts = ConnectorOptions::new(with_options, arroyo_partitions)?;
786791

0 commit comments

Comments
 (0)