/** * INTERNAL: */ public void onConnect() { super.onConnect(); if (getSelectQuery() == null) { setSelectQuery(buildSelectQuery()); wasSelectQueryCreated = getSelectQuery() != null; } if ((getUpdateQuery() == null) && !shouldSkipUpdate()) { setUpdateQuery(buildUpdateQuery()); wasUpdateQueryCreated = getUpdateQuery() != null; } }
public QuerySequence(boolean shouldAcquireValueAfterInsert, boolean shouldUseTransaction) { super(); setShouldAcquireValueAfterInsert(shouldAcquireValueAfterInsert); setShouldUseTransaction(shouldUseTransaction); }
public boolean equals(Object obj) { if (obj instanceof QuerySequence && super.equals(obj)) { QuerySequence other = (QuerySequence)obj; return (getSelectQuery() == other.getSelectQuery()) && (getUpdateQuery() == other.getUpdateQuery()) && (shouldAcquireValueAfterInsert() == other.shouldAcquireValueAfterInsert()) && (shouldUseTransaction() == other.shouldUseTransaction()) && (shouldSkipUpdate() == other.shouldSkipUpdate()) && (shouldSelectBeforeUpdate() == other.shouldSelectBeforeUpdate()); } else { return false; } }
this.delegateSequence.setName(getName()); this.delegateSequence.onConnect(platform); setShouldUseTransaction(this.delegateSequence.shouldUseTransaction()); setShouldAcquireValueAfterInsert(this.delegateSequence.shouldAcquireValueAfterInsert()); setShouldSkipUpdate(this.delegateSequence.shouldSkipUpdate()); setShouldSelectBeforeUpdate(this.delegateSequence.shouldSelectBeforeUpdate()); setUpdateQuery(this.delegateSequence.getUpdateQuery()); super.onConnect(); return; } else { super.onConnect();
if (shouldSkipUpdate()) { return (Number)select(accessor, writeSession, seqName, sizeInteger); } else { if (shouldSelectBeforeUpdate()) { Object result = select(accessor, writeSession, seqName, sizeInteger); BigDecimal currentValue; if (result instanceof Number) { update(accessor, writeSession, seqName, newValue); return newValue; } else { update(accessor, writeSession, seqName, sizeInteger); return (Number)select(accessor, writeSession, seqName, sizeInteger);
/** * INTERNAL: */ protected Object select(Accessor accessor, AbstractSession writeSession, String seqName, Integer size) { ValueReadQuery query = getSelectQuery(); if (query != null) { if (accessor != null) { // PERF: Prepare the query before being cloned. // Also BUG: SQLCall could not be prepared concurrently by different queries. // Setting user define allow custom SQL query to be prepared without translation row. query.setIsUserDefined(true); query.checkPrepare(writeSession, null); query = (ValueReadQuery)query.clone(); query.setAccessor(accessor); } } else { query = buildSelectQuery(seqName, size); if (accessor != null) { query.setAccessor(accessor); } } Vector args = createArguments(query, seqName, size); if (args != null) { return writeSession.executeQuery(query, args); } else { return writeSession.executeQuery(query); } }
DataModifyQuery query = getUpdateQuery(); if (query != null) { if (accessor != null) { query = buildUpdateQuery(seqName, sizeOrNewValue); if (query == null) { return; Vector args = createArguments(query, seqName, sizeOrNewValue); if (args != null) { writeSession.executeQuery(query, args);
/** * INTERNAL: */ public void onDisconnect() { if (wasSelectQueryCreated) { setSelectQuery(null); wasSelectQueryCreated = false; } if (wasUpdateQueryCreated) { setUpdateQuery(null); wasUpdateQueryCreated = false; } super.onDisconnect(); }
/** * INTERNAL: */ public void onConnect() { super.onConnect(); initialize(); }
/** * INTERNAL: */ public void onDisconnect() { clear(); super.onDisconnect(); }
/** * INTERNAL: */ @Override protected ValueReadQuery buildSelectQuery() { if (this.delegateSequence != null) { return this.delegateSequence.buildSelectQuery(); } else if (shouldAcquireValueAfterInsert()) { return ((DatasourcePlatform)getDatasourcePlatform()).buildSelectQueryForIdentity(); } else { return ((DatasourcePlatform)getDatasourcePlatform()).buildSelectQueryForSequenceObject(); } }
/** * OBSOLETE: * This method lazy initializes the update sequence number query. It * allows for other queries to be used instead of the default one. */ public DataModifyQuery getUpdateSequenceQuery() { if (getDefaultSequence() instanceof QuerySequence) { return ((QuerySequence)getDefaultSequence()).getUpdateQuery(); } else { throw ValidationException.wrongSequenceType(Helper.getShortClassName(getDefaultSequence()), "getUpdateQuery"); } }
/** * OBSOLETE: * This method lazy initializes the select sequence number query. It * allows for other queries to be used instead of the default one. */ public ValueReadQuery getSelectSequenceQuery() { if (getDefaultSequence() instanceof QuerySequence) { return ((QuerySequence)getDefaultSequence()).getSelectQuery(); } else { throw ValidationException.wrongSequenceType(Helper.getShortClassName(getDefaultSequence()), "getSelectQuery"); } }
/** * OBSOLETE: * Can override the default query for returning the sequence numbers. * This query must be a valid query that has one parameter which is * the sequence name. */ public void setSelectSequenceNumberQuery(ValueReadQuery seqQuery) { if (getDefaultSequence() instanceof QuerySequence) { ((QuerySequence)getDefaultSequence()).setSelectQuery(seqQuery); } else { throw ValidationException.wrongSequenceType(Helper.getShortClassName(getDefaultSequence()), "setSelectQuery"); } }
public boolean equals(Object obj) { if (obj instanceof QuerySequence && super.equals(obj)) { QuerySequence other = (QuerySequence)obj; return (getSelectQuery() == other.getSelectQuery()) && (getUpdateQuery() == other.getUpdateQuery()) && (shouldAcquireValueAfterInsert() == other.shouldAcquireValueAfterInsert()) && (shouldUseTransaction() == other.shouldUseTransaction()) && (shouldSkipUpdate() == other.shouldSkipUpdate()) && (shouldSelectBeforeUpdate() == other.shouldSelectBeforeUpdate()); } else { return false; } }
this.delegateSequence.setName(getName()); this.delegateSequence.onConnect(platform); setShouldUseTransaction(this.delegateSequence.shouldUseTransaction()); setShouldAcquireValueAfterInsert(this.delegateSequence.shouldAcquireValueAfterInsert()); setShouldSkipUpdate(this.delegateSequence.shouldSkipUpdate()); setShouldSelectBeforeUpdate(this.delegateSequence.shouldSelectBeforeUpdate()); setUpdateQuery(this.delegateSequence.getUpdateQuery()); super.onConnect(); return; } else { super.onConnect();
if (shouldSkipUpdate()) { return (Number)select(accessor, writeSession, seqName, sizeInteger); } else { if (shouldSelectBeforeUpdate()) { Object result = select(accessor, writeSession, seqName, sizeInteger); BigDecimal currentValue; if (result instanceof Number) { update(accessor, writeSession, seqName, newValue); return newValue; } else { update(accessor, writeSession, seqName, sizeInteger); return (Number)select(accessor, writeSession, seqName, sizeInteger);
/** * INTERNAL: */ protected Object select(Accessor accessor, AbstractSession writeSession, String seqName, Integer size) { ValueReadQuery query = getSelectQuery(); if (query != null) { if (accessor != null) { // PERF: Prepare the query before being cloned. // Also BUG: SQLCall could not be prepared concurrently by different queries. // Setting user define allow custom SQL query to be prepared without translation row. query.setIsUserDefined(true); query.checkPrepare(writeSession, null); query = (ValueReadQuery)query.clone(); query.setAccessor(accessor); } } else { query = buildSelectQuery(seqName, size); if (accessor != null) { query.setAccessor(accessor); } } Vector args = createArguments(query, seqName, size); query.setIsUserDefinedSQLCall(false); if (args != null) { return writeSession.executeQuery(query, args); } else { return writeSession.executeQuery(query); } }
DataModifyQuery query = getUpdateQuery(); if (query != null) { if (accessor != null) { query = buildUpdateQuery(seqName, sizeOrNewValue); if (query == null) { return; Vector args = createArguments(query, seqName, sizeOrNewValue); query.setIsUserDefinedSQLCall(false); if (args != null) {
/** * INTERNAL: */ public void onDisconnect() { if (wasSelectQueryCreated) { setSelectQuery(null); wasSelectQueryCreated = false; } if (wasUpdateQueryCreated) { setUpdateQuery(null); wasUpdateQueryCreated = false; } super.onDisconnect(); }