/** * Prepare all expressions of this column. * * @param session the session */ public void prepareExpression(Session session) { if (defaultExpression != null || onUpdateExpression != null) { computeTableFilter = new TableFilter(session, table, null, false, null, 0, null); if (defaultExpression != null) { defaultExpression.mapColumns(computeTableFilter, 0); defaultExpression = defaultExpression.optimize(session); } if (onUpdateExpression != null) { onUpdateExpression.mapColumns(computeTableFilter, 0); onUpdateExpression = onUpdateExpression.optimize(session); } } }
/** * Add one join to another. This method creates nested join between them if * required. * * @param top parent join * @param join child join * @param outer if child join is an outer join * @param on the join condition * @see TableFilter#addJoin(TableFilter, boolean, Expression) */ private void addJoin(TableFilter top, TableFilter join, boolean outer, Expression on) { if (join.getJoin() != null) { String joinTable = Constants.PREFIX_JOIN + parseIndex; TableFilter n = new TableFilter(session, getDualTable(true), joinTable, rightsChecked, currentSelect, join.getOrderInFrom(), null); n.setNestedJoin(join); join = n; } top.addJoin(join, outer, on); }
private TableFilter readSimpleTableFilter(int orderInFrom, Collection<String> excludeTokens) { Table table = readTableOrView(); String alias = null; if (readIf("AS")) { alias = readAliasIdentifier(); } else if (currentTokenType == IDENTIFIER) { if (!equalsTokenIgnoreCase(currentToken, "SET") && (excludeTokens == null || !isTokenInList(excludeTokens))) { // SET is not a keyword (PostgreSQL supports it as a table name) alias = readAliasIdentifier(); } } return new TableFilter(session, table, alias, rightsChecked, currentSelect, orderInFrom, null); }
tf.doneWithParameters(); Table table = new FunctionTable(mainSchema, session, tf, tf); return new TableFilter(session, table, null, rightsChecked, currentSelect, orderInFrom, null);
false /* isPersistent */, session); TableFilter sourceTableFilter = new TableFilter(session, temporarySourceTableView, command.getQueryAlias(), rightsChecked, (Select) command.getQuery(), 0, null);
TableFilter filter = new TableFilter(session, dual, null, rightsChecked, currentSelect, 0, null);
alias = table.getName(); TableFilter filter = new TableFilter(session, table, alias, rightsChecked, currentSelect, orderInFrom++, indexHints); if (derivedColumnNames != null) {
String name = generateConstraintName(table); ConstraintCheck check = new ConstraintCheck(getSchema(), id, name, table); TableFilter filter = new TableFilter(session, table, null, false, null, 0, null); checkExpression.mapColumns(filter, 0); checkExpression = checkExpression.optimize(session);
/** * Prepare all expressions of this column. * * @param session the session */ public void prepareExpression(Session session) { if (defaultExpression != null) { computeTableFilter = new TableFilter(session, table, null, false, null, 0); defaultExpression.mapColumns(computeTableFilter, 0); defaultExpression = defaultExpression.optimize(session); } }
public void prepareExpression(Session session) throws SQLException { if (defaultExpression != null) { computeTableFilter = new TableFilter(session, table, null, false, null); defaultExpression.mapColumns(computeTableFilter, 0); defaultExpression = defaultExpression.optimize(session); } }
/** * Prepare all expressions of this column. * * @param session the session */ public void prepareExpression(Session session) { if (defaultExpression != null) { computeTableFilter = new TableFilter(session, table, null, false, null, 0); defaultExpression.mapColumns(computeTableFilter, 0); defaultExpression = defaultExpression.optimize(session); } }
private TableFilter getNested(TableFilter n) { String joinTable = Constants.PREFIX_JOIN + parseIndex; TableFilter top = new TableFilter(session, getDualTable(true), joinTable, rightsChecked, currentSelect, n.getOrderInFrom()); top.addJoin(n, false, true, null); return top; }
private TableFilter getNested(TableFilter n) { String joinTable = Constants.PREFIX_JOIN + parseIndex; TableFilter top = new TableFilter(session, getDualTable(true), joinTable, rightsChecked, currentSelect, n.getOrderInFrom()); top.addJoin(n, false, true, null); return top; }
private TableFilter readSimpleTableFilter() throws SQLException { Table table = readTableOrView(); String alias = null; if (readIf("AS")) { alias = readAliasIdentifier(); } else if (currentTokenType == IDENTIFIER) { if (!"SET".equals(currentToken)) { // SET is not a keyword (PostgreSQL supports it as a table name) alias = readAliasIdentifier(); } } return new TableFilter(session, table, alias, rightsChecked, currentSelect); }
private TableFilter readSimpleTableFilter(int orderInFrom) { Table table = readTableOrView(); String alias = null; if (readIf("AS")) { alias = readAliasIdentifier(); } else if (currentTokenType == IDENTIFIER) { if (!equalsToken("SET", currentToken)) { // SET is not a keyword (PostgreSQL supports it as a table name) alias = readAliasIdentifier(); } } return new TableFilter(session, table, alias, rightsChecked, currentSelect, orderInFrom); }
private TableFilter readSimpleTableFilter(int orderInFrom) { Table table = readTableOrView(); String alias = null; if (readIf("AS")) { alias = readAliasIdentifier(); } else if (currentTokenType == IDENTIFIER) { if (!equalsToken("SET", currentToken)) { // SET is not a keyword (PostgreSQL supports it as a table name) alias = readAliasIdentifier(); } } return new TableFilter(session, table, alias, rightsChecked, currentSelect, orderInFrom); }
public Expression optimizeInJoin(Session session, Select select) throws SQLException { if (all || compareType != Comparison.EQUAL) { return this; } if (!query.isEverything(ExpressionVisitor.EVALUATABLE)) { return this; } String alias = query.getFirstColumnAlias(session); query.setDistinct(true); if (alias == null) { return this; } TableView view = TableView.createTempView(session, session.getUser(), query); TableFilter filter = new TableFilter(session, view, view.getName(), false, select); select.addTableFilter(filter, true); ExpressionColumn column = new ExpressionColumn(session.getDatabase(), null, view.getName(), alias); Expression on = new Comparison(session, Comparison.EQUAL, left, column); on.mapColumns(filter, 0); on.createIndexConditions(session, filter); filter.addFilterCondition(on, true); return ValueExpression.get(ValueBoolean.get(true)); }
TableFilter filter = new TableFilter(session, dual, null, rightsChecked, currentSelect, 0); command.addTableFilter(filter, true);
FunctionTable table = new FunctionTable(mainSchema, session, function); String viewName = session.getNextTempViewName(); TableFilter filter = new TableFilter(session, table, viewName, false, select); select.addTableFilter(filter, true); ExpressionColumn column = new ExpressionColumn(db, null, viewName, columnName);
TableFilter filter = new TableFilter(session, dual, null, rightsChecked, currentSelect); command.addTableFilter(filter, true); } else {