public static void check(WallVisitor visitor, SQLPropertyExpr x) { checkSchema(visitor, x.getOwner()); }
public SQLServerObjectReferenceExpr(SQLExpr owner){ if (owner instanceof SQLIdentifierExpr) { this.database = ((SQLIdentifierExpr) owner).getName(); } else if (owner instanceof SQLPropertyExpr) { SQLPropertyExpr propExpr = (SQLPropertyExpr) owner; this.server = ((SQLIdentifierExpr) propExpr.getOwner()).getName(); this.database = propExpr.getName(); } else { throw new IllegalArgumentException(owner.toString()); } }
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; }
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; }
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; }
private boolean visitOrderBy(SQLPropertyExpr x) { if (isSubQueryOrParamOrVariant(x)) { return false; } String owner = null; SQLTableSource tableSource = x.getResolvedTableSource(); if (tableSource instanceof SQLExprTableSource) { SQLExpr tableSourceExpr = ((SQLExprTableSource) tableSource).getExpr(); if (tableSourceExpr instanceof SQLName) { owner = tableSourceExpr.toString(); } } if (owner == null && x.getOwner() instanceof SQLIdentifierExpr) { owner = ((SQLIdentifierExpr) x.getOwner()).getName(); } if (owner == null) { return false; } if (owner != null) { orderByAddColumn(owner, x.getName(), x); } return false; }
@Override public List<String> getUpdateColumns() { List<SQLUpdateSetItem> updateSetItems = ast.getItems(); List<String> list = new ArrayList<>(updateSetItems.size()); for (SQLUpdateSetItem updateSetItem : updateSetItems) { SQLExpr expr = updateSetItem.getColumn(); if (expr instanceof SQLIdentifierExpr) { list.add(((SQLIdentifierExpr) expr).getName()); } else if (expr instanceof SQLPropertyExpr){ // This is alias case, like UPDATE xxx_tbl a SET a.name = ? WHERE a.id = ? SQLExpr owner = ((SQLPropertyExpr) expr).getOwner(); if (owner instanceof SQLIdentifierExpr) { list.add((((SQLIdentifierExpr)owner).getName() + "." + ((SQLPropertyExpr) expr).getName())); } } else { throw new SQLParsingException("Unknown SQLExpr: " + expr.getClass() + " " + expr); } } return list; }
public boolean visit(SQLPropertyExpr x) { SQLExpr owner = x.getOwner();
protected boolean isSubQueryOrParamOrVariant(SQLPropertyExpr x) { SQLObject resolvedOwnerObject = x.getResolvedOwnerObject(); if (resolvedOwnerObject instanceof SQLSubqueryTableSource || resolvedOwnerObject instanceof SQLWithSubqueryClause.Entry) { return true; } SQLExpr owner = x.getOwner(); if (owner instanceof SQLIdentifierExpr) { if (isSubQueryOrParamOrVariant((SQLIdentifierExpr) owner)) { return true; } } SQLTableSource tableSource = x.getResolvedTableSource(); if (tableSource instanceof SQLExprTableSource) { SQLExprTableSource exprTableSource = (SQLExprTableSource) tableSource; if (exprTableSource.getSchemaObject() != null) { return false; } SQLExpr expr = exprTableSource.getExpr(); if (expr instanceof SQLIdentifierExpr) { return isSubQueryOrParamOrVariant((SQLIdentifierExpr) expr); } if (expr instanceof SQLPropertyExpr) { return isSubQueryOrParamOrVariant((SQLPropertyExpr) expr); } } return false; }
SQLPropertyExpr propertyExpr = (SQLPropertyExpr) expr; SQLExpr owner = propertyExpr.getOwner(); String column = propertyExpr.getName();
} else { if (value instanceof SQLPropertyExpr && ((SQLPropertyExpr) value).getOwner() instanceof SQLVariantRefExpr) { print0(" := "); } else {
SQLExpr expr = ((SQLExprTableSource) from).getExpr(); if (expr instanceof SQLPropertyExpr) { SQLExpr schemaExpr = ((SQLPropertyExpr) expr).getOwner(); if (schemaExpr instanceof SQLIdentifierExpr) { String schema = ((SQLIdentifierExpr) schemaExpr).getName(); return checkSchema(visitor, ((SQLPropertyExpr) x).getOwner());
SQLIdentifierExpr owner = (SQLIdentifierExpr) propertyExpr.getOwner(); if (propertyExpr.getResolvedTableSource() != null && propertyExpr.getResolvedTableSource() instanceof SQLExprTableSource) {
@Override protected SQLExpr methodRest(SQLExpr expr, boolean acceptLPAREN) { if (acceptLPAREN) { accept(Token.LPAREN); } if (expr instanceof SQLName || expr instanceof SQLDefaultExpr) { String methodName; SQLMethodInvokeExpr methodInvokeExpr; if (expr instanceof SQLPropertyExpr) { methodName = ((SQLPropertyExpr) expr).getName(); methodInvokeExpr = new SQLMethodInvokeExpr(methodName); methodInvokeExpr.setOwner(((SQLPropertyExpr) expr).getOwner()); } else { methodName = expr.toString(); methodInvokeExpr = new SQLMethodInvokeExpr(methodName); } if (isAggreateFunction(methodName)) { SQLAggregateExpr aggregateExpr = parseAggregateExpr(methodName); return aggregateExpr; } if (lexer.token() != Token.RPAREN) { exprList(methodInvokeExpr.getParameters(), methodInvokeExpr); } accept(Token.RPAREN); return primaryRest(methodInvokeExpr); } throw new ParserException("not support token:" + lexer.token()); }
identifierExpr = (SQLIdentifierExpr) expr; } else if (expr instanceof SQLPropertyExpr) { SQLExpr owner = ((SQLPropertyExpr) expr).getOwner(); if (owner instanceof SQLIdentifierExpr) { identifierExpr = (SQLIdentifierExpr) owner;
public boolean apply(SQLCommentStatement x) { SQLName on = x.getOn().getName(); SQLExpr comment = x.getComment(); if (comment == null) { return false; } SQLCommentStatement.Type type = x.getType(); if (type == SQLCommentStatement.Type.TABLE) { if (!SQLUtils.nameEquals(getName(), on)) { return false; } setComment(comment.clone()); return true; } else if (type == SQLCommentStatement.Type.COLUMN) { SQLPropertyExpr propertyExpr = (SQLPropertyExpr) on; if (!SQLUtils.nameEquals(getName(), (SQLName) propertyExpr.getOwner())) { return false; } SQLColumnDefinition column = this.findColumn( propertyExpr.nameHashCode64()); if (column != null) { column.setComment(comment.clone()); } return true; } return false; }
@Override public boolean visit(SQLCommentStatement x) { SQLCommentStatement.Type type = x.getType(); SQLExprTableSource on = x.getOn(); if (type == SQLCommentStatement.Type.TABLE) { print0(ucase ? "ALTER TABLE " : "alter table "); on.accept(this); print0(ucase ? " COMMENT = " : " comment = "); x.getComment().accept(this); } else { SQLPropertyExpr propertyExpr = (SQLPropertyExpr) on.getExpr(); SQLExpr table = propertyExpr.getOwner(); String column = propertyExpr.getName(); print0(ucase ? "ALTER TABLE " : "alter table "); printTableSourceExpr(table); print0(ucase ? " MODIFY COLUMN " : " modify column "); print(column); print0(ucase ? " COMMENT " : " comment "); x.getComment().accept(this); } return false; }
boolean checkResult = checkSchema(visitor, ((SQLPropertyExpr) expr).getOwner()); if (!checkResult) { return false;
SQLExpr ownerObj = x.getOwner(); if (ownerObj instanceof SQLIdentifierExpr) { SQLIdentifierExpr owner = (SQLIdentifierExpr) ownerObj;