/** Generates the scalar column AST nodes for a given array of SQL columns */ public static void generateScalarColumns(HqlSqlWalkerNode node, String sqlColumns[], int i) { if (sqlColumns.length == 1) { generateSingleScalarColumn(node, i); } else { ASTFactory factory = node.getASTFactory(); AST n = node; n.setText(sqlColumns[0]); // Use the DOT node to emit the first column name. // Create the column names, folled by the column aliases. for (int j = 0; j < sqlColumns.length; j++) { if (j > 0) { n = ASTUtil.createSibling(factory, SqlTokenTypes.SQL_TOKEN, sqlColumns[j], n); } n = ASTUtil.createSibling( factory, SqlTokenTypes.SELECT_COLUMNS, " as " + NameGenerator.scalarName(i, j), n); } } }
static void generateSingleScalarColumn(HqlSqlWalkerNode node, int i) { ASTFactory factory = node.getASTFactory(); ASTUtil.createSibling( factory, SqlTokenTypes.SELECT_COLUMNS, " as " + NameGenerator.scalarName(i, 0), node); }