@@ -4256,31 +4256,14 @@ fn parse_scalar_function_in_projection() {
4256
4256
}
4257
4257
4258
4258
fn run_explain_analyze (
4259
+ dialect : TestedDialects ,
4259
4260
query : & str ,
4260
4261
expected_verbose : bool ,
4261
4262
expected_analyze : bool ,
4262
4263
expected_format : Option < AnalyzeFormat > ,
4263
4264
exepcted_options : Option < Vec < UtilityOption > > ,
4264
4265
) {
4265
- run_explain_analyze_with_specific_dialect (
4266
- |_d| true ,
4267
- query,
4268
- expected_verbose,
4269
- expected_analyze,
4270
- expected_format,
4271
- exepcted_options,
4272
- )
4273
- }
4274
-
4275
- fn run_explain_analyze_with_specific_dialect < T : Fn ( & dyn Dialect ) -> bool > (
4276
- dialect_predicate : T ,
4277
- query : & str ,
4278
- expected_verbose : bool ,
4279
- expected_analyze : bool ,
4280
- expected_format : Option < AnalyzeFormat > ,
4281
- exepcted_options : Option < Vec < UtilityOption > > ,
4282
- ) {
4283
- match all_dialects_where ( dialect_predicate) . verified_stmt ( query) {
4266
+ match dialect. verified_stmt ( query) {
4284
4267
Statement :: Explain {
4285
4268
describe_alias : _,
4286
4269
analyze,
@@ -4338,29 +4321,40 @@ fn explain_desc() {
4338
4321
fn parse_explain_analyze_with_simple_select ( ) {
4339
4322
// Describe is an alias for EXPLAIN
4340
4323
run_explain_analyze (
4324
+ all_dialects ( ) ,
4341
4325
"DESCRIBE SELECT sqrt(id) FROM foo" ,
4342
4326
false ,
4343
4327
false ,
4344
4328
None ,
4345
4329
None ,
4346
4330
) ;
4347
4331
4348
- run_explain_analyze ( "EXPLAIN SELECT sqrt(id) FROM foo" , false , false , None , None ) ;
4349
4332
run_explain_analyze (
4333
+ all_dialects ( ) ,
4334
+ "EXPLAIN SELECT sqrt(id) FROM foo" ,
4335
+ false ,
4336
+ false ,
4337
+ None ,
4338
+ None ,
4339
+ ) ;
4340
+ run_explain_analyze (
4341
+ all_dialects ( ) ,
4350
4342
"EXPLAIN VERBOSE SELECT sqrt(id) FROM foo" ,
4351
4343
true ,
4352
4344
false ,
4353
4345
None ,
4354
4346
None ,
4355
4347
) ;
4356
4348
run_explain_analyze (
4349
+ all_dialects ( ) ,
4357
4350
"EXPLAIN ANALYZE SELECT sqrt(id) FROM foo" ,
4358
4351
false ,
4359
4352
true ,
4360
4353
None ,
4361
4354
None ,
4362
4355
) ;
4363
4356
run_explain_analyze (
4357
+ all_dialects ( ) ,
4364
4358
"EXPLAIN ANALYZE VERBOSE SELECT sqrt(id) FROM foo" ,
4365
4359
true ,
4366
4360
true ,
@@ -4369,6 +4363,7 @@ fn parse_explain_analyze_with_simple_select() {
4369
4363
) ;
4370
4364
4371
4365
run_explain_analyze (
4366
+ all_dialects ( ) ,
4372
4367
"EXPLAIN ANALYZE FORMAT GRAPHVIZ SELECT sqrt(id) FROM foo" ,
4373
4368
false ,
4374
4369
true ,
@@ -4377,6 +4372,7 @@ fn parse_explain_analyze_with_simple_select() {
4377
4372
) ;
4378
4373
4379
4374
run_explain_analyze (
4375
+ all_dialects ( ) ,
4380
4376
"EXPLAIN ANALYZE VERBOSE FORMAT JSON SELECT sqrt(id) FROM foo" ,
4381
4377
true ,
4382
4378
true ,
@@ -4385,6 +4381,7 @@ fn parse_explain_analyze_with_simple_select() {
4385
4381
) ;
4386
4382
4387
4383
run_explain_analyze (
4384
+ all_dialects ( ) ,
4388
4385
"EXPLAIN VERBOSE FORMAT TEXT SELECT sqrt(id) FROM foo" ,
4389
4386
true ,
4390
4387
false ,
@@ -10828,8 +10825,8 @@ fn test_extract_seconds_single_quote_err() {
10828
10825
10829
10826
#[ test]
10830
10827
fn parse_explain_with_option_list ( ) {
10831
- run_explain_analyze_with_specific_dialect (
10832
- |d| d. supports_explain_with_utility_options ( ) ,
10828
+ run_explain_analyze (
10829
+ all_dialects_where ( |d| d. supports_explain_with_utility_options ( ) ) ,
10833
10830
"EXPLAIN (ANALYZE false, VERBOSE true) SELECT sqrt(id) FROM foo" ,
10834
10831
false ,
10835
10832
false ,
@@ -10846,8 +10843,8 @@ fn parse_explain_with_option_list() {
10846
10843
] ) ,
10847
10844
) ;
10848
10845
10849
- run_explain_analyze_with_specific_dialect (
10850
- |d| d. supports_explain_with_utility_options ( ) ,
10846
+ run_explain_analyze (
10847
+ all_dialects_where ( |d| d. supports_explain_with_utility_options ( ) ) ,
10851
10848
"EXPLAIN (ANALYZE ON, VERBOSE OFF) SELECT sqrt(id) FROM foo" ,
10852
10849
false ,
10853
10850
false ,
@@ -10864,8 +10861,8 @@ fn parse_explain_with_option_list() {
10864
10861
] ) ,
10865
10862
) ;
10866
10863
10867
- run_explain_analyze_with_specific_dialect (
10868
- |d| d. supports_explain_with_utility_options ( ) ,
10864
+ run_explain_analyze (
10865
+ all_dialects_where ( |d| d. supports_explain_with_utility_options ( ) ) ,
10869
10866
r#"EXPLAIN (FORMAT1 TEXT, FORMAT2 'JSON', FORMAT3 "XML", FORMAT4 YAML) SELECT sqrt(id) FROM foo"# ,
10870
10867
false ,
10871
10868
false ,
@@ -10890,8 +10887,8 @@ fn parse_explain_with_option_list() {
10890
10887
] ) ,
10891
10888
) ;
10892
10889
10893
- run_explain_analyze_with_specific_dialect (
10894
- |d| d. supports_explain_with_utility_options ( ) ,
10890
+ run_explain_analyze (
10891
+ all_dialects_where ( |d| d. supports_explain_with_utility_options ( ) ) ,
10895
10892
r#"EXPLAIN (NUM1 10, NUM2 +10.1, NUM3 -10.2) SELECT sqrt(id) FROM foo"# ,
10896
10893
false ,
10897
10894
false ,
@@ -10918,7 +10915,7 @@ fn parse_explain_with_option_list() {
10918
10915
] ) ,
10919
10916
) ;
10920
10917
10921
- let utility_option_list = vec ! [
10918
+ let utility_options = vec ! [
10922
10919
UtilityOption {
10923
10920
name: Ident :: new( "ANALYZE" ) ,
10924
10921
arg: None ,
@@ -10943,12 +10940,12 @@ fn parse_explain_with_option_list() {
10943
10940
} ) ,
10944
10941
} ,
10945
10942
] ;
10946
- run_explain_analyze_with_specific_dialect (
10947
- |d| d. supports_explain_with_utility_options ( ) ,
10943
+ run_explain_analyze (
10944
+ all_dialects_where ( |d| d. supports_explain_with_utility_options ( ) ) ,
10948
10945
"EXPLAIN (ANALYZE, VERBOSE true, WAL OFF, FORMAT YAML, USER_DEF_NUM -100.1) SELECT sqrt(id) FROM foo" ,
10949
10946
false ,
10950
10947
false ,
10951
10948
None ,
10952
- Some ( utility_option_list ) ,
10949
+ Some ( utility_options ) ,
10953
10950
) ;
10954
10951
}
0 commit comments