|
16 | 16 | import com.google.common.collect.ImmutableList; |
17 | 17 | import io.trino.sql.tree.AddColumn; |
18 | 18 | import io.trino.sql.tree.AllColumns; |
| 19 | +import io.trino.sql.tree.ArithmeticUnaryExpression; |
19 | 20 | import io.trino.sql.tree.BooleanLiteral; |
20 | 21 | import io.trino.sql.tree.ColumnDefinition; |
21 | 22 | import io.trino.sql.tree.ColumnPosition; |
|
52 | 53 | import io.trino.sql.tree.ShowSession; |
53 | 54 | import io.trino.sql.tree.ShowTables; |
54 | 55 | import io.trino.sql.tree.StringLiteral; |
| 56 | +import io.trino.sql.tree.SubqueryExpression; |
55 | 57 | import io.trino.sql.tree.Table; |
56 | 58 | import io.trino.sql.tree.Update; |
57 | 59 | import io.trino.sql.tree.UpdateAssignment; |
|
66 | 68 | import static io.trino.sql.QueryUtil.simpleQuery; |
67 | 69 | import static io.trino.sql.QueryUtil.table; |
68 | 70 | import static io.trino.sql.SqlFormatter.formatSql; |
| 71 | +import static io.trino.sql.tree.ArithmeticUnaryExpression.Sign.MINUS; |
| 72 | +import static io.trino.sql.tree.ArithmeticUnaryExpression.Sign.PLUS; |
69 | 73 | import static io.trino.sql.tree.CreateView.Security.DEFINER; |
70 | 74 | import static io.trino.sql.tree.SaveMode.FAIL; |
71 | 75 | import static io.trino.sql.tree.SaveMode.IGNORE; |
@@ -832,4 +836,28 @@ public void testShowBranches() |
832 | 836 | new ShowBranches(new NodeLocation(1, 1), QualifiedName.of("a")))) |
833 | 837 | .isEqualTo("SHOW BRANCHES FROM TABLE a"); |
834 | 838 | } |
| 839 | + |
| 840 | + @Test |
| 841 | + public void testArithmeticUnary() |
| 842 | + { |
| 843 | + assertThat(formatSql( |
| 844 | + new ArithmeticUnaryExpression(new NodeLocation(1, 1), PLUS, new LongLiteral(new NodeLocation(1, 2), "1")))) |
| 845 | + .isEqualTo("+1"); |
| 846 | + |
| 847 | + assertThat(formatSql( |
| 848 | + new ArithmeticUnaryExpression(new NodeLocation(1, 1), MINUS, new LongLiteral(new NodeLocation(1, 3), "1")))) |
| 849 | + .isEqualTo("-(1)"); |
| 850 | + |
| 851 | + assertThat(formatSql( |
| 852 | + new ArithmeticUnaryExpression(new NodeLocation(1, 1), PLUS, new SubqueryExpression( |
| 853 | + new NodeLocation(1, 3), |
| 854 | + simpleQuery(selectList(new LongLiteral(new NodeLocation(1, 10), "1"))))))) |
| 855 | + .isEqualTo("+(SELECT 1\n\n)"); |
| 856 | + |
| 857 | + assertThat(formatSql( |
| 858 | + new ArithmeticUnaryExpression(new NodeLocation(1, 1), MINUS, new SubqueryExpression( |
| 859 | + new NodeLocation(1, 3), |
| 860 | + simpleQuery(selectList(new LongLiteral(new NodeLocation(1, 10), "1"))))))) |
| 861 | + .isEqualTo("-(SELECT 1\n\n)"); |
| 862 | + } |
835 | 863 | } |
0 commit comments