@@ -34,12 +34,14 @@ export const DIMENSION_TEST_CASES = [
34
34
column_names : [ 'column_name' ] ,
35
35
} ,
36
36
validFunctions : EMPTY_VALID_FUNCTIONS ,
37
+ columnNames : [ 'column_name' ] ,
37
38
expected : true ,
38
39
} ,
39
40
{
40
41
description : 'node type COLUMN_REF with alias' ,
41
42
node : COLUMN_REF_NODE ,
42
43
validFunctions : EMPTY_VALID_FUNCTIONS ,
44
+ columnNames : [ 'column_name' ] ,
43
45
expected : true ,
44
46
} ,
45
47
{
@@ -51,6 +53,7 @@ export const DIMENSION_TEST_CASES = [
51
53
query_location : 0 ,
52
54
value : '1' ,
53
55
} ,
56
+ columnNames : [ ] ,
54
57
validFunctions : EMPTY_VALID_FUNCTIONS ,
55
58
expected : true ,
56
59
} ,
@@ -66,14 +69,15 @@ export const DIMENSION_TEST_CASES = [
66
69
type : ExpressionType . COLUMN_REF ,
67
70
alias : '' ,
68
71
query_location : 12 ,
69
- column_names : [ 'column_name ' ] ,
72
+ column_names : [ 'column_name1 ' ] ,
70
73
} ,
71
74
cast_type : {
72
75
id : 1 ,
73
76
} ,
74
77
try_cast : false ,
75
78
} ,
76
79
validFunctions : EMPTY_VALID_FUNCTIONS ,
80
+ columnNames : [ 'column_name1' ] ,
77
81
expected : true ,
78
82
} ,
79
83
{
@@ -89,7 +93,7 @@ export const DIMENSION_TEST_CASES = [
89
93
type : ExpressionType . COLUMN_REF ,
90
94
alias : '' ,
91
95
query_location : 16 ,
92
- column_names : [ 'column_name ' ] ,
96
+ column_names : [ 'column_name2 ' ] ,
93
97
} ,
94
98
{
95
99
class : ExpressionClass . CONSTANT ,
@@ -108,11 +112,13 @@ export const DIMENSION_TEST_CASES = [
108
112
] ,
109
113
} ,
110
114
validFunctions : EMPTY_VALID_FUNCTIONS ,
115
+ columnNames : [ 'column_name2' ] ,
111
116
expected : true ,
112
117
} ,
113
118
{
114
119
description :
115
120
'node type FUNCTION with ROUND function and if it contains in validFunctions' ,
121
+ columnNames : [ 'schema.column_name' ] ,
116
122
node : {
117
123
class : ExpressionClass . FUNCTION ,
118
124
type : ExpressionType . FUNCTION ,
@@ -126,7 +132,7 @@ export const DIMENSION_TEST_CASES = [
126
132
type : ExpressionType . COLUMN_REF ,
127
133
alias : '' ,
128
134
query_location : 13 ,
129
- column_names : [ 'column_name' ] ,
135
+ column_names : [ 'schema' , ' column_name'] ,
130
136
} ,
131
137
{
132
138
class : ExpressionClass . CONSTANT ,
@@ -157,6 +163,7 @@ export const DIMENSION_TEST_CASES = [
157
163
} ,
158
164
{
159
165
description : 'node type CASE' ,
166
+ columnNames : [ 'actual_close_date1' , 'actual_close_date' , 'created_date' ] ,
160
167
node : {
161
168
class : ExpressionClass . CASE ,
162
169
type : ExpressionType . CASE_EXPR ,
@@ -189,7 +196,7 @@ export const DIMENSION_TEST_CASES = [
189
196
type : ExpressionType . COLUMN_REF ,
190
197
alias : '' ,
191
198
query_location : 55 ,
192
- column_names : [ 'actual_close_date ' ] ,
199
+ column_names : [ 'actual_close_date1 ' ] ,
193
200
} ,
194
201
} ,
195
202
] ,
@@ -227,6 +234,7 @@ export const MEASURE_TEST_CASES = [
227
234
} ,
228
235
validFunctions : new Set ( [ 'count_star' ] ) ,
229
236
validScalarFunctions : EMPTY_VALID_FUNCTIONS ,
237
+ columnNames : [ ] ,
230
238
expected : true ,
231
239
} ,
232
240
{
@@ -258,6 +266,7 @@ export const MEASURE_TEST_CASES = [
258
266
} ,
259
267
validFunctions : new Set ( [ 'sum' ] ) ,
260
268
validScalarFunctions : EMPTY_VALID_FUNCTIONS ,
269
+ columnNames : [ 'column1' ] ,
261
270
expected : true ,
262
271
} ,
263
272
{
@@ -291,9 +300,11 @@ export const MEASURE_TEST_CASES = [
291
300
validScalarFunctions : new Set ( [ '/' ] ) ,
292
301
error : 'Invalid function type: sum' ,
293
302
expected : 'error' ,
303
+ columnNames : [ 'column1' ] ,
294
304
} ,
295
305
{
296
306
description : 'node type FUNCTION with MAX and operator' ,
307
+ columnNames : [ 'column1' ] ,
297
308
query : 'max(column1) / 1000' ,
298
309
node : {
299
310
class : ExpressionClass . FUNCTION ,
@@ -361,6 +372,7 @@ export const MEASURE_TEST_CASES = [
361
372
{
362
373
description : 'node type CASE_EXPR' ,
363
374
query : 'CASE WHEN COUNT(id) > 1 THEN AVG(mtbf_hours) ELSE null END' ,
375
+ columnNames : [ 'mtbf_hours' , 'id' ] ,
364
376
node : {
365
377
class : ExpressionClass . CASE ,
366
378
type : ExpressionType . CASE_EXPR ,
@@ -463,6 +475,7 @@ export const MEASURE_TEST_CASES = [
463
475
{
464
476
description :
465
477
'node type FUNCTION with aggregation and case statement within' ,
478
+ columnNames : [ 'modified_date' , 'stage_json' ] ,
466
479
node : {
467
480
class : ExpressionClass . FUNCTION ,
468
481
type : ExpressionType . FUNCTION ,
@@ -581,6 +594,7 @@ export const MEASURE_TEST_CASES = [
581
594
{
582
595
description :
583
596
'node type FUNCTION two children of aggregation and operator operation on them' ,
597
+ columnNames : [ 'mean_reciprocal_rank' , 'total_queries' ] ,
584
598
node : {
585
599
class : ExpressionClass . FUNCTION ,
586
600
type : ExpressionType . FUNCTION ,
@@ -687,6 +701,7 @@ export const MEASURE_TEST_CASES = [
687
701
description : 'node type CAST' ,
688
702
query :
689
703
"CAST(COUNT(DISTINCT(id)) AS FLOAT) / NULLIF(DATEDIFF('day', MIN(created_date), MAX(created_date)) / 7 + 1, 0)" ,
704
+ columnNames : [ 'id' , 'created_date' , 'created_date1' ] ,
690
705
node : {
691
706
class : ExpressionClass . FUNCTION ,
692
707
type : ExpressionType . FUNCTION ,
@@ -817,7 +832,7 @@ export const MEASURE_TEST_CASES = [
817
832
type : ExpressionType . COLUMN_REF ,
818
833
alias : '' ,
819
834
query_location : 90 ,
820
- column_names : [ 'created_date ' ] ,
835
+ column_names : [ 'created_date1 ' ] ,
821
836
} ,
822
837
] ,
823
838
filter : null ,
@@ -934,6 +949,7 @@ export const MEASURE_TEST_CASES = [
934
949
{
935
950
description : 'node type COALESCE' ,
936
951
query : 'COALESCE(SUM(amount) FILTER(direction = "Income"), 0)' ,
952
+ columnNames : [ 'amount' ] ,
937
953
node : {
938
954
class : ExpressionClass . OPERATOR ,
939
955
type : ExpressionType . OPERATOR_COALESCE ,
@@ -1009,6 +1025,7 @@ export const MEASURE_TEST_CASES = [
1009
1025
description : 'node type WINDOW_AGGREGATE' ,
1010
1026
query :
1011
1027
'AVG(COUNT(column1)) OVER (ORDER BY (MEERKAT).record_date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW)' ,
1028
+ columnNames : [ 'column1' ] ,
1012
1029
node : {
1013
1030
class : ExpressionClass . WINDOW ,
1014
1031
type : ExpressionType . WINDOW_AGGREGATE ,
@@ -1031,7 +1048,7 @@ export const MEASURE_TEST_CASES = [
1031
1048
type : ExpressionType . COLUMN_REF ,
1032
1049
alias : '' ,
1033
1050
query_location : 17 ,
1034
- column_names : [ 'number_deployments ' ] ,
1051
+ column_names : [ 'column1 ' ] ,
1035
1052
} ,
1036
1053
] ,
1037
1054
filter : null ,
@@ -1111,6 +1128,12 @@ export const MEASURE_TEST_CASES = [
1111
1128
} ,
1112
1129
{
1113
1130
description : 'node type SUBQUERY' ,
1131
+ columnNames : [
1132
+ 'id' ,
1133
+ 'sla_stage' ,
1134
+ 'first_resp_time_arr' ,
1135
+ 'total_first_resp_breaches_ever' ,
1136
+ ] ,
1114
1137
query :
1115
1138
"(SELECT CASE WHEN COUNT(DISTINCT CASE WHEN sla_stage = ''breached'' THEN id END) + COUNT(DISTINCT CASE WHEN sla_stage = ''completed'' AND ARRAY_LENGTH(first_resp_time_arr) > 0 AND (total_first_resp_breaches_ever = 0 OR total_first_resp_breaches_ever IS NULL) THEN id END) > 0 THEN 100 - (COUNT(DISTINCT CASE WHEN sla_stage = ''breached'' THEN id END) * 100.0 / (COUNT(DISTINCT CASE WHEN sla_stage = ''breached'' THEN id END) + COUNT(DISTINCT CASE WHEN sla_stage = ''completed'' AND ARRAY_LENGTH(first_resp_time_arr) > 0 AND (total_first_resp_breaches_ever = 0 OR total_first_resp_breaches_ever IS NULL) THEN id END))) ELSE NULL END AS result)" ,
1116
1139
node : {
0 commit comments