private Map<String, Object> newKeyValues(List<Expression> expressions) { Map<String, Object> keyValues = new HashMap<>(); for (int i = 0; i < columns.size(); i++) { columns.get(i).setTable(table); if (primaryKeys.contains(columns.get(i).getFullyQualifiedName())) { Object expression = expressions.get(i).getASTNode().jjtGetValue(); keyValues.put(columns.get(i).getFullyQualifiedName(), Reflection.invokeN(expression.getClass(), "getValue", expression, new Object[0])); } } return keyValues; } }
final public Expression Expression() throws ParseException {/*@bgen(jjtree) Expression */ SimpleNode jjtn000 = new SimpleNode(JJTEXPRESSION); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));Expression retval = null; try { retval = OrExpression(); jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; jjtn000.jjtSetLastToken(getToken(0)); return retval; } catch (Throwable jjte000) { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); jjtn000.jjtSetLastToken(getToken(0));
public Object defaultVisit(SimpleNode node, Object data){ node.childrenAccept(this, data); return data; } public Object visit(SimpleNode node, Object data){
@Override public void visit( SetOperationList setOpList ) { List<SelectBody> selects; int index; for ( SetOperation ops : setOpList.getOperations() ) { if ( "union all".equalsIgnoreCase( ops.getASTNode().jjtGetValue().toString() ) ) { selects = setOpList.getSelects(); for ( index = ops.getASTNode().jjtGetNumChildren() - 1; index >= 0; index -= 1 ) { ( ( PlainSelect ) selects.get( index ) ).setUseBrackets( true ); } } } setOpList.setLimit( limit ); pagingSql = setOpList.toString(); logger.debug( "Build paging sql: {}", pagingSql ); PlainSelect plainSelect; for ( SelectBody select : setOpList.getSelects() ) { plainSelect = ( PlainSelect ) select; plainSelect.setLimit( null ); plainSelect.setUseBrackets( false ); plainSelect.getSelectItems().clear(); plainSelect.setSelectItems( createCountFunction() ); countingSql.add( plainSelect.toString() ); } logger.debug( "Build counting sql: {}", countingSql ); }
private void linkAST(ASTNodeAccess access, SimpleNode node) { access.setASTNode(node); node.jjtSetValue(access); }
public String toString(String prefix) { return prefix + toString(); }
private void linkAST(ASTNodeAccess access, SimpleNode node) { access.setASTNode(node); node.jjtSetValue(access); }
public String toString(String prefix) { return prefix + toString(); }
final public Column Column() throws ParseException {/*@bgen(jjtree) Column */ SimpleNode jjtn000 = new SimpleNode(JJTCOLUMN); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));//String databaseName = null, schemaName = null, tableName = null, columnName = null; jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; jjtn000.jjtSetLastToken(getToken(0)); Column col = new Column(data); linkAST(col,jjtn000); if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); jjtn000.jjtSetLastToken(getToken(0));
public Object defaultVisit(SimpleNode node, Object data){ node.childrenAccept(this, data); return data; } public Object visit(SimpleNode node, Object data){
final public Table Table() throws ParseException {/*@bgen(jjtree) Table */ SimpleNode jjtn000 = new SimpleNode(JJTTABLE); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));//String serverName = null, databaseName = null, schemaName = null, tableName = null; List<String> data = new ArrayList<String>(); String token; jjtn000.jjtSetLastToken(getToken(0)); Table table = new Table(data); return table; if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); jjtn000.jjtSetLastToken(getToken(0));
final public Statement Statement() throws ParseException {/*@bgen(jjtree) Statement */ SimpleNode jjtn000 = new SimpleNode(JJTSTATEMENT); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));Statement stm = null; try { try { jjtn000.jjtSetLastToken(getToken(0)); return stm; } catch (Throwable jjte000) { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); jjtn000.jjtSetLastToken(getToken(0));
final public SubSelect SubSelect() throws ParseException {/*@bgen(jjtree) SubSelect */ SimpleNode jjtn000 = new SimpleNode(JJTSUBSELECT); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));SelectBody selectBody = null; SubSelect subSelect = new SubSelect(); List<WithItem> with = null; jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; jjtn000.jjtSetLastToken(getToken(0)); subSelect.setSelectBody(selectBody); return subSelect; if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); jjtn000.jjtSetLastToken(getToken(0));
final public SelectItem SelectItem() throws ParseException {/*@bgen(jjtree) SelectItem */ SimpleNode jjtn000 = new SimpleNode(JJTSELECTITEM); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));SelectItem selectItem = null; try { switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { jjtn000.jjtSetLastToken(getToken(0)); linkAST(selectItem,jjtn000); return selectItem; if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); jjtn000.jjtSetLastToken(getToken(0));
final public WithItem WithItem() throws ParseException {/*@bgen(jjtree) WithItem */ SimpleNode jjtn000 = new SimpleNode(JJTWITHITEM); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));WithItem with = new WithItem(); String name = null; List<SelectItem> selectItems = null; jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; jjtn000.jjtSetLastToken(getToken(0)); return with; } catch (Throwable jjte000) { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); jjtn000.jjtSetLastToken(getToken(0));
final public Statements Statements() throws ParseException {/*@bgen(jjtree) Statements */ SimpleNode jjtn000 = new SimpleNode(JJTSTATEMENTS); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));Statements stmts = new Statements(); List<Statement> list = new ArrayList<Statement>(); Statement stm; jjtn000.jjtSetLastToken(getToken(0)); stmts.setStatements(list); return stmts; if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); jjtn000.jjtSetLastToken(getToken(0));
final public Block Block() throws ParseException {/*@bgen(jjtree) Block */ SimpleNode jjtn000 = new SimpleNode(JJTBLOCK); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));Statements stmts = new Statements(); List<Statement> list = new ArrayList<Statement>(); Statement stm; jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; jjtn000.jjtSetLastToken(getToken(0)); return block; } catch (Throwable jjte000) { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); jjtn000.jjtSetLastToken(getToken(0));
final public Limit PlainLimit() throws ParseException {/*@bgen(jjtree) PlainLimit */ SimpleNode jjtn000 = new SimpleNode(JJTPLAINLIMIT); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));Limit limit = new Limit(); Token token = null; JdbcParameter jdbc; jjtn000.jjtSetLastToken(getToken(0)); linkAST(limit,jjtn000); return limit; if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); jjtn000.jjtSetLastToken(getToken(0));