Skip to content

Commit 18cac89

Browse files
mergify[bot]tiannan-srclaude
authored
[UT] sqltest case optimization (backport #76167) (#76182)
Co-authored-by: tiannan-sr <90588513+tiannan-sr@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent 62fd7f0 commit 18cac89

50 files changed

Lines changed: 542 additions & 1952 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

test/lib/sr_sql_lib.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3610,9 +3610,11 @@ def _wait_for_query_detail(self, filter_func, raw_result=False):
36103610
return query_detail
36113611

36123612
# To ensure that the output string is in a JSON-compatible format that can be processed by the
3613-
# function `parse_json()` in StarRocks, escaping is required.
3613+
# function `parse_json()` in StarRocks, escaping is required. Single quotes are doubled
3614+
# because the caller embeds the result in a single-quoted SQL literal (parse_json('...')),
3615+
# and fields like userIdentity contain quotes ('root'@'%').
36143616
def escaped_str(s):
3615-
return s.replace('\n', r'\n').replace('"', r'\"')
3617+
return s.replace('\n', r'\n').replace('"', r'\"').replace("'", "''")
36163618

36173619
escaped_detail = {}
36183620
for key, value in query_detail.items():

test/sql/test_agg_function/R/test_approx_top_k

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1227,6 +1227,7 @@ SELECT c_partition, APPROX_TOP_K(c_decimal, 1) OVER(PARTITION BY c_partition) FR
12271227
-- !result
12281228
SELECT APPROX_TOP_K(c_decimal) FROM t_partition WHERE c_id > 10000;
12291229
-- result:
1230+
[]
12301231
-- !result
12311232
SELECT APPROX_TOP_K(c_decimal) FROM t_partition WHERE c_id > 10000 GROUP BY c_partition;
12321233
-- result:

test/sql/test_analyzer/R/test_cte_in_where_subquery

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,21 @@ INSERT INTO t_cte_1 VALUES (1, 10, 100), (2, 20, 200), (4, 40, 400);
2626
-- result:
2727
-- !result
2828
WITH a1 AS (SELECT v1 FROM t_cte_0)
29-
SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY ALL;
29+
SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY 1;
3030
-- result:
3131
1
3232
2
3333
3
3434
-- !result
3535
WITH a1 AS (SELECT v1 AS cust_no FROM t_cte_0)
36-
SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT cust_no FROM a1) ORDER BY ALL;
36+
SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT cust_no FROM a1) ORDER BY 1;
3737
-- result:
3838
1
3939
2
4040
3
4141
-- !result
4242
WITH a1 AS (SELECT v1, v2 FROM t_cte_0)
43-
SELECT * FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY ALL;
43+
SELECT * FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY 1;
4444
-- result:
4545
1 2 3
4646
2 3 4
@@ -49,7 +49,7 @@ SELECT * FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY ALL;
4949
WITH a1 AS (SELECT v1 FROM t_cte_0),
5050
a2 AS (SELECT v2 FROM t_cte_0)
5151
SELECT v1 FROM t_cte_0
52-
WHERE v1 IN (SELECT v1 FROM a1) AND v2 IN (SELECT v2 FROM a2) ORDER BY ALL;
52+
WHERE v1 IN (SELECT v1 FROM a1) AND v2 IN (SELECT v2 FROM a2) ORDER BY 1;
5353
-- result:
5454
1
5555
2
@@ -58,22 +58,22 @@ WHERE v1 IN (SELECT v1 FROM a1) AND v2 IN (SELECT v2 FROM a2) ORDER BY ALL;
5858
WITH a1 AS (SELECT v1 FROM t_cte_0)
5959
SELECT t_cte_0.v1 FROM t_cte_0
6060
JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4
61-
AND t_cte_0.v1 IN (SELECT v1 FROM a1) ORDER BY ALL;
61+
AND t_cte_0.v1 IN (SELECT v1 FROM a1) ORDER BY 1;
6262
-- result:
6363
1
6464
2
6565
-- !result
6666
WITH a1 AS (SELECT t_cte_0.v1 AS cust_no FROM t_cte_0 JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4)
6767
SELECT t_cte_0.v1 FROM t_cte_0
6868
JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4
69-
AND t_cte_0.v1 IN (SELECT cust_no FROM a1) ORDER BY ALL;
69+
AND t_cte_0.v1 IN (SELECT cust_no FROM a1) ORDER BY 1;
7070
-- result:
7171
1
7272
2
7373
-- !result
7474
WITH a1 AS (SELECT v1 FROM t_cte_0)
7575
SELECT v1 FROM t_cte_0
76-
WHERE EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY ALL;
76+
WHERE EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY 1;
7777
-- result:
7878
1
7979
2
@@ -82,19 +82,19 @@ WHERE EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY ALL;
8282
WITH a1 AS (SELECT v1, v2 FROM t_cte_0)
8383
SELECT t_cte_0.v1 FROM t_cte_0
8484
JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4
85-
AND EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY ALL;
85+
AND EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY 1;
8686
-- result:
8787
1
8888
2
8989
-- !result
9090
WITH a1 AS (SELECT MAX(v1) AS max_v1 FROM t_cte_0)
91-
SELECT v1 FROM t_cte_0 WHERE v1 = (SELECT max_v1 FROM a1) ORDER BY ALL;
91+
SELECT v1 FROM t_cte_0 WHERE v1 = (SELECT max_v1 FROM a1) ORDER BY 1;
9292
-- result:
9393
3
9494
-- !result
9595
WITH a1 AS (SELECT v1 FROM t_cte_0)
9696
SELECT v1 FROM t_cte_0
97-
WHERE v1 IN (SELECT v1 FROM (SELECT v1 FROM a1) t) ORDER BY ALL;
97+
WHERE v1 IN (SELECT v1 FROM (SELECT v1 FROM a1) t) ORDER BY 1;
9898
-- result:
9999
1
100100
2
@@ -103,7 +103,7 @@ WHERE v1 IN (SELECT v1 FROM (SELECT v1 FROM a1) t) ORDER BY ALL;
103103
WITH a1 AS (SELECT v1 FROM t_cte_0),
104104
a2 AS (SELECT v1 FROM t_cte_0 WHERE v1 > 1)
105105
SELECT v1 FROM t_cte_0
106-
WHERE v1 IN (SELECT v1 FROM a1 WHERE v1 IN (SELECT v1 FROM a2)) ORDER BY ALL;
106+
WHERE v1 IN (SELECT v1 FROM a1 WHERE v1 IN (SELECT v1 FROM a2)) ORDER BY 1;
107107
-- result:
108108
2
109109
3

test/sql/test_analyzer/T/test_cte_in_where_subquery

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,59 +27,59 @@ INSERT INTO t_cte_1 VALUES (1, 10, 100), (2, 20, 200), (4, 40, 400);
2727

2828
-- Test case 1: Basic CTE with IN subquery
2929
WITH a1 AS (SELECT v1 FROM t_cte_0)
30-
SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY ALL;
30+
SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY 1;
3131

3232
-- Test case 2: CTE with IN subquery referencing CTE column
3333
WITH a1 AS (SELECT v1 AS cust_no FROM t_cte_0)
34-
SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT cust_no FROM a1) ORDER BY ALL;
34+
SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT cust_no FROM a1) ORDER BY 1;
3535

3636
-- Test case 3: CTE used in both main query and subquery
3737
WITH a1 AS (SELECT v1, v2 FROM t_cte_0)
38-
SELECT * FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY ALL;
38+
SELECT * FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY 1;
3939

4040
-- Test case 4: Multiple CTEs with IN subquery
4141
WITH a1 AS (SELECT v1 FROM t_cte_0),
4242
a2 AS (SELECT v2 FROM t_cte_0)
4343
SELECT v1 FROM t_cte_0
44-
WHERE v1 IN (SELECT v1 FROM a1) AND v2 IN (SELECT v2 FROM a2) ORDER BY ALL;
44+
WHERE v1 IN (SELECT v1 FROM a1) AND v2 IN (SELECT v2 FROM a2) ORDER BY 1;
4545

4646
-- Test case 5: CTE used in ON clause subquery - the original issue case
4747
WITH a1 AS (SELECT v1 FROM t_cte_0)
4848
SELECT t_cte_0.v1 FROM t_cte_0
4949
JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4
50-
AND t_cte_0.v1 IN (SELECT v1 FROM a1) ORDER BY ALL;
50+
AND t_cte_0.v1 IN (SELECT v1 FROM a1) ORDER BY 1;
5151

5252
-- Test case 6: CTE with JOIN and IN subquery in ON clause
5353
WITH a1 AS (SELECT t_cte_0.v1 AS cust_no FROM t_cte_0 JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4)
5454
SELECT t_cte_0.v1 FROM t_cte_0
5555
JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4
56-
AND t_cte_0.v1 IN (SELECT cust_no FROM a1) ORDER BY ALL;
56+
AND t_cte_0.v1 IN (SELECT cust_no FROM a1) ORDER BY 1;
5757

5858
-- Test case 7: CTE with EXISTS subquery
5959
WITH a1 AS (SELECT v1 FROM t_cte_0)
6060
SELECT v1 FROM t_cte_0
61-
WHERE EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY ALL;
61+
WHERE EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY 1;
6262

6363
-- Test case 8: CTE with correlated EXISTS in ON clause
6464
WITH a1 AS (SELECT v1, v2 FROM t_cte_0)
6565
SELECT t_cte_0.v1 FROM t_cte_0
6666
JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4
67-
AND EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY ALL;
67+
AND EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY 1;
6868

6969
-- Test case 9: CTE with scalar subquery
7070
WITH a1 AS (SELECT MAX(v1) AS max_v1 FROM t_cte_0)
71-
SELECT v1 FROM t_cte_0 WHERE v1 = (SELECT max_v1 FROM a1) ORDER BY ALL;
71+
SELECT v1 FROM t_cte_0 WHERE v1 = (SELECT max_v1 FROM a1) ORDER BY 1;
7272

7373
-- Test case 10: Nested subquery with CTE
7474
WITH a1 AS (SELECT v1 FROM t_cte_0)
7575
SELECT v1 FROM t_cte_0
76-
WHERE v1 IN (SELECT v1 FROM (SELECT v1 FROM a1) t) ORDER BY ALL;
76+
WHERE v1 IN (SELECT v1 FROM (SELECT v1 FROM a1) t) ORDER BY 1;
7777

7878
-- Test case 11: CTE with nested IN subqueries
7979
WITH a1 AS (SELECT v1 FROM t_cte_0),
8080
a2 AS (SELECT v1 FROM t_cte_0 WHERE v1 > 1)
8181
SELECT v1 FROM t_cte_0
82-
WHERE v1 IN (SELECT v1 FROM a1 WHERE v1 IN (SELECT v1 FROM a2)) ORDER BY ALL;
82+
WHERE v1 IN (SELECT v1 FROM a1 WHERE v1 IN (SELECT v1 FROM a2)) ORDER BY 1;
8383

8484
-- Clean up
8585
DROP TABLE IF EXISTS t_cte_0;

test/sql/test_decimal/R/test_read_write_decimal256

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ CREATE DATABASE test_decimal256;
88
USE test_decimal256;
99
-- result:
1010
-- !result
11+
set insert_max_filter_ratio=1;
12+
-- result:
13+
-- !result
1114
CREATE TABLE decimal_test_p39_s5 (d1 decimal(39, 5)) PROPERTIES("replication_num"="1");
1215
-- result:
1316
-- !result

test/sql/test_decimal/T/test_read_write_decimal256

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
DROP DATABASE IF EXISTS test_decimal256;
44
CREATE DATABASE test_decimal256;
55
USE test_decimal256;
6+
-- Overflow rows are dropped by the BE cast; tolerate them so the inserts
7+
-- succeed with the rows filtered, which is what the expected results record.
8+
set insert_max_filter_ratio=1;
69

710
-- ============================================
811
-- Part 1: Basic decimal256 functionality tests (precision > 38)

test/sql/test_feedback/R/test_join_predicate_reuse_feedback

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ insert into repro_la select generate_series, generate_series from TABLE(generate
2828
insert into repro_lb select generate_series, generate_series * 10, cast(generate_series as varchar) from TABLE(generate_series(1, 8));
2929
-- result:
3030
-- !result
31-
analyze table repro_la;
32-
analyze table repro_lb;
31+
[UC]analyze table repro_la;
32+
[UC]analyze table repro_lb;
3333
set enable_plan_advisor_blacklist = false;
3434
-- result:
3535
-- !result

test/sql/test_feedback/T/test_join_predicate_reuse_feedback

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ insert into repro_la select generate_series, generate_series from TABLE(generate
3434
insert into repro_lb select generate_series, generate_series * 10, cast(generate_series as varchar) from TABLE(generate_series(1, 8));
3535
-- result:
3636
-- !result
37-
analyze table repro_la;
37+
[UC]analyze table repro_la;
3838
-- result:
3939
[REGEX].*
4040
-- !result
41-
analyze table repro_lb;
41+
[UC]analyze table repro_lb;
4242
-- result:
4343
[REGEX].*
4444
-- !result

test/sql/test_files/R/test_files_schema_insert

Lines changed: 0 additions & 56 deletions
This file was deleted.

test/sql/test_function/R/test_regex

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,36 +130,56 @@ insert into tsr values ("AbCdExCeF", "([[:lower:]]+)C([[:lower:]]+)", 3), ("AbCd
130130
-- !result
131131
SELECT regexp_extract_all("AbCdExCeF", "([[:lower:]]+)C([[:lower:]]+)", 0);
132132
-- result:
133+
["bCd","xCe"]
133134
-- !result
134135
SELECT regexp_extract_all(str, "([[:lower:]]+)C([[:lower:]]+)", 0) from tsr;
135136
-- result:
137+
["bCd","xCe"]
138+
["bCd","xCe"]
136139
-- !result
137140
SELECT regexp_extract_all(str, regex, 0) from tsr;
138141
-- result:
142+
["bCd","xCe"]
143+
["bCd","xCe"]
139144
-- !result
140145
SELECT regexp_extract_all(str, regex, pos) from tsr;
141146
-- result:
147+
[]
148+
["bCd","xCe"]
142149
-- !result
143150
SELECT regexp_extract_all(str, "([[:lower:]]+)C([[:lower:]]+)", pos) from tsr;
144151
-- result:
152+
[]
153+
["bCd","xCe"]
145154
-- !result
146155
SELECT regexp_extract_all("AbCdExCeF", "([[:lower:]]+)C([[:lower:]]+)", pos) from tsr;
147156
-- result:
157+
[]
158+
["bCd","xCe"]
148159
-- !result
149160
SELECT regexp_extract_all("AbCdExCeF", regex, pos) from tsr;
150161
-- result:
162+
[]
163+
["bCd","xCe"]
151164
-- !result
152165
SELECT regexp_extract_all(str, "([[:lower:]]+)C([[:lower:]]+)", pos) from tsr;
153166
-- result:
167+
[]
168+
["bCd","xCe"]
154169
-- !result
155170
SELECT regexp_extract_all("AbCdExCeF", "([[:lower:]]+)C([[:lower:]]+)", 3);
156171
-- result:
172+
[]
157173
-- !result
158174
SELECT regexp_extract_all(str, "([[:lower:]]+)C([[:lower:]]+)", 3) from tsr;
159175
-- result:
176+
[]
177+
[]
160178
-- !result
161179
SELECT regexp_extract_all(str, regex, 3) from tsr;
162180
-- result:
181+
[]
182+
[]
163183
-- !result
164184

165185
-- name: test_regexp_count

0 commit comments

Comments
 (0)