|
9 | 9 | */ |
10 | 10 | package net.sf.jsqlparser.util.deparser; |
11 | 11 |
|
12 | | -import net.sf.jsqlparser.expression.AliasedExpression; |
13 | | - |
14 | 12 | import static java.util.stream.Collectors.joining; |
15 | 13 |
|
16 | 14 | import java.util.Iterator; |
17 | 15 | import java.util.List; |
18 | 16 | import java.util.Map; |
| 17 | +import net.sf.jsqlparser.expression.AliasedExpression; |
19 | 18 | import net.sf.jsqlparser.expression.AllValue; |
20 | 19 | import net.sf.jsqlparser.expression.AnalyticExpression; |
21 | 20 | import net.sf.jsqlparser.expression.AnalyticType; |
|
42 | 41 | import net.sf.jsqlparser.expression.HexValue; |
43 | 42 | import net.sf.jsqlparser.expression.HighExpression; |
44 | 43 | import net.sf.jsqlparser.expression.IntervalExpression; |
45 | | -import net.sf.jsqlparser.expression.RowPatternFunction; |
46 | 44 | import net.sf.jsqlparser.expression.Inverse; |
47 | 45 | import net.sf.jsqlparser.expression.JdbcNamedParameter; |
48 | 46 | import net.sf.jsqlparser.expression.JdbcParameter; |
|
56 | 54 | import net.sf.jsqlparser.expression.LongValue; |
57 | 55 | import net.sf.jsqlparser.expression.LowExpression; |
58 | 56 | import net.sf.jsqlparser.expression.MapExpression; |
| 57 | +import net.sf.jsqlparser.expression.MethodCallExpression; |
59 | 58 | import net.sf.jsqlparser.expression.MySQLGroupConcat; |
60 | 59 | import net.sf.jsqlparser.expression.NextValExpression; |
61 | 60 | import net.sf.jsqlparser.expression.NotExpression; |
|
69 | 68 | import net.sf.jsqlparser.expression.RangeExpression; |
70 | 69 | import net.sf.jsqlparser.expression.RowConstructor; |
71 | 70 | import net.sf.jsqlparser.expression.RowGetExpression; |
72 | | -import net.sf.jsqlparser.expression.MethodCallExpression; |
| 71 | +import net.sf.jsqlparser.expression.RowPatternFunction; |
73 | 72 | import net.sf.jsqlparser.expression.SignedExpression; |
74 | 73 | import net.sf.jsqlparser.expression.StringValue; |
75 | 74 | import net.sf.jsqlparser.expression.StructType; |
|
119 | 118 | import net.sf.jsqlparser.expression.operators.relational.Intersects; |
120 | 119 | import net.sf.jsqlparser.expression.operators.relational.IsBooleanExpression; |
121 | 120 | import net.sf.jsqlparser.expression.operators.relational.IsDistinctExpression; |
| 121 | +import net.sf.jsqlparser.expression.operators.relational.IsJsonExpression; |
122 | 122 | import net.sf.jsqlparser.expression.operators.relational.IsNullExpression; |
123 | 123 | import net.sf.jsqlparser.expression.operators.relational.IsUnknownExpression; |
124 | | -import net.sf.jsqlparser.expression.operators.relational.IsJsonExpression; |
125 | 124 | import net.sf.jsqlparser.expression.operators.relational.JsonOperator; |
126 | 125 | import net.sf.jsqlparser.expression.operators.relational.LikeExpression; |
127 | 126 | import net.sf.jsqlparser.expression.operators.relational.Matches; |
@@ -1181,7 +1180,7 @@ public <S> StringBuilder visit(CastExpression cast, S context) { |
1181 | 1180 | cast.getLeftExpression().accept(this, context); |
1182 | 1181 | builder.append(" AS "); |
1183 | 1182 | builder.append( |
1184 | | - cast.getColumnDefinitions().size() > 1 |
| 1183 | + !cast.getColumnDefinitions().isEmpty() |
1185 | 1184 | ? "ROW(" + Select.getStringList(cast.getColumnDefinitions()) + ")" |
1186 | 1185 | : cast.getColDataType().toString()); |
1187 | 1186 | builder.append(formatStr); |
|
0 commit comments