final public Pivot Pivot() throws ParseException {Pivot retval = new Pivot(); List<FunctionItem> functionItems; List<Column> forColumns; retval.setFunctionItems(functionItems); retval.setForColumns(forColumns); retval.setSingleInItems(singleInItems); retval.setMultiInItems(multiInItems); retval.setAlias(alias); return retval;
@Override public void visit(Table tableName) { buffer.append(tableName.getFullyQualifiedName()); Alias alias = tableName.getAlias(); if (alias != null) { buffer.append(alias); } Pivot pivot = tableName.getPivot(); if (pivot != null) { pivot.accept(this); } MySQLIndexHint indexHint = tableName.getIndexHint(); if (indexHint != null) { buffer.append(indexHint); } }
@Override public void visit(Pivot pivot) { List<Column> forColumns = pivot.getForColumns(); buffer.append(" PIVOT (") .append(PlainSelect.getStringList(pivot.getFunctionItems())) .append(" FOR ") .append(PlainSelect. getStringList(forColumns, true, forColumns != null && forColumns.size() > 1)). append(" IN ") .append(PlainSelect.getStringList(pivot.getInItems(), true, true)) .append(")"); if (pivot.getAlias() != null) { buffer.append(pivot.getAlias().toString()); } }
@Override public void visit(Pivot pivot) { for (FunctionItem item : pivot.getFunctionItems()) { item.getFunction().accept(this); } for (Column col : pivot.getForColumns()) { col.accept(this); } if (pivot.getSingleInItems() != null) { for (SelectExpressionItem item : pivot.getSingleInItems()) { item.accept(this); } } if (pivot.getMultiInItems() != null) { for (ExpressionListItem item : pivot.getMultiInItems()) { item.getExpressionList().accept(this); } } }
List<List<Object>> input = /*constructed elsewhere*/; List<List<Object>> output = new Pivot() .addGroupByString(0) // Column1 .addGroupByString(1) // Column2 .addGroupByInteger(2) // Column3 a group by column can be be a number .addIntegerAggregation(4) // Column5 .addDoubleAggregation(5) // Column6 .process(input);
@Override public String toString() { return "PIVOT (" + PlainSelect.getStringList(functionItems) + " FOR " + PlainSelect. getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) + " IN " + PlainSelect.getStringList(getInItems(), true, true) + ")" + (alias!=null?alias.toString():""); } }
@Override public void visit(Pivot pivot) { for (FunctionItem item : pivot.getFunctionItems()) { item.getFunction().accept(this); } for (Column col : pivot.getForColumns()) { col.accept(this); } if (pivot.getSingleInItems() != null) { for (SelectExpressionItem item : pivot.getSingleInItems()) { item.accept(this); } } if (pivot.getMultiInItems() != null) { for (ExpressionListItem item : pivot.getMultiInItems()) { item.getExpressionList().accept(this); } } }
@Override public String toString() { return "PIVOT (" + PlainSelect.getStringList(functionItems) + " FOR " + PlainSelect. getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) + " IN " + PlainSelect.getStringList(getInItems(), true, true) + ")" + (alias!=null?alias.toString():""); } }
final public Pivot Pivot() throws ParseException {Pivot retval = new Pivot(); List<FunctionItem> functionItems; List<Column> forColumns; retval.setFunctionItems(functionItems); retval.setForColumns(forColumns); retval.setSingleInItems(singleInItems); retval.setMultiInItems(multiInItems); retval.setAlias(alias); return retval;
@Override public void visit(Pivot pivot) { List<Column> forColumns = pivot.getForColumns(); buffer.append(" PIVOT (") .append(PlainSelect.getStringList(pivot.getFunctionItems())) .append(" FOR ") .append(PlainSelect. getStringList(forColumns, true, forColumns != null && forColumns.size() > 1)). append(" IN ") .append(PlainSelect.getStringList(pivot.getInItems(), true, true)) .append(")"); if (pivot.getAlias() != null) { buffer.append(pivot.getAlias().toString()); } }
@Override public void visit(SubSelect subSelect) { buffer.append("("); if (subSelect.getWithItemsList() != null && !subSelect.getWithItemsList().isEmpty()) { buffer.append("WITH "); for (Iterator<WithItem> iter = subSelect.getWithItemsList().iterator(); iter.hasNext();) { WithItem withItem = iter.next(); withItem.accept(this); if (iter.hasNext()) { buffer.append(","); } buffer.append(" "); } } subSelect.getSelectBody().accept(this); buffer.append(")"); Alias alias = subSelect.getAlias(); if (alias != null) { buffer.append(alias.toString()); } Pivot pivot = subSelect.getPivot(); if (pivot != null) { pivot.accept(this); } }
@Override public void visit(SubJoin subjoin) { buffer.append("("); subjoin.getLeft().accept(this); for (Join join : subjoin.getJoinList()) { deparseJoin(join); } buffer.append(")"); if (subjoin.getPivot() != null) { subjoin.getPivot().accept(this); } }
@Override public void visit(SubSelect subSelect) { if (selectVisitor != null) { if (subSelect.getWithItemsList() != null) { for (WithItem item : subSelect.getWithItemsList()) { item.accept(selectVisitor); } } subSelect.getSelectBody().accept(selectVisitor); } if (subSelect.getPivot() != null) { subSelect.getPivot().accept(this); } }
@Override public void visit(Table tableName) { buffer.append(tableName.getFullyQualifiedName()); Alias alias = tableName.getAlias(); if (alias != null) { buffer.append(alias); } Pivot pivot = tableName.getPivot(); if (pivot != null) { pivot.accept(this); } MySQLIndexHint indexHint = tableName.getIndexHint(); if (indexHint != null) { buffer.append(indexHint); } }
@Override public void visit(SubJoin subjoin) { buffer.append("("); subjoin.getLeft().accept(this); for (Join join : subjoin.getJoinList()) { deparseJoin(join); } buffer.append(")"); if (subjoin.getPivot() != null) { subjoin.getPivot().accept(this); } }
@Override public void visit(SubSelect subSelect) { buffer.append("("); if (subSelect.getWithItemsList() != null && !subSelect.getWithItemsList().isEmpty()) { buffer.append("WITH "); for (Iterator<WithItem> iter = subSelect.getWithItemsList().iterator(); iter.hasNext();) { WithItem withItem = iter.next(); withItem.accept(this); if (iter.hasNext()) { buffer.append(","); } buffer.append(" "); } } subSelect.getSelectBody().accept(this); buffer.append(")"); Alias alias = subSelect.getAlias(); if (alias != null) { buffer.append(alias.toString()); } Pivot pivot = subSelect.getPivot(); if (pivot != null) { pivot.accept(this); } }
@Override public void visit(SubSelect subSelect) { if (selectVisitor != null) { if (subSelect.getWithItemsList() != null) { for (WithItem item : subSelect.getWithItemsList()) { item.accept(selectVisitor); } } subSelect.getSelectBody().accept(selectVisitor); } if (subSelect.getPivot() != null) { subSelect.getPivot().accept(this); } }