public int supportsSelect(Select sel, int type, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) { if (type == Select.TYPE_JOINLESS) return (field.getJoinDirection() != field.JOIN_INVERSE && sel.isSelected(field.getTable())) ? 1 : 0; if (type == Select.TYPE_TWO_PART) return 1; // already cached? if (sm != null) { Object oid = sm.getIntermediate(field.getIndex()); if (store.getContext().findCached(oid, null) != null) return 0; } ClassMapping[] clss = field.getIndependentTypeMappings(); switch (type) { case Select.EAGER_PARALLEL: return clss.length; case Select.EAGER_OUTER: return (clss.length == 1 && store.getDBDictionary().canOuterJoin (sel.getJoinSyntax(), field.getForeignKey(clss[0]))) ? 1 : 0; case Select.EAGER_INNER: return (clss.length == 1) ? 1 : 0; default: return 0; } }
public int supportsSelect(Select sel, int type, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) { if (type == Select.TYPE_JOINLESS) return (field.getJoinDirection() != field.JOIN_INVERSE && sel.isSelected(field.getTable())) ? 1 : 0; if (type == Select.TYPE_TWO_PART) return 1; // already cached? if (sm != null) { Object oid = sm.getIntermediate(field.getIndex()); if (store.getContext().findCached(oid, null) != null) return 0; } ClassMapping[] clss = field.getIndependentTypeMappings(); switch (type) { case Select.EAGER_PARALLEL: return clss.length; case Select.EAGER_OUTER: return (clss.length == 1 && store.getDBDictionary().canOuterJoin (sel.getJoinSyntax(), field.getForeignKey(clss[0]))) ? 1 : 0; case Select.EAGER_INNER: return (clss.length == 1) ? 1 : 0; default: return 0; } }
public int supportsSelect(Select sel, int type, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) { if (type == Select.TYPE_JOINLESS) return (field.getJoinDirection() != field.JOIN_INVERSE && sel.isSelected(field.getTable())) ? 1 : 0; if (type == Select.TYPE_TWO_PART) return 1; // already cached? if (sm != null) { Object oid = sm.getIntermediate(field.getIndex()); if (store.getContext().findCached(oid, null) != null) return 0; } ClassMapping[] clss = field.getIndependentTypeMappings(); switch (type) { case Select.EAGER_PARALLEL: return clss.length; case Select.EAGER_OUTER: return (clss.length == 1 && store.getDBDictionary().canOuterJoin (sel.getJoinSyntax(), field.getForeignKey(clss[0]))) ? 1 : 0; case Select.EAGER_INNER: return (clss.length == 1) ? 1 : 0; default: return 0; } }
public int supportsSelect(Select sel, int type, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) { if (type == Select.TYPE_JOINLESS) return (field.getJoinDirection() != field.JOIN_INVERSE && sel.isSelected(field.getTable())) ? 1 : 0; if (type == Select.TYPE_TWO_PART) return 1; // already cached? if (sm != null) { Object oid = sm.getIntermediate(field.getIndex()); if (store.getContext().findCached(oid, null) != null) return 0; } ClassMapping[] clss = field.getIndependentTypeMappings(); switch (type) { case Select.EAGER_PARALLEL: return clss.length; case Select.EAGER_OUTER: return (clss.length == 1 && store.getDBDictionary().canOuterJoin (sel.getJoinSyntax(), field.getForeignKey(clss[0]))) ? 1 : 0; case Select.EAGER_INNER: return (clss.length == 1) ? 1 : 0; default: return 0; } }
public int supportsSelect(Select sel, int type, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) { if (type == Select.TYPE_JOINLESS) return (field.getJoinDirection() != field.JOIN_INVERSE && sel.isSelected(field.getTable())) ? 1 : 0; if (type == Select.TYPE_TWO_PART) return 1; // already cached? if (sm != null) { Object oid = sm.getIntermediate(field.getIndex()); if (store.getContext().findCached(oid, null) != null) return 0; } ClassMapping[] clss = field.getIndependentTypeMappings(); switch (type) { case Select.EAGER_PARALLEL: return clss.length; case Select.EAGER_OUTER: return (clss.length == 1 && store.getDBDictionary().canOuterJoin (sel.getJoinSyntax(), field.getForeignKey(clss[0]))) ? 1 : 0; case Select.EAGER_INNER: return (clss.length == 1) ? 1 : 0; default: return 0; } }