@@ -586,3 +586,36 @@ def test_count_for_pg_binding(self, kikimr, s3, client, pg_syntax):
586586 else :
587587 assert result_set .columns [0 ].type .type_id == ydb .Type .UINT64
588588 assert result_set .rows [0 ].items [0 ].uint64_value == 1
589+
590+ @yq_all
591+ @pytest .mark .parametrize ("client" , [{"folder_id" : "my_folder" }], indirect = True )
592+ def test_ast_in_failed_query_compilation (self , kikimr , s3 , client ):
593+ resource = boto3 .resource (
594+ "s3" ,
595+ endpoint_url = s3 .s3_url ,
596+ aws_access_key_id = "key" ,
597+ aws_secret_access_key = "secret_key"
598+ )
599+
600+ bucket = resource .Bucket ("bindbucket" )
601+ bucket .create (ACL = 'public-read' )
602+ bucket .objects .all ().delete ()
603+
604+ connection_id = client .create_storage_connection ("bb" , "bindbucket" ).result .connection_id
605+
606+ data_column = ydb .Column (name = "data" , type = ydb .Type (type_id = ydb .Type .PrimitiveTypeId .STRING ))
607+ client .create_object_storage_binding (name = "s3binding" ,
608+ path = "/" ,
609+ format = "raw" ,
610+ connection_id = connection_id ,
611+ columns = [data_column ])
612+
613+ sql = R'''
614+ SELECT some_unknown_column FROM bindings.`s3binding`;
615+ '''
616+
617+ query_id = client .create_query ("simple" , sql , type = fq .QueryContent .QueryType .ANALYTICS ).result .query_id
618+ client .wait_query_status (query_id , fq .QueryMeta .FAILED )
619+
620+ ast = str (client .describe_query (query_id ).result .query .ast )
621+ assert ast != "" , "Query ast not found"
0 commit comments