private void appendJoinOnItem(StringBuilder sb, String sideAlias, SelectItem onItem) { final FromItem fromItem = onItem.getFromItem(); if (fromItem != null && fromItem.getSubQuery() != null && fromItem.getAlias() != null) { // there's a corner case scenario where an ON item references a // subquery being joined. In that case the getSuperQueryAlias() // method will include the subquery alias. final String superQueryAlias = onItem.getSuperQueryAlias(); sb.append(superQueryAlias); return; } if(_join != null && _leftSide.getJoin() != null) { sb.append(onItem.toSql()); return; } if (sideAlias != null) { sb.append(sideAlias); sb.append('.'); } final String superQueryAlias = onItem.getSuperQueryAlias(); sb.append(superQueryAlias); }
private void appendJoinOnItem(StringBuilder sb, String sideAlias, SelectItem onItem) { final FromItem fromItem = onItem.getFromItem(); if (fromItem != null && fromItem.getSubQuery() != null && fromItem.getAlias() != null) { // there's a corner case scenario where an ON item references a // subquery being joined. In that case the getSuperQueryAlias() // method will include the subquery alias. final String superQueryAlias = onItem.getSuperQueryAlias(); sb.append(superQueryAlias); return; } if(_join != null && _leftSide.getJoin() != null) { sb.append(onItem.toSql()); return; } if (sideAlias != null) { sb.append(sideAlias); sb.append('.'); } final String superQueryAlias = onItem.getSuperQueryAlias(); sb.append(superQueryAlias); }
public static List<FromItem> getTableFromItems(FromItem item) { List<FromItem> result = new ArrayList<FromItem>(); if (item.getTable() != null) { result.add(item); } else if (item.getSubQuery() != null) { FromItem[] sqItems = getTableFromItems(item.getSubQuery()); for (int i = 0; i < sqItems.length; i++) { result.add(sqItems[i]); } } else if (item.getJoin() != null) { FromItem leftSide = item.getLeftSide(); result.addAll(getTableFromItems(leftSide)); FromItem rightSide = item.getRightSide(); result.addAll(getTableFromItems(rightSide)); } else { throw new IllegalStateException("FromItem was neither of Table type, SubQuery type or Join type: " + item); } return result; }
public static List<FromItem> getTableFromItems(FromItem item) { List<FromItem> result = new ArrayList<FromItem>(); if (item.getTable() != null) { result.add(item); } else if (item.getSubQuery() != null) { FromItem[] sqItems = getTableFromItems(item.getSubQuery()); for (int i = 0; i < sqItems.length; i++) { result.add(sqItems[i]); } } else if (item.getJoin() != null) { FromItem leftSide = item.getLeftSide(); result.addAll(getTableFromItems(leftSide)); FromItem rightSide = item.getRightSide(); result.addAll(getTableFromItems(rightSide)); } else { throw new IllegalStateException("FromItem was neither of Table type, SubQuery type or Join type: " + item); } return result; }
final JoinType join = item.getJoin(); if (join != null) { final FromItem leftResult = getItemByReference(item.getLeftSide(), reference);
final JoinType join = item.getJoin(); if (join != null) { final FromItem leftResult = getItemByReference(item.getLeftSide(), reference);
protected DataSet materializeFromItem(final FromItem fromItem, final List<SelectItem> selectItems) { DataSet dataSet; JoinType joinType = fromItem.getJoin(); if (fromItem.getTable() != null) {
protected DataSet materializeFromItem(final FromItem fromItem, final List<SelectItem> selectItems) { DataSet dataSet; JoinType joinType = fromItem.getJoin(); if (fromItem.getTable() != null) {
addColumnsToResult(fromItem.getTable(), result); if (fromItem.getJoin() != null && fromItem.getAlias() == null) { if (fromItem.getLeftSide().getTable() != null) { addColumnsToResult(fromItem.getLeftSide().getTable(), result);
addColumnsToResult(fromItem.getTable(), result); if (fromItem.getJoin() != null && fromItem.getAlias() == null) { if (fromItem.getLeftSide().getTable() != null) { addColumnsToResult(fromItem.getLeftSide().getTable(), result);
public Query selectAll(final FromItem fromItem) { if (fromItem.getTable() != null) { final List<Column> columns = fromItem.getTable().getColumns(); for (final Column column : columns) { select(column, fromItem); } } else if (fromItem.getJoin() != null) { selectAll(fromItem.getLeftSide()); selectAll(fromItem.getRightSide()); } else if (fromItem.getSubQuery() != null) { final List<SelectItem> items = fromItem.getSubQuery().getSelectClause().getItems(); for (final SelectItem subQuerySelectItem : items) { select(new SelectItem(subQuerySelectItem, fromItem)); } } else { throw new MetaModelException("All select items ('*') not determinable with from item: " + fromItem); } return this; }
public Query selectAll(final FromItem fromItem) { if (fromItem.getTable() != null) { final List<Column> columns = fromItem.getTable().getColumns(); for (final Column column : columns) { select(column, fromItem); } } else if (fromItem.getJoin() != null) { selectAll(fromItem.getLeftSide()); selectAll(fromItem.getRightSide()); } else if (fromItem.getSubQuery() != null) { final List<SelectItem> items = fromItem.getSubQuery().getSelectClause().getItems(); for (final SelectItem subQuerySelectItem : items) { select(new SelectItem(subQuerySelectItem, fromItem)); } } else { throw new MetaModelException("All select items ('*') not determinable with from item: " + fromItem); } return this; }