private boolean isNestedJoinTable(TableFilter f) { return f.getTable() instanceof RangeTable && StringUtils.startsWith(f.getTableAlias(), Constants.PREFIX_JOIN); }
if (filter.getTableAlias() != null) { buff.append(' ').append(Parser.quoteIdentifier(filter.getTableAlias()));
private int expandColumnList(TableFilter filter, int index) { Table t = filter.getTable(); String alias = filter.getTableAlias(); Column[] columns = t.getColumns(); for (Column c : columns) { if (filter.isNaturalJoinColumn(c)) { continue; } ExpressionColumn ec = new ExpressionColumn(session.getDatabase(), null, alias, c.getName()); expressions.add(index++, ec); } return index; }
TableFilter filter = null; for (TableFilter f : filters) { if (db.equalsIdentifiers(tableAlias, f.getTableAlias())) { if (schemaName == null || db.equalsIdentifiers(schemaName, f.getSchemaName())) { filter = f;
if (db.equalsIdentifiers(f.getTableAlias(), tableAlias)) { found = true; break;
if (!equalsToken(tableAlias, filter.getTableAlias())) { throw DbException.get(ErrorCode.TABLE_OR_VIEW_NOT_FOUND_1, tableAlias);
@Override public SQLTranslated translate(Column[] searchColumns, TableFilter filter, ObjectNode node) { // can not use the field sqlStatement because the parameter // indexes may be incorrect: ? may be in fact ?2 for a subquery // but indexes may be set manually as well if (node instanceof GroupObjectNode) { return translate(searchColumns, filter, (GroupObjectNode) node); } List<Value> params = New.arrayList(10); StatementBuilder buff = new StatementBuilder("SELECT"); int visibleColumnCount = searchColumns.length; for (int i = 0; i < visibleColumnCount; i++) { buff.appendExceptFirst(","); buff.append(' '); buff.append(identifier(searchColumns[i].getName())); } buff.append(" FROM "); buff.append(identifier(node.getCompositeObjectName())); buff.append(" AS "); buff.append(filter.getTableAlias()); Expression condition = filter.getFilterCondition(); if (condition != null) { buff.append(" WHERE ").append(StringUtils.unEnclose(condition.getPreparedSQL(filter.getSession(), params))); } return SQLTranslated.build().sql(buff.toString()).sqlParams(params); }
Expression tableExpr = new ExpressionColumn( database, tableSchema, last.getTableAlias(), tableColumnName); Expression joinExpr = new ExpressionColumn( database, joinSchema, join.getTableAlias(), joinColumnName); Expression equal = new Comparison(session,