/** * Adds a more general JOIN: * <p> * (LEFT) JOIN fragmentName _F123 ON contextTable.id = _F123.fragmentColumn */ protected Table getFragmentTable(int joinKind, Table contextTable, String contextKey, String fragmentName, String fragmentColumn, int index, boolean skipJoin, String primaryType) { Table table = propertyFragmentTables.get(contextKey); if (table == null) { Table baseTable = database.getTable(fragmentName); String alias = TABLE_FRAG_ALIAS + ++fragJoinCount; table = new TableAlias(baseTable, alias); propertyFragmentTables.put(contextKey, table); if (!skipJoin) { addJoin(joinKind, alias, table, fragmentColumn, contextTable, Model.MAIN_KEY, null, index, primaryType); } } return table; }
public ArraySubQueryPostgreSQL(Column arrayColumn, String alias) { super(arrayColumn, alias); dialect = arrayColumn.getTable().getDialect(); fakeSubqueryTableAlias = new TableAlias(arrayColumn.getTable(), alias); }
table = new TableAlias(dataHierTable, alias); propertyHierTables.put(contextKey, table); addJoin(Join.LEFT, alias, table, Model.HIER_PARENT_KEY, contextHier, Model.MAIN_KEY, segment,
break; case PROXY: hierTable = new TableAlias(hier, TABLE_HIER_ALIAS); dataHierTable = hier;