private MySqlShowColumnsStatement parseShowColumns() { MySqlShowColumnsStatement stmt = new MySqlShowColumnsStatement(); if (lexer.token() == Token.FROM) { lexer.nextToken(); SQLName table = exprParser.name(); stmt.setTable(table); if (lexer.token() == Token.FROM || lexer.token() == Token.IN) { lexer.nextToken(); SQLName database = exprParser.name(); stmt.setDatabase(database); } } if (lexer.token() == Token.LIKE) { lexer.nextToken(); SQLExpr like = exprParser.expr(); stmt.setLike(like); } if (lexer.token() == Token.WHERE) { lexer.nextToken(); SQLExpr where = exprParser.expr(); stmt.setWhere(where); } return stmt; }
@Override public boolean visit(MySqlShowColumnsStatement x) { if (x.isFull()) { print0(ucase ? "SHOW FULL COLUMNS" : "show full columns"); } else { print0(ucase ? "SHOW COLUMNS" : "show columns"); } if (x.getTable() != null) { print0(ucase ? " FROM " : " from "); if (x.getDatabase() != null) { x.getDatabase().accept(this); print('.'); } x.getTable().accept(this); } if (x.getLike() != null) { print0(ucase ? " LIKE " : " like "); x.getLike().accept(this); } if (x.getWhere() != null) { print0(ucase ? " WHERE " : " where "); x.getWhere().accept(this); } return false; }
public void accept0(MySqlASTVisitor visitor) { if (visitor.visit(this)) { acceptChild(visitor, table); acceptChild(visitor, database); acceptChild(visitor, like); acceptChild(visitor, where); } visitor.endVisit(this); }
String table = StringUtil.removeBackQuote(showColumnsStatement.getTable().getSimpleName()); SQLName database = showColumnsStatement.getDatabase(); String schema = database == null ? c.getSchema() : StringUtil.removeBackQuote(database.getSimpleName()); if (schema == null) { if (showColumnsStatement.getDatabase() != null) { showColumnsStatement.setDatabase(null); sql = showColumnsStatement.toString();
if (stmt instanceof MySqlShowColumnsStatement) { MySqlShowColumnsStatement showColumns = ((MySqlShowColumnsStatement) stmt); SQLName db = showColumns.getDatabase(); Schema schema; if (db == null) { SchemaObject schemaObject = null; if (schema != null) { table = showColumns.getTable(); schemaObject = schema.findTable(table.nameHashCode64());
showColumnsStatement.setDatabase(null); showColumnsStatement.toString(); System.out.println("change to->" + showColumnsStatement.toString()); } else if (statement instanceof MySqlShowIndexesStatement) { MySqlShowIndexesStatement mySqlShowIndexesStatement = (MySqlShowIndexesStatement) statement;
public void setTable(SQLName table) { if (table instanceof SQLPropertyExpr) { SQLPropertyExpr propExpr = (SQLPropertyExpr) table; this.setDatabase((SQLName) propExpr.getOwner()); this.table = new SQLIdentifierExpr(propExpr.getName()); return; } this.table = table; }
stmt.setFull(full);
if (stmt instanceof MySqlShowColumnsStatement) { MySqlShowColumnsStatement showColumns = ((MySqlShowColumnsStatement) stmt); SQLName db = showColumns.getDatabase(); Schema schema; if (db == null) { SchemaObject schemaObject = null; if (schema != null) { table = showColumns.getTable(); schemaObject = schema.findTable(table.nameHashCode64());
public void setTable(SQLName table) { if (table instanceof SQLPropertyExpr) { SQLPropertyExpr propExpr = (SQLPropertyExpr) table; this.setDatabase((SQLName) propExpr.getOwner()); this.table = new SQLIdentifierExpr(propExpr.getName()); return; } this.table = table; }
stmt.setFull(full);
private MySqlShowColumnsStatement parseShowColumns() { MySqlShowColumnsStatement stmt = new MySqlShowColumnsStatement(); if (lexer.token() == Token.FROM) { lexer.nextToken(); SQLName table = exprParser.name(); stmt.setTable(table); if (lexer.token() == Token.FROM || lexer.token() == Token.IN) { lexer.nextToken(); SQLName database = exprParser.name(); stmt.setDatabase(database); } } if (lexer.token() == Token.LIKE) { lexer.nextToken(); SQLExpr like = exprParser.expr(); stmt.setLike(like); } if (lexer.token() == Token.WHERE) { lexer.nextToken(); SQLExpr where = exprParser.expr(); stmt.setWhere(where); } return stmt; }
@Override public boolean visit(MySqlShowColumnsStatement x) { if (x.isFull()) { print0(ucase ? "SHOW FULL COLUMNS" : "show full columns"); } else { print0(ucase ? "SHOW COLUMNS" : "show columns"); } if (x.getTable() != null) { print0(ucase ? " FROM " : " from "); if (x.getDatabase() != null) { x.getDatabase().accept(this); print('.'); } x.getTable().accept(this); } if (x.getLike() != null) { print0(ucase ? " LIKE " : " like "); x.getLike().accept(this); } if (x.getWhere() != null) { print0(ucase ? " WHERE " : " where "); x.getWhere().accept(this); } return false; }
public void accept0(MySqlASTVisitor visitor) { if (visitor.visit(this)) { acceptChild(visitor, table); acceptChild(visitor, database); acceptChild(visitor, like); acceptChild(visitor, where); } visitor.endVisit(this); }