@@ -4268,31 +4268,14 @@ fn parse_scalar_function_in_projection() {
4268
4268
}
4269
4269
4270
4270
fn run_explain_analyze (
4271
+ dialect : TestedDialects ,
4271
4272
query : & str ,
4272
4273
expected_verbose : bool ,
4273
4274
expected_analyze : bool ,
4274
4275
expected_format : Option < AnalyzeFormat > ,
4275
4276
exepcted_options : Option < Vec < UtilityOption > > ,
4276
4277
) {
4277
- run_explain_analyze_with_specific_dialect (
4278
- |_d| true ,
4279
- query,
4280
- expected_verbose,
4281
- expected_analyze,
4282
- expected_format,
4283
- exepcted_options,
4284
- )
4285
- }
4286
-
4287
- fn run_explain_analyze_with_specific_dialect < T : Fn ( & dyn Dialect ) -> bool > (
4288
- dialect_predicate : T ,
4289
- query : & str ,
4290
- expected_verbose : bool ,
4291
- expected_analyze : bool ,
4292
- expected_format : Option < AnalyzeFormat > ,
4293
- exepcted_options : Option < Vec < UtilityOption > > ,
4294
- ) {
4295
- match all_dialects_where ( dialect_predicate) . verified_stmt ( query) {
4278
+ match dialect. verified_stmt ( query) {
4296
4279
Statement :: Explain {
4297
4280
describe_alias : _,
4298
4281
analyze,
@@ -4350,29 +4333,40 @@ fn explain_desc() {
4350
4333
fn parse_explain_analyze_with_simple_select ( ) {
4351
4334
// Describe is an alias for EXPLAIN
4352
4335
run_explain_analyze (
4336
+ all_dialects ( ) ,
4353
4337
"DESCRIBE SELECT sqrt(id) FROM foo" ,
4354
4338
false ,
4355
4339
false ,
4356
4340
None ,
4357
4341
None ,
4358
4342
) ;
4359
4343
4360
- run_explain_analyze ( "EXPLAIN SELECT sqrt(id) FROM foo" , false , false , None , None ) ;
4361
4344
run_explain_analyze (
4345
+ all_dialects ( ) ,
4346
+ "EXPLAIN SELECT sqrt(id) FROM foo" ,
4347
+ false ,
4348
+ false ,
4349
+ None ,
4350
+ None ,
4351
+ ) ;
4352
+ run_explain_analyze (
4353
+ all_dialects ( ) ,
4362
4354
"EXPLAIN VERBOSE SELECT sqrt(id) FROM foo" ,
4363
4355
true ,
4364
4356
false ,
4365
4357
None ,
4366
4358
None ,
4367
4359
) ;
4368
4360
run_explain_analyze (
4361
+ all_dialects ( ) ,
4369
4362
"EXPLAIN ANALYZE SELECT sqrt(id) FROM foo" ,
4370
4363
false ,
4371
4364
true ,
4372
4365
None ,
4373
4366
None ,
4374
4367
) ;
4375
4368
run_explain_analyze (
4369
+ all_dialects ( ) ,
4376
4370
"EXPLAIN ANALYZE VERBOSE SELECT sqrt(id) FROM foo" ,
4377
4371
true ,
4378
4372
true ,
@@ -4381,6 +4375,7 @@ fn parse_explain_analyze_with_simple_select() {
4381
4375
) ;
4382
4376
4383
4377
run_explain_analyze (
4378
+ all_dialects ( ) ,
4384
4379
"EXPLAIN ANALYZE FORMAT GRAPHVIZ SELECT sqrt(id) FROM foo" ,
4385
4380
false ,
4386
4381
true ,
@@ -4389,6 +4384,7 @@ fn parse_explain_analyze_with_simple_select() {
4389
4384
) ;
4390
4385
4391
4386
run_explain_analyze (
4387
+ all_dialects ( ) ,
4392
4388
"EXPLAIN ANALYZE VERBOSE FORMAT JSON SELECT sqrt(id) FROM foo" ,
4393
4389
true ,
4394
4390
true ,
@@ -4397,6 +4393,7 @@ fn parse_explain_analyze_with_simple_select() {
4397
4393
) ;
4398
4394
4399
4395
run_explain_analyze (
4396
+ all_dialects ( ) ,
4400
4397
"EXPLAIN VERBOSE FORMAT TEXT SELECT sqrt(id) FROM foo" ,
4401
4398
true ,
4402
4399
false ,
@@ -10861,8 +10858,8 @@ fn test_truncate_table_with_on_cluster() {
10861
10858
10862
10859
#[ test]
10863
10860
fn parse_explain_with_option_list ( ) {
10864
- run_explain_analyze_with_specific_dialect (
10865
- |d| d. supports_explain_with_utility_options ( ) ,
10861
+ run_explain_analyze (
10862
+ all_dialects_where ( |d| d. supports_explain_with_utility_options ( ) ) ,
10866
10863
"EXPLAIN (ANALYZE false, VERBOSE true) SELECT sqrt(id) FROM foo" ,
10867
10864
false ,
10868
10865
false ,
@@ -10879,8 +10876,8 @@ fn parse_explain_with_option_list() {
10879
10876
] ) ,
10880
10877
) ;
10881
10878
10882
- run_explain_analyze_with_specific_dialect (
10883
- |d| d. supports_explain_with_utility_options ( ) ,
10879
+ run_explain_analyze (
10880
+ all_dialects_where ( |d| d. supports_explain_with_utility_options ( ) ) ,
10884
10881
"EXPLAIN (ANALYZE ON, VERBOSE OFF) SELECT sqrt(id) FROM foo" ,
10885
10882
false ,
10886
10883
false ,
@@ -10897,8 +10894,8 @@ fn parse_explain_with_option_list() {
10897
10894
] ) ,
10898
10895
) ;
10899
10896
10900
- run_explain_analyze_with_specific_dialect (
10901
- |d| d. supports_explain_with_utility_options ( ) ,
10897
+ run_explain_analyze (
10898
+ all_dialects_where ( |d| d. supports_explain_with_utility_options ( ) ) ,
10902
10899
r#"EXPLAIN (FORMAT1 TEXT, FORMAT2 'JSON', FORMAT3 "XML", FORMAT4 YAML) SELECT sqrt(id) FROM foo"# ,
10903
10900
false ,
10904
10901
false ,
@@ -10923,8 +10920,8 @@ fn parse_explain_with_option_list() {
10923
10920
] ) ,
10924
10921
) ;
10925
10922
10926
- run_explain_analyze_with_specific_dialect (
10927
- |d| d. supports_explain_with_utility_options ( ) ,
10923
+ run_explain_analyze (
10924
+ all_dialects_where ( |d| d. supports_explain_with_utility_options ( ) ) ,
10928
10925
r#"EXPLAIN (NUM1 10, NUM2 +10.1, NUM3 -10.2) SELECT sqrt(id) FROM foo"# ,
10929
10926
false ,
10930
10927
false ,
@@ -10951,7 +10948,7 @@ fn parse_explain_with_option_list() {
10951
10948
] ) ,
10952
10949
) ;
10953
10950
10954
- let utility_option_list = vec ! [
10951
+ let utility_options = vec ! [
10955
10952
UtilityOption {
10956
10953
name: Ident :: new( "ANALYZE" ) ,
10957
10954
arg: None ,
@@ -10976,12 +10973,12 @@ fn parse_explain_with_option_list() {
10976
10973
} ) ,
10977
10974
} ,
10978
10975
] ;
10979
- run_explain_analyze_with_specific_dialect (
10980
- |d| d. supports_explain_with_utility_options ( ) ,
10976
+ run_explain_analyze (
10977
+ all_dialects_where ( |d| d. supports_explain_with_utility_options ( ) ) ,
10981
10978
"EXPLAIN (ANALYZE, VERBOSE true, WAL OFF, FORMAT YAML, USER_DEF_NUM -100.1) SELECT sqrt(id) FROM foo" ,
10982
10979
false ,
10983
10980
false ,
10984
10981
None ,
10985
- Some ( utility_option_list ) ,
10982
+ Some ( utility_options ) ,
10986
10983
) ;
10987
10984
}
0 commit comments