@@ -27,17 +27,17 @@ public void testParamCast() {
2727 QueryAnalyzerImpl analyzer = new QueryAnalyzerImpl (
2828 database ,
2929 """
30- SELECT
31- floor((tb.create_time-?)/?)*?+? as time,
32- count(tb.id) as number
33- FROM s_test tb
34- LEFT JOIN s_test ss ON ss.ID = tb.subsystem_id
35- GROUP BY floor((tb.create_time-?)/?)*?+?
36- """ );
30+ SELECT
31+ floor((tb.create_time-?)/?)*?+? as time,
32+ count(tb.id) as number
33+ FROM s_test tb
34+ LEFT JOIN s_test ss ON ss.ID = tb.subsystem_id
35+ GROUP BY floor((tb.create_time-?)/?)*?+?
36+ """ );
3737 SqlRequest request = analyzer .refactor (
3838 QueryParamEntity
3939 .newQuery ()
40- .getParam (), 1 , 2 , 3 , 4 , 5 , 6 ,7 , 8 );
40+ .getParam (), 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
4141
4242 System .out .println (request .getSql ());
4343 System .out .println (request );
@@ -72,6 +72,8 @@ public void testUnion() {
7272 QueryAnalyzerImpl analyzer = new QueryAnalyzerImpl (database ,
7373 "select name n from s_test t " +
7474 "union select name n from s_test t" );
75+ SqlRequest request = analyzer .refactor (QueryParamEntity .of ());
76+ System .out .println (request );
7577
7678 assertNotNull (analyzer .select ().table .alias , "t" );
7779 assertNotNull (analyzer .select ().table .metadata .getName (), "s_test" );
@@ -80,6 +82,33 @@ public void testUnion() {
8082
8183 }
8284
85+
86+ @ Test
87+ public void testUnionColumns () {
88+ QueryAnalyzerImpl analyzer = new QueryAnalyzerImpl (
89+ database ,
90+ """
91+ select * from (
92+ select name as n from s_test a
93+ union all
94+ select id as n from s_test b
95+ ) t
96+ """ );
97+
98+
99+ SqlRequest request = analyzer .refactor (QueryParamEntity .of ());
100+
101+ System .out .println (request );
102+ database .sql ()
103+ .reactive ()
104+ .select (request .getSql (),request .getParameters ())
105+ .then ()
106+ .as (StepVerifier ::create )
107+ .expectComplete ()
108+ .verify ();
109+
110+ }
111+
83112 @ Test
84113 public void test () {
85114 QueryAnalyzerImpl analyzer = new QueryAnalyzerImpl (database ,
0 commit comments