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; }
tableSource = ((SQLIdentifierExpr) expr).getResolvedTableSource(); } else if (expr instanceof SQLPropertyExpr) { tableSource = ((SQLPropertyExpr) expr).getResolvedTableSource();
public boolean match(long alias_hash) { long hash = alias_hash(); if (hash == alias_hash) { return true; } if (expr instanceof SQLAllColumnExpr) { SQLTableSource resolvedTableSource = ((SQLAllColumnExpr) expr).getResolvedTableSource(); if (resolvedTableSource != null && resolvedTableSource.findColumn(alias_hash) != null) { return true; } return false; } if (expr instanceof SQLIdentifierExpr) { return ((SQLIdentifierExpr) expr).nameHashCode64() == alias_hash; } if (expr instanceof SQLPropertyExpr) { String ident = ((SQLPropertyExpr) expr).getName(); if ("*".equals(ident)) { SQLTableSource resolvedTableSource = ((SQLPropertyExpr) expr).getResolvedTableSource(); if (resolvedTableSource != null && resolvedTableSource.findColumn(alias_hash) != null) { return true; } return false; } return ((SQLPropertyExpr) expr).nameHashCode64() == alias_hash; } return false; }
String ident = x.getName(); SQLTableSource tableSource = x.getResolvedTableSource(); if (tableSource instanceof SQLExprTableSource) { SQLExpr expr = ((SQLExprTableSource) tableSource).getExpr(); SQLTableSource resolvedTableSource = table.getResolvedTableSource(); if (resolvedTableSource instanceof SQLExprTableSource) { expr = ((SQLExprTableSource) resolvedTableSource).getExpr(); SQLPropertyExpr propertyExpr = (SQLPropertyExpr) table; SQLIdentifierExpr owner = (SQLIdentifierExpr) propertyExpr.getOwner(); if (propertyExpr.getResolvedTableSource() != null && propertyExpr.getResolvedTableSource() instanceof SQLExprTableSource) { SQLExpr resolveExpr = ((SQLExprTableSource) propertyExpr.getResolvedTableSource()).getExpr(); if (resolveExpr instanceof SQLName) { tableName = resolveExpr.toString() + "." + propertyExpr.getName();
SQLPropertyExpr propertyExpr = (SQLPropertyExpr) table; SQLIdentifierExpr owner = (SQLIdentifierExpr) propertyExpr.getOwner(); if (propertyExpr.getResolvedTableSource() != null && propertyExpr.getResolvedTableSource() instanceof SQLExprTableSource) { SQLExpr resolveExpr = ((SQLExprTableSource) propertyExpr.getResolvedTableSource()).getExpr(); if (resolveExpr instanceof SQLName) { tableName = resolveExpr.toString() + "." + propertyExpr.getName(); columnTableSource = ((SQLIdentifierExpr) selectItemExpr).getResolvedTableSource(); } else if (selectItemExpr instanceof SQLPropertyExpr) { columnTableSource = ((SQLPropertyExpr) selectItemExpr).getResolvedTableSource();
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) table; SQLIdentifierExpr owner = (SQLIdentifierExpr) propertyExpr.getOwner(); if (propertyExpr.getResolvedTableSource() != null && propertyExpr.getResolvedTableSource() instanceof SQLExprTableSource) { SQLExpr resolveExpr = ((SQLExprTableSource) propertyExpr.getResolvedTableSource()).getExpr(); if (resolveExpr instanceof SQLName) { tableName = resolveExpr.toString() + "." + propertyExpr.getName();
SQLPropertyExpr propertyExpr = (SQLPropertyExpr) expr; SQLTableSource resolvedTableSource = propertyExpr.getResolvedTableSource(); if (resolvedTableSource instanceof SQLSubqueryTableSource) { SQLSelect select = ((SQLSubqueryTableSource) resolvedTableSource).getSelect(); redirectTableSource = ((SQLIdentifierExpr) tableSourceExpr).getResolvedTableSource(); } else if (tableSourceExpr instanceof SQLPropertyExpr) { redirectTableSource = ((SQLPropertyExpr) tableSourceExpr).getResolvedTableSource();
orderByItemIdentExpr.setResolvedColumn(((SQLIdentifierExpr) selectItemExpr).getResolvedColumn()); } else if (selectItemExpr instanceof SQLPropertyExpr) { orderByItemIdentExpr.setResolvedTableSource(((SQLPropertyExpr) selectItemExpr).getResolvedTableSource()); orderByItemIdentExpr.setResolvedColumn(((SQLPropertyExpr) selectItemExpr).getResolvedColumn());
orderByItemIdentExpr.setResolvedColumn(((SQLIdentifierExpr) selectItemExpr).getResolvedColumn()); } else if (selectItemExpr instanceof SQLPropertyExpr) { orderByItemIdentExpr.setResolvedTableSource(((SQLPropertyExpr) selectItemExpr).getResolvedTableSource()); orderByItemIdentExpr.setResolvedColumn(((SQLPropertyExpr) selectItemExpr).getResolvedColumn());
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; }
tableSource = ((SQLIdentifierExpr) expr).getResolvedTableSource(); } else if (expr instanceof SQLPropertyExpr) { tableSource = ((SQLPropertyExpr) expr).getResolvedTableSource();
public boolean match(long alias_hash) { long hash = alias_hash(); if (hash == alias_hash) { return true; } if (expr instanceof SQLAllColumnExpr) { SQLTableSource resolvedTableSource = ((SQLAllColumnExpr) expr).getResolvedTableSource(); if (resolvedTableSource != null && resolvedTableSource.findColumn(alias_hash) != null) { return true; } return false; } if (expr instanceof SQLIdentifierExpr) { return ((SQLIdentifierExpr) expr).nameHashCode64() == alias_hash; } if (expr instanceof SQLPropertyExpr) { String ident = ((SQLPropertyExpr) expr).getName(); if ("*".equals(ident)) { SQLTableSource resolvedTableSource = ((SQLPropertyExpr) expr).getResolvedTableSource(); if (resolvedTableSource != null && resolvedTableSource.findColumn(alias_hash) != null) { return true; } return false; } return ((SQLPropertyExpr) expr).nameHashCode64() == alias_hash; } return false; }
String ident = x.getName(); SQLTableSource tableSource = x.getResolvedTableSource(); if (tableSource instanceof SQLExprTableSource) { SQLExpr expr = ((SQLExprTableSource) tableSource).getExpr(); SQLTableSource resolvedTableSource = table.getResolvedTableSource(); if (resolvedTableSource instanceof SQLExprTableSource) { expr = ((SQLExprTableSource) resolvedTableSource).getExpr(); SQLPropertyExpr propertyExpr = (SQLPropertyExpr) table; SQLIdentifierExpr owner = (SQLIdentifierExpr) propertyExpr.getOwner(); if (propertyExpr.getResolvedTableSource() != null && propertyExpr.getResolvedTableSource() instanceof SQLExprTableSource) { SQLExpr resolveExpr = ((SQLExprTableSource) propertyExpr.getResolvedTableSource()).getExpr(); if (resolveExpr instanceof SQLName) { tableName = resolveExpr.toString() + "." + propertyExpr.getName();
SQLPropertyExpr propertyExpr = (SQLPropertyExpr) table; SQLIdentifierExpr owner = (SQLIdentifierExpr) propertyExpr.getOwner(); if (propertyExpr.getResolvedTableSource() != null && propertyExpr.getResolvedTableSource() instanceof SQLExprTableSource) { SQLExpr resolveExpr = ((SQLExprTableSource) propertyExpr.getResolvedTableSource()).getExpr(); if (resolveExpr instanceof SQLName) { tableName = resolveExpr.toString() + "." + propertyExpr.getName(); columnTableSource = ((SQLIdentifierExpr) selectItemExpr).getResolvedTableSource(); } else if (selectItemExpr instanceof SQLPropertyExpr) { columnTableSource = ((SQLPropertyExpr) selectItemExpr).getResolvedTableSource();
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) table; SQLIdentifierExpr owner = (SQLIdentifierExpr) propertyExpr.getOwner(); if (propertyExpr.getResolvedTableSource() != null && propertyExpr.getResolvedTableSource() instanceof SQLExprTableSource) { SQLExpr resolveExpr = ((SQLExprTableSource) propertyExpr.getResolvedTableSource()).getExpr(); if (resolveExpr instanceof SQLName) { tableName = resolveExpr.toString() + "." + propertyExpr.getName();
SQLPropertyExpr propertyExpr = (SQLPropertyExpr) expr; SQLTableSource resolvedTableSource = propertyExpr.getResolvedTableSource(); if (resolvedTableSource instanceof SQLSubqueryTableSource) { SQLSelect select = ((SQLSubqueryTableSource) resolvedTableSource).getSelect(); redirectTableSource = ((SQLIdentifierExpr) tableSourceExpr).getResolvedTableSource(); } else if (tableSourceExpr instanceof SQLPropertyExpr) { redirectTableSource = ((SQLPropertyExpr) tableSourceExpr).getResolvedTableSource();
orderByItemIdentExpr.setResolvedColumn(((SQLIdentifierExpr) selectItemExpr).getResolvedColumn()); } else if (selectItemExpr instanceof SQLPropertyExpr) { orderByItemIdentExpr.setResolvedTableSource(((SQLPropertyExpr) selectItemExpr).getResolvedTableSource()); orderByItemIdentExpr.setResolvedColumn(((SQLPropertyExpr) selectItemExpr).getResolvedColumn());
orderByItemIdentExpr.setResolvedColumn(((SQLIdentifierExpr) selectItemExpr).getResolvedColumn()); } else if (selectItemExpr instanceof SQLPropertyExpr) { orderByItemIdentExpr.setResolvedTableSource(((SQLPropertyExpr) selectItemExpr).getResolvedTableSource()); orderByItemIdentExpr.setResolvedColumn(((SQLPropertyExpr) selectItemExpr).getResolvedColumn());