@@ -28,7 +28,7 @@ use arroyo_datastream::logical::{
2828 ChainedLogicalOperator , LogicalNode , LogicalProgram , OperatorChain , OperatorName ,
2929} ;
3030use arroyo_formats:: ser:: ArrowSerializer ;
31- use arroyo_planner:: { ArroyoSchemaProvider , CompiledSql , SqlConfig } ;
31+ use arroyo_planner:: { ArroyoSchemaProvider , CompiledSql , PlannerError , SqlConfig } ;
3232use arroyo_rpc:: formats:: Format ;
3333use arroyo_rpc:: grpc:: rpc:: compiler_grpc_client:: CompilerGrpcClient ;
3434use arroyo_rpc:: public_ids:: { IdTypes , generate_id} ;
@@ -65,7 +65,7 @@ async fn compile_sql(
6565 auth_data : & AuthData ,
6666 validate_only : bool ,
6767 db : & DatabaseSource ,
68- ) -> Result < CompiledSql , ErrorResp > {
68+ ) -> Result < Result < CompiledSql , PlannerError > , ErrorResp > {
6969 let mut schema_provider = ArroyoSchemaProvider :: new ( ) ;
7070
7171 let global_udfs = fetch_get_udfs ( & db. client ( ) . await ?, & auth_data. organization_id )
@@ -174,15 +174,14 @@ async fn compile_sql(
174174 schema_provider. add_connection_profile ( profile) ;
175175 }
176176
177- arroyo_planner:: parse_and_get_program (
177+ Ok ( arroyo_planner:: parse_and_get_program (
178178 & query,
179179 schema_provider,
180180 SqlConfig {
181181 default_parallelism : parallelism,
182182 } ,
183183 )
184- . await
185- . map_err ( |err| bad_request ( err. to_string ( ) ) )
184+ . await )
186185}
187186
188187fn set_parallelism ( program : & mut LogicalProgram , parallelism : usize ) {
@@ -569,15 +568,15 @@ pub async fn validate_query(
569568 true ,
570569 & state. database ,
571570 )
572- . await
571+ . await ?
573572 {
574573 Ok ( CompiledSql { program, .. } ) => QueryValidationResult {
575574 graph : Some ( program. try_into ( ) . map_err ( log_and_map) ?) ,
576575 errors : vec ! [ ] ,
577576 } ,
578577 Err ( e) => QueryValidationResult {
579578 graph : None ,
580- errors : vec ! [ e . message ] ,
579+ errors : e . diagnostics ,
581580 } ,
582581 } ;
583582
@@ -660,7 +659,7 @@ async fn create_pipeline_inner(
660659 false ,
661660 & state. database ,
662661 )
663- . await ?;
662+ . await ?? ;
664663
665664 let pipeline_id = create_pipeline_int (
666665 pipeline_post. name ,
@@ -718,7 +717,7 @@ pub async fn create_preview_pipeline(
718717 false ,
719718 & state. database ,
720719 )
721- . await ?;
720+ . await ?? ;
722721
723722 let pipeline_id = create_pipeline_int (
724723 format ! ( "preview_{}" , to_millis( SystemTime :: now( ) ) ) ,
0 commit comments