Top Description Fields Constructors Methods
org.apache.derby.impl.sql.execute

pack-priv Class DeleteCascadeResultSet

extends DeleteResultSet
Class Inheritance
Imports
java.util.Enumeration, .HashMap, .Vector, org.apache.derby.catalog.UUID, org.apache.derby.shared.common.error.StandardException, org.apache.derby.shared.common.reference.SQLState, org.apache.derby.iapi.sql.Activation, .ResultSet, org.apache.derby.iapi.sql.execute.ConstantAction, .CursorResultSet, .ExecRow, .NoPutResultSet, .TemporaryRowHolder, org.apache.derby.iapi.store.access.StaticCompiledOpenConglomInfo

Delete the rows from the specified base table and executes delete/update on dependent tables depending on the referential actions specified.

Note

(beetle:5197) Dependent Resultsets of DeleteCascade Resultset can in any one of the multiple resultsets generated for the same table because of multiple foreign key relationship to the same table. At the bind time , dependents are binded only once per table. We can not depend on mainNodeTable Flag to fire actions on dependents, it should be done based on whether the resultset has dependent resultsets or not.

Field Summary

Modifier and TypeField and Description
private boolean
pack-priv ResultSet[]
private boolean
private int
private final String
private int
Inherited from org.apache.derby.impl.sql.execute.DeleteResultSet:
cascadeDeleteconstantsdeferredBaseCCdeferredBaseRowdeferredRLRowdeferredSparseRowfkInfoArraylockModenumberOfBaseColumnsnumIndexesrcrowHoldersavedSourcesource

Constructor Summary

AccessConstructor and Description
public
DeleteCascadeResultSet(NoPutResultSet source, Activation activation, int constantActionItem, ResultSet[] dependentResultSets, String resultSetId)

Method Summary

Modifier and TypeMethod and Description
public void
pack-priv boolean
collectAffectedRows(boolean rowsFound)

pack-priv void
public void
finish()

Overrides org.apache.derby.impl.sql.execute.DeleteResultSet.finish.

Implements org.apache.derby.iapi.sql.ResultSet.finish.

Tells the system that there will be no more access to any database information via this result set; in particular, no more calls to open().

pack-priv void
pack-priv void
private boolean
private void
private void
public void
open()

Overrides org.apache.derby.impl.sql.execute.DeleteResultSet.open.

Implements org.apache.derby.iapi.sql.ResultSet.open.

Needs to be called before the result set will do anything.

private void
pack-priv void
runFkChecker(boolean restrictCheckOnly)

Overrides org.apache.derby.impl.sql.execute.DeleteResultSet.runFkChecker.

Make sure foreign key constraints are not violated

private void
pack-priv void
setup()

Overrides org.apache.derby.impl.sql.execute.DeleteResultSet.setup.

Gathers the rows that needs to be deleted/updated and creates a temporary resulsets that will be passed as source to its dependent result sets.

Inherited from org.apache.derby.impl.sql.execute.DeleteResultSet:
closecollectAffectedRowscreateDependentSourcefireBeforeTriggers

Field Detail

affectedRowsback to summary
private boolean affectedRows
dependentResultSetsback to summary
pack-priv ResultSet[] dependentResultSets
mainNodeForTableback to summary
private boolean mainNodeForTable
noDependentsback to summary
private int noDependents
resultSetIdback to summary
private final String resultSetId
tempRowHolderIdback to summary
private int tempRowHolderId

Constructor Detail

DeleteCascadeResultSetback to summary
public DeleteCascadeResultSet(NoPutResultSet source, Activation activation, int constantActionItem, ResultSet[] dependentResultSets, String resultSetId) throws StandardException

Method Detail

cleanUpback to summary
public void cleanUp() throws StandardException

Overrides org.apache.derby.impl.sql.execute.DeleteResultSet.cleanUp.

Implements org.apache.derby.iapi.sql.ResultSet.cleanUp.

Doc from org.apache.derby.iapi.sql.ResultSet.cleanUp.

Tells the system to clean up on an error.

Annotations
@Override
Exceptions
StandardException:

Doc from org.apache.derby.impl.sql.execute.DeleteResultSet.cleanUp.

Thrown on error

collectAffectedRowsback to summary
pack-priv boolean collectAffectedRows(boolean rowsFound) throws StandardException
deleteDeferredRowsback to summary
pack-priv void deleteDeferredRows() throws StandardException

Overrides org.apache.derby.impl.sql.execute.DeleteResultSet.deleteDeferredRows.

Annotations
@Override
finishback to summary
public void finish() throws StandardException

Overrides org.apache.derby.impl.sql.execute.DeleteResultSet.finish.

Implements org.apache.derby.iapi.sql.ResultSet.finish.

Doc from org.apache.derby.iapi.sql.ResultSet.finish.

Tells the system that there will be no more access to any database information via this result set; in particular, no more calls to open(). Will close the result set if it is not already closed.

Annotations
@Override
Exceptions
StandardException:
on error
fireAfterTriggersback to summary
pack-priv void fireAfterTriggers() throws StandardException

Overrides org.apache.derby.impl.sql.execute.DeleteResultSet.fireAfterTriggers.

Annotations
@Override
fireBeforeTriggersback to summary
pack-priv void fireBeforeTriggers(HashMap<String, String> msht) throws StandardException
isMultipleDeletePathsExistback to summary
private boolean isMultipleDeletePathsExist()
Annotations
@SuppressWarnings:UseOfObsoleteCollectionType
mergeResultSetsback to summary
private void mergeResultSets() throws StandardException
Annotations
@SuppressWarnings:UseOfObsoleteCollectionType
mergeRowHoldersback to summary
private void mergeRowHolders(HashMap<String, String> msht) throws StandardException
openback to summary
public void open() throws StandardException

Overrides org.apache.derby.impl.sql.execute.DeleteResultSet.open.

Implements org.apache.derby.iapi.sql.ResultSet.open.

Doc from org.apache.derby.iapi.sql.ResultSet.open.

Needs to be called before the result set will do anything. Need to call before getNextRow(), or for a result set that doesn't return rows, this is the call that will cause all the work to be done.

Annotations
@Override
@SuppressWarnings:UseOfObsoleteCollectionType, empty-statement
Exceptions
StandardException:
Standard Derby error policy
rowChangerFinishback to summary
private void rowChangerFinish() throws StandardException
runFkCheckerback to summary
pack-priv void runFkChecker(boolean restrictCheckOnly) throws StandardException

Overrides org.apache.derby.impl.sql.execute.DeleteResultSet.runFkChecker.

Doc from org.apache.derby.impl.sql.execute.DeleteResultSet.runFkChecker.

Make sure foreign key constraints are not violated

Annotations
@Override
setRowHoldersTypeToUniqueStreamback to summary
private void setRowHoldersTypeToUniqueStream()
Annotations
@SuppressWarnings:UseOfObsoleteCollectionType
setupback to summary
pack-priv void setup() throws StandardException

Overrides org.apache.derby.impl.sql.execute.DeleteResultSet.setup.

Gathers the rows that needs to be deleted/updated and creates a temporary resulsets that will be passed as source to its dependent result sets.

Annotations
@Override
@SuppressWarnings:UseOfObsoleteCollectionType
Exceptions
StandardException:

Doc from org.apache.derby.impl.sql.execute.NoRowsResultSetImpl.setup.

thrown on error