| 89 | } |
| 90 | |
| 91 | @Override public void unparse(SqlWriter writer, int leftPrec, int rightPrec) { |
| 92 | query.unparse(writer, leftPrec, 0); |
| 93 | writer.keyword("PIVOT"); |
| 94 | final SqlWriter.Frame frame = writer.startList("(", ")"); |
| 95 | aggList.unparse(writer, 0, 0); |
| 96 | writer.sep("FOR"); |
| 97 | // force parentheses if there is more than one axis |
| 98 | final int leftPrec1 = axisList.size() > 1 ? 1 : 0; |
| 99 | axisList.unparse(writer, leftPrec1, 0); |
| 100 | writer.sep("IN"); |
| 101 | writer.list(SqlWriter.FrameTypeEnum.PARENTHESES, SqlWriter.COMMA, |
| 102 | stripList(inList)); |
| 103 | writer.endList(frame); |
| 104 | } |
| 105 | |
| 106 | static SqlNodeList stripList(SqlNodeList list) { |
| 107 | return list.stream().map(SqlPivot::strip) |