SelectListColumnResolver(Select select) { this.select = select; int columnCount = select.getColumnCount(); columns = new Column[columnCount]; expressions = new Expression[columnCount]; ArrayList<Expression> columnList = select.getExpressions(); ColumnNamer columnNamer= new ColumnNamer(select.getSession()); for (int i = 0; i < columnCount; i++) { Expression expr = columnList.get(i); String columnName = columnNamer.getColumnName(expr, i, expr.getAlias()); Column column = new Column(columnName, Value.NULL); column.setTable(null, i); columns[i] = column; expressions[i] = expr.getNonAliasExpression(); } }
res.addColumn(parseExpression(expressions.get(i), true), i < select.getColumnCount());
boolean hasPk = false; boolean hasWildCard = false; for (int i=0;i<select.getColumnCount();i++) { String name = select.queryMeta().getColumnName(i); if (name.equalsIgnoreCase("*")) {
private DataField[] getFields(Select select, DataField[] fields) { ArrayList<DataField> toReturn = new ArrayList<DataField>(); try { for (int i=0;i<select.getColumnCount();i++) { String name = select.queryMeta().getColumnName(i); if (name.equalsIgnoreCase("timed") || name.equalsIgnoreCase("pk") ) continue; String gsnType = null; for (int j=0;j<fields.length;j++) { if (fields[j].getName().equalsIgnoreCase(name)) { gsnType=fields[j].getType(); toReturn.add( new DataField(name,gsnType)); break; } } } return toReturn.toArray(new DataField[] {}); }catch (Exception e) { logger.debug(e.getMessage(),e); return new DataField[0]; } } private Select queryToSelect(String query) {
SelectListColumnResolver(Select select) { this.select = select; int columnCount = select.getColumnCount(); columns = new Column[columnCount]; expressions = new Expression[columnCount]; ArrayList<Expression> columnList = select.getExpressions(); for (int i = 0; i < columnCount; i++) { Expression expr = columnList.get(i); Column column = new Column(expr.getAlias(), Value.NULL); column.setTable(null, i); columns[i] = column; expressions[i] = expr.getNonAliasExpression(); } }
SelectListColumnResolver(Select select) { this.select = select; int columnCount = select.getColumnCount(); columns = new Column[columnCount]; expressions = new Expression[columnCount]; ArrayList<Expression> columnList = select.getExpressions(); for (int i = 0; i < columnCount; i++) { Expression expr = columnList.get(i); Column column = new Column(expr.getAlias(), Value.NULL); column.setTable(null, i); columns[i] = column; expressions[i] = expr.getNonAliasExpression(); } }
res.addColumn(parseExpression(expressions.get(i), true), i < select.getColumnCount());