Class NodeDAOImpl
java.lang.Object
org.alfresco.repo.domain.node.AbstractNodeDAOImpl
org.alfresco.repo.domain.node.ibatis.NodeDAOImpl
- All Implemented Interfaces:
BatchingDAO,NodeDAO,NodeBulkLoader
- Direct Known Subclasses:
NodeDAOImpl.MSSQL,NodeDAOImpl.MySQL
iBatis-specific extension of the Node abstract DAO
- Since:
- 3.4
- Author:
- Derek Hulley
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classMSSQL requires some overrides to handle specific behaviour.static classMySQL (InnoDB) specific DAO overridesstatic classMySQL Cluster NDB specific DAO overrides WARNING: Experimental/unsupported - see MySQLClusterNDBDialect !Nested classes/interfaces inherited from interface org.alfresco.repo.domain.node.NodeDAO
NodeDAO.ChildAssocRefQueryCallback, NodeDAO.NodeRefQueryCallback, NodeDAO.NodeView -
Field Summary
FieldsFields inherited from class org.alfresco.repo.domain.node.AbstractNodeDAOImpl
CACHE_REGION_NODES, isDebugEnabled, logger, LONG_ZERO -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcountChildAssocsByParent(Long parentNodeId, boolean isPrimary) Counts the number of child associations directly under parentNodeId.protected intdeleteChildAssocs(List<Long> ids) protected intdeleteNodeAspects(Long nodeId, Set<Long> qnameIds) protected intdeleteNodeAssoc(Long sourceNodeId, Long targetNodeId, Long assocTypeQNameId) protected intdeleteNodeAssocs(List<Long> ids) protected intdeleteNodeById(Long nodeId) protected intdeleteNodeProperties(Long nodeId, List<NodePropertyKey> propKeys) protected intdeleteNodeProperties(Long nodeId, Set<Long> qnameIds) protected intdeleteNodesByCommitTime(long fromTxnCommitTimeMs, long toTxnCommitTimeMs) protected voiddeleteSubscriptions(Long nodeId) The default implementation relies on ON DELETE CASCADE and the subscriptions avoiding deleted nodes - NoOp.protected intdeleteTransaction(Long txnId) intdeleteTxnsUnused(long fromCommitTime, long toCommitTime) Remove unused transactions from commit time 'fromCommitTime' to commit time 'toCommitTime'voidWrite a batch of insert or update commandsgetNodeIdsIntervalForType(QName type, Long startTxnTime, Long endTxnTime) Returns the [minId, maxId] interval for nodes of a type, with the transaction time in the given window time.protected LonginsertChildAssoc(ChildAssocEntity assoc) protected LonginsertNode(NodeEntity node) protected voidinsertNodeAspect(Long nodeId, Long qnameId) protected LonginsertNodeAssoc(Long sourceNodeId, Long targetNodeId, Long assocTypeQNameId, int assocIndex) protected voidinsertNodeProperties(Long nodeId, Map<NodePropertyKey, NodePropertyValue> persistableProps) protected LonginsertStore(StoreEntity store) protected LonginsertTransaction(String changeTxnId, Long commitTimeMs) protected voidmoveNodeData(Long fromNodeId, Long toNodeId) Moves all node-linked data from one node to another.purgeDeletedNodes(long minAge, int deleteBatchSize) Purge the nodes marked as deletedpurgeEmptyTransactions(long minAge, int deleteBatchSize) Purge the transactions of purged nodesprotected List<StoreEntity>selectAssocsNotLinkedByTwoOtherAssocs(Long parentNodeId) protected ChildAssocEntityselectChildAssoc(Long assocId) protected List<ChildAssocEntity>selectChildAssoc(Long parentNodeId, Long childNodeId, QName assocTypeQName, QName assocQName) protected ChildAssocEntityselectChildAssoc(Long parentNodeId, QName assocTypeQName, String childName) protected voidselectChildAssocs(Long parentNodeId, Long childNodeId, QName assocTypeQName, QName assocQName, Boolean isPrimary, Boolean sameStore, NodeDAO.ChildAssocRefQueryCallback resultsCallback) Parameters are all optional except the parent node ID and the callbackprotected voidselectChildAssocs(Long parentNodeId, Set<QName> assocTypeQNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback) protected voidselectChildAssocs(Long parentNodeId, QName assocTypeQName, Collection<String> childNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback) voidselectChildAssocs(Long parentNodeId, QName assocTypeQName, QName assocQName, int maxResults, NodeDAO.ChildAssocRefQueryCallback resultsCallback) protected voidselectChildAssocsByChildTypes(Long parentNodeId, Set<QName> childNodeTypeQNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback) protected voidselectChildAssocsByPropertyValue(Long parentNodeId, QName propertyQName, NodePropertyValue nodeValue, NodeDAO.ChildAssocRefQueryCallback resultsCallback) selectChildAssocsWithoutNodeAssocsOfTypes(Long parentNodeId, Long minNodeId, Long maxNodeId, Set<QName> assocTypeQNames) protected voidselectChildAssocsWithoutParentAssocsOfType(Long parentNodeId, QName assocTypeQName, NodeDAO.ChildAssocRefQueryCallback resultsCallback) protected List<ChildAssocEntity>selectChildNodeIds(Long nodeId, Boolean isPrimary, Long minChildNodeIdInclusive, int maxResults) selectDeletedNodesByCommitTime(long maxCommitTime) protected TransactionselectLastTxnBeforeCommitTime(Long maxCommitTime) protected LongselectMaxTxInNodeIdRange(Long fromNodeId, Long toNodeId) Gets the maximum commit time from transactions including a node id in the range [fromNodeId:toNodeId]protected Longprotected Longprotected LongselectMinTxInNodeIdRange(Long fromNodeId, Long toNodeId) Gets the minimum commit time from transactions including a node id in the range [fromNodeId:toNodeId]protected Longprotected Longprotected Longprotected LongselectNextTxCommitTime(Long fromCommitTime) Gets the next commit time from [fromCommitTime]protected Map<NodeVersionKey,Set<QName>> selectNodeAspects(Set<Long> nodeIds) protected NodeAssocEntityselectNodeAssocById(Long assocId) protected intselectNodeAssocMaxIndex(Long sourceNodeId, Long assocTypeQNameId) protected List<NodeAssocEntity>selectNodeAssocs(Long nodeId) protected List<NodeAssocEntity>selectNodeAssocsBySource(Long sourceNodeId, Long typeQNameId) protected List<NodeAssocEntity>selectNodeAssocsBySourceAndPropertyValue(Long sourceNodeId, Long typeQNameId, Long propertyQNameId, NodePropertyValue nodeValue) protected List<NodeAssocEntity>selectNodeAssocsByTarget(Long targetNodeId, Long typeQNameId) protected NodeEntityselectNodeById(Long id) protected NodeEntityselectNodeByNodeRef(NodeRef nodeRef) protected Map<NodeVersionKey,Map<NodePropertyKey, NodePropertyValue>> selectNodeProperties(Long nodeId) protected Map<NodeVersionKey,Map<NodePropertyKey, NodePropertyValue>> selectNodeProperties(Long nodeId, Set<Long> qnameIds) protected Map<NodeVersionKey,Map<NodePropertyKey, NodePropertyValue>> selectNodeProperties(Set<Long> nodeIds) selectNodePropertiesByDataType(QName dataType, long minNodeId, long maxNodeId) Select all node properties that are between two node IDs and of the given actual typeselectNodePropertiesByTypes(Set<QName> qnames) Used by the re-encryptor to re-encrypt encryptable properties with a new encryption key.selectNodesByIds(SortedSet<Long> ids) selectNodesByUuids(Long storeId, SortedSet<String> uuids) protected voidselectNodesWithAspects(List<Long> qnameIds, Long minNodeId, Long maxNodeId, boolean ordered, NodeDAO.NodeRefQueryCallback resultsCallback) protected voidselectNodesWithAspects(List<Long> qnameIds, Long minNodeId, Long maxNodeId, NodeDAO.NodeRefQueryCallback resultsCallback) protected List<ChildAssocEntity>selectParentAssocs(Long childNodeId) protected voidselectParentAssocs(Long childNodeId, QName assocTypeQName, QName assocQName, Boolean isPrimary, NodeDAO.ChildAssocRefQueryCallback resultsCallback) Parameters are all optional except the parent node ID and the callbackselectPrimaryChildAcls(Long nodeId) protected List<ChildAssocEntity>selectPrimaryParentAssocs(Long childNodeId) No DB constraint, so multiple returnedprotected StoreEntityselectStore(StoreRef storeRef) protected NodeEntityselectStoreRootNode(StoreRef storeRef) protected intprotected TransactionselectTxnById(Long txnId) protected List<NodeEntity>selectTxnChanges(Long txnId, Long storeId) selectTxns(Long fromTimeInclusive, Long toTimeExclusive, Integer count, List<Long> includeTxnIds, List<Long> excludeTxnIds, Boolean ascending) selectTxnsUnused(Long minTxnId, Long maxCommitTime, Integer count) selectUnusedTransactionsByCommitTime(long maxCommitTime) voidsetDictionaryService(DictionaryService dictionaryService) voidsetQnameDAO(QNameDAO qnameDAO) voidsetSqlSessionTemplate(org.mybatis.spring.SqlSessionTemplate sqlSessionTemplate) voidStart a batch of insert or update commandsprotected intupdateChildAssocIndex(Long parentNodeId, Long childNodeId, QName assocTypeQName, QName assocQName, int index) protected intupdateChildAssocUniqueName(Long assocId, String name) protected intupdateNode(NodeUpdateEntity nodeUpdate) protected intupdateNodeAssoc(Long id, int assocIndex) protected intupdateNodes(Long txnId, List<Long> nodeIds) protected intupdateNodesInStore(Long txnId, Long storeId) protected voidupdatePrimaryChildrenSharedAclId(Long txnId, Long primaryParentNodeId, Long optionalOldSharedAlcIdInAdditionToNull, Long newSharedAlcId) protected intupdatePrimaryParentAssocs(Long childNodeId, Long parentNodeId, QName assocTypeQName, QName assocQName, String childNodeName) protected intupdateStore(StoreEntity store) protected intupdateStoreRoot(StoreEntity store) protected intupdateTransaction(Long txnId, Long commitTimeMs) Methods inherited from class org.alfresco.repo.domain.node.AbstractNodeDAOImpl
addNodeAspects, addNodeProperties, addNodeProperty, cacheNodes, cacheNodesById, clear, cycleCheck, deleteChildAssoc, deleteNode, exists, exists, exists, getAllRootNodes, getCachedAncestors, getChildAssoc, getChildAssoc, getChildAssoc, getChildAssocs, getChildAssocs, getChildAssocs, getChildAssocs, getChildAssocsByChildTypes, getChildAssocsByPropertyValue, getChildAssocsWithoutParentAssocsOfType, getCurrentTransactionCommitTime, getCurrentTransactionId, getMaxTxInNodeIdRange, getMaxTxnCommitTime, getMaxTxnId, getMaxTxnIdByCommitTime, getMinTxInNodeIdRange, getMinTxnCommitTime, getMinTxnCommitTimeForDeletedNodes, getMinTxnId, getMinUnusedTxnCommitTime, getNextTxCommitTime, getNodeAclId, getNodeAspects, getNodeAssoc, getNodeAssocOrNull, getNodeAssocsToAndFrom, getNodeIdStatus, getNodePair, getNodePair, getNodeProperties, getNodeProperty, getNodeRefStatus, getNodesWithAspects, getNodesWithAspects, getNodeType, getParentAssocs, getPaths, getPrimaryChildrenAcls, getPrimaryParentAssoc, getRootNode, getSourceNodeAssocs, getStore, getStores, getTargetAssocsByPropertyValue, getTargetNodeAssocs, getTransactionCount, getTxnById, getTxnChanges, getTxnChangesForStore, getTxnsUnused, hasNodeAspect, init, isInCurrentTxn, moveNode, moveStore, newChildAssoc, newChildAssocInsert, newChildAssocInsertImpl, newNode, newNodeAssoc, newNodeImplInsert, newStore, purgeNodes, purgeTxn, removeNodeAspects, removeNodeAspects, removeNodeAssoc, removeNodeAssocs, removeNodeProperties, setAccessControlListDAO, setAclDAO, setAllRootNodesCache, setAspectsCache, setCachingThreshold, setCheckNodeConsistency, setChildAssocIndex, setChildAssocsUniqueName, setChildAssocsUniqueNameImpl, setChildByNameCache, setContentDataDAO, setControlDAO, setLocaleDAO, setModifiedDate, setModifiedProperties, setNodeAclId, setNodeAssocIndex, setNodeProperties, setNodesCache, setParentAssocsCacheLimitFactor, setParentAssocsCacheSize, setPolicyBehaviourFilter, setPrimaryChildrenSharedAclId, setPropertiesCache, setRootNodesCache, setTransactionService, setUsageDAO, touchNodes, updateChildAssocUniqueNameImpl, updateNode, updatePrimaryParentAssocs, updatePrimaryParentAssocsImpl
-
Field Details
-
qnameDAO
-
dictionaryService
-
-
Constructor Details
-
NodeDAOImpl
public NodeDAOImpl()
-
-
Method Details
-
setSqlSessionTemplate
public void setSqlSessionTemplate(org.mybatis.spring.SqlSessionTemplate sqlSessionTemplate) -
setQnameDAO
- Overrides:
setQnameDAOin classAbstractNodeDAOImpl- Parameters:
qnameDAO- translates QName IDs into QName instances and vice-versa
-
setDictionaryService
- Overrides:
setDictionaryServicein classAbstractNodeDAOImpl- Parameters:
dictionaryService- the service help determine cm:auditable characteristics
-
startBatch
public void startBatch()Description copied from interface:BatchingDAOStart a batch of insert or update commands -
executeBatch
public void executeBatch()Description copied from interface:BatchingDAOWrite a batch of insert or update commands -
insertTransaction
- Specified by:
insertTransactionin classAbstractNodeDAOImpl
-
updateTransaction
- Specified by:
updateTransactionin classAbstractNodeDAOImpl
-
deleteTransaction
- Specified by:
deleteTransactionin classAbstractNodeDAOImpl
-
selectAllStores
- Specified by:
selectAllStoresin classAbstractNodeDAOImpl
-
selectStore
- Specified by:
selectStorein classAbstractNodeDAOImpl
-
selectStoreRootNode
- Specified by:
selectStoreRootNodein classAbstractNodeDAOImpl
-
insertStore
- Specified by:
insertStorein classAbstractNodeDAOImpl
-
updateStoreRoot
- Specified by:
updateStoreRootin classAbstractNodeDAOImpl
-
updateStore
- Specified by:
updateStorein classAbstractNodeDAOImpl
-
updateNodesInStore
- Specified by:
updateNodesInStorein classAbstractNodeDAOImpl
-
insertNode
- Specified by:
insertNodein classAbstractNodeDAOImpl
-
updateNode
- Specified by:
updateNodein classAbstractNodeDAOImpl
-
updateNodes
- Specified by:
updateNodesin classAbstractNodeDAOImpl
-
getMinNodeId
- Returns:
- Returns the minimum node id or 0 if there are no nodes
-
getMaxNodeId
- Returns:
- Returns the maximum node id or 0 if there are no nodes
-
getNodeIdsIntervalForType
Description copied from interface:NodeDAOReturns the [minId, maxId] interval for nodes of a type, with the transaction time in the given window time.- Parameters:
type- the node typestartTxnTime- the starting transaction time, null is allowed, case in which no minimum transaction time is consideredendTxnTime- the end transaction time, null is allowed, case in which no maximum transaction time is considered- Returns:
- the interval, as a pair
-
deleteNodeById
- Specified by:
deleteNodeByIdin classAbstractNodeDAOImpl
-
deleteNodesByCommitTime
protected int deleteNodesByCommitTime(long fromTxnCommitTimeMs, long toTxnCommitTimeMs) - Specified by:
deleteNodesByCommitTimein classAbstractNodeDAOImpl
-
selectNodeById
- Specified by:
selectNodeByIdin classAbstractNodeDAOImpl
-
selectNodeByNodeRef
- Specified by:
selectNodeByNodeRefin classAbstractNodeDAOImpl
-
selectNodesByUuids
- Specified by:
selectNodesByUuidsin classAbstractNodeDAOImpl
-
selectNodesByIds
- Specified by:
selectNodesByIdsin classAbstractNodeDAOImpl
-
selectNodeProperties
protected Map<NodeVersionKey,Map<NodePropertyKey, selectNodePropertiesNodePropertyValue>> (Set<Long> nodeIds) - Specified by:
selectNodePropertiesin classAbstractNodeDAOImpl
-
selectNodeProperties
protected Map<NodeVersionKey,Map<NodePropertyKey, selectNodePropertiesNodePropertyValue>> (Long nodeId) - Specified by:
selectNodePropertiesin classAbstractNodeDAOImpl
-
selectNodeProperties
protected Map<NodeVersionKey,Map<NodePropertyKey, selectNodePropertiesNodePropertyValue>> (Long nodeId, Set<Long> qnameIds) - Specified by:
selectNodePropertiesin classAbstractNodeDAOImpl
-
selectNodePropertiesByTypes
Description copied from interface:NodeDAOUsed by the re-encryptor to re-encrypt encryptable properties with a new encryption key. -
selectNodePropertiesByDataType
public List<NodePropertyEntity> selectNodePropertiesByDataType(QName dataType, long minNodeId, long maxNodeId) Description copied from interface:NodeDAOSelect all node properties that are between two node IDs and of the given actual type- Parameters:
dataType- the actual, original type of the property, as given by one of the constants onDataTypeDefinitionminNodeId- the minimum node ID (inclusive)maxNodeId- the maximum node ID (exclusive)
-
deleteNodeProperties
- Specified by:
deleteNodePropertiesin classAbstractNodeDAOImpl
-
deleteNodeProperties
- Specified by:
deleteNodePropertiesin classAbstractNodeDAOImpl
-
insertNodeProperties
protected void insertNodeProperties(Long nodeId, Map<NodePropertyKey, NodePropertyValue> persistableProps) - Specified by:
insertNodePropertiesin classAbstractNodeDAOImpl
-
selectNodeAspects
- Specified by:
selectNodeAspectsin classAbstractNodeDAOImpl
-
insertNodeAspect
- Specified by:
insertNodeAspectin classAbstractNodeDAOImpl
-
deleteNodeAspects
- Specified by:
deleteNodeAspectsin classAbstractNodeDAOImpl
-
selectNodesWithAspects
protected void selectNodesWithAspects(List<Long> qnameIds, Long minNodeId, Long maxNodeId, NodeDAO.NodeRefQueryCallback resultsCallback) - Specified by:
selectNodesWithAspectsin classAbstractNodeDAOImpl
-
selectNodesWithAspects
protected void selectNodesWithAspects(List<Long> qnameIds, Long minNodeId, Long maxNodeId, boolean ordered, NodeDAO.NodeRefQueryCallback resultsCallback) - Specified by:
selectNodesWithAspectsin classAbstractNodeDAOImpl
-
insertNodeAssoc
protected Long insertNodeAssoc(Long sourceNodeId, Long targetNodeId, Long assocTypeQNameId, int assocIndex) - Specified by:
insertNodeAssocin classAbstractNodeDAOImpl
-
updateNodeAssoc
- Specified by:
updateNodeAssocin classAbstractNodeDAOImpl
-
deleteNodeAssoc
- Specified by:
deleteNodeAssocin classAbstractNodeDAOImpl
-
deleteNodeAssocs
- Specified by:
deleteNodeAssocsin classAbstractNodeDAOImpl
-
selectNodeAssocs
- Specified by:
selectNodeAssocsin classAbstractNodeDAOImpl
-
selectNodeAssocsBySource
- Specified by:
selectNodeAssocsBySourcein classAbstractNodeDAOImpl
-
selectNodeAssocsBySourceAndPropertyValue
protected List<NodeAssocEntity> selectNodeAssocsBySourceAndPropertyValue(Long sourceNodeId, Long typeQNameId, Long propertyQNameId, NodePropertyValue nodeValue) - Specified by:
selectNodeAssocsBySourceAndPropertyValuein classAbstractNodeDAOImpl
-
selectNodeAssocsByTarget
- Specified by:
selectNodeAssocsByTargetin classAbstractNodeDAOImpl
-
selectNodeAssocById
- Specified by:
selectNodeAssocByIdin classAbstractNodeDAOImpl
-
selectNodeAssocMaxIndex
- Specified by:
selectNodeAssocMaxIndexin classAbstractNodeDAOImpl
-
insertChildAssoc
- Specified by:
insertChildAssocin classAbstractNodeDAOImpl
-
deleteChildAssocs
- Specified by:
deleteChildAssocsin classAbstractNodeDAOImpl
-
updateChildAssocIndex
protected int updateChildAssocIndex(Long parentNodeId, Long childNodeId, QName assocTypeQName, QName assocQName, int index) - Specified by:
updateChildAssocIndexin classAbstractNodeDAOImpl
-
updateChildAssocUniqueName
- Specified by:
updateChildAssocUniqueNamein classAbstractNodeDAOImpl
-
selectChildAssoc
- Specified by:
selectChildAssocin classAbstractNodeDAOImpl
-
selectChildNodeIds
protected List<ChildAssocEntity> selectChildNodeIds(Long nodeId, Boolean isPrimary, Long minChildNodeIdInclusive, int maxResults) - Specified by:
selectChildNodeIdsin classAbstractNodeDAOImpl
-
selectPrimaryChildAcls
- Specified by:
selectPrimaryChildAclsin classAbstractNodeDAOImpl
-
selectChildAssoc
protected List<ChildAssocEntity> selectChildAssoc(Long parentNodeId, Long childNodeId, QName assocTypeQName, QName assocQName) - Specified by:
selectChildAssocin classAbstractNodeDAOImpl
-
selectChildAssocs
protected void selectChildAssocs(Long parentNodeId, Long childNodeId, QName assocTypeQName, QName assocQName, Boolean isPrimary, Boolean sameStore, NodeDAO.ChildAssocRefQueryCallback resultsCallback) Description copied from class:AbstractNodeDAOImplParameters are all optional except the parent node ID and the callback- Specified by:
selectChildAssocsin classAbstractNodeDAOImpl
-
selectChildAssocs
public void selectChildAssocs(Long parentNodeId, QName assocTypeQName, QName assocQName, int maxResults, NodeDAO.ChildAssocRefQueryCallback resultsCallback) - Specified by:
selectChildAssocsin classAbstractNodeDAOImpl
-
selectChildAssocs
protected void selectChildAssocs(Long parentNodeId, Set<QName> assocTypeQNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback) - Specified by:
selectChildAssocsin classAbstractNodeDAOImpl
-
selectChildAssoc
protected ChildAssocEntity selectChildAssoc(Long parentNodeId, QName assocTypeQName, String childName) - Specified by:
selectChildAssocin classAbstractNodeDAOImpl
-
selectChildAssocs
protected void selectChildAssocs(Long parentNodeId, QName assocTypeQName, Collection<String> childNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback) - Specified by:
selectChildAssocsin classAbstractNodeDAOImpl
-
selectChildAssocsByPropertyValue
protected void selectChildAssocsByPropertyValue(Long parentNodeId, QName propertyQName, NodePropertyValue nodeValue, NodeDAO.ChildAssocRefQueryCallback resultsCallback) - Specified by:
selectChildAssocsByPropertyValuein classAbstractNodeDAOImpl
-
selectChildAssocsByChildTypes
protected void selectChildAssocsByChildTypes(Long parentNodeId, Set<QName> childNodeTypeQNames, NodeDAO.ChildAssocRefQueryCallback resultsCallback) - Specified by:
selectChildAssocsByChildTypesin classAbstractNodeDAOImpl
-
selectChildAssocsWithoutParentAssocsOfType
protected void selectChildAssocsWithoutParentAssocsOfType(Long parentNodeId, QName assocTypeQName, NodeDAO.ChildAssocRefQueryCallback resultsCallback) - Specified by:
selectChildAssocsWithoutParentAssocsOfTypein classAbstractNodeDAOImpl
-
selectAssocsNotLinkedByTwoOtherAssocs
-
selectChildAssocsWithoutNodeAssocsOfTypes
public List<Node> selectChildAssocsWithoutNodeAssocsOfTypes(Long parentNodeId, Long minNodeId, Long maxNodeId, Set<QName> assocTypeQNames) - Parameters:
parentNodeId- the parent node idminNodeId- the minimum node ID (inclusive), null for no limitation on the minimum value of the node idmaxNodeId- the maximum node ID (exclusive), null for no limitation on the maximum value of the node idassocTypeQNames- the node associations to exclude, null for no filtering of the associations types- Returns:
- list of child nodes
-
selectPrimaryParentAssocs
Description copied from class:AbstractNodeDAOImplNo DB constraint, so multiple returned- Specified by:
selectPrimaryParentAssocsin classAbstractNodeDAOImpl
-
selectParentAssocs
protected void selectParentAssocs(Long childNodeId, QName assocTypeQName, QName assocQName, Boolean isPrimary, NodeDAO.ChildAssocRefQueryCallback resultsCallback) Description copied from class:AbstractNodeDAOImplParameters are all optional except the parent node ID and the callback- Specified by:
selectParentAssocsin classAbstractNodeDAOImpl
-
selectParentAssocs
- Specified by:
selectParentAssocsin classAbstractNodeDAOImpl
-
updatePrimaryParentAssocs
protected int updatePrimaryParentAssocs(Long childNodeId, Long parentNodeId, QName assocTypeQName, QName assocQName, String childNodeName) - Specified by:
updatePrimaryParentAssocsin classAbstractNodeDAOImpl
-
moveNodeData
Description copied from class:AbstractNodeDAOImplMoves all node-linked data from one node to another. The source node will be left in an orphaned state and without any attached data other than the current transaction.- Specified by:
moveNodeDatain classAbstractNodeDAOImpl- Parameters:
fromNodeId- the source nodetoNodeId- the target node
-
deleteSubscriptions
The default implementation relies on ON DELETE CASCADE and the subscriptions avoiding deleted nodes - NoOp.- Specified by:
deleteSubscriptionsin classAbstractNodeDAOImpl
-
selectLastTxnBeforeCommitTime
- Specified by:
selectLastTxnBeforeCommitTimein classAbstractNodeDAOImpl
-
selectTransactionCount
protected int selectTransactionCount()- Specified by:
selectTransactionCountin classAbstractNodeDAOImpl
-
selectTxnById
- Specified by:
selectTxnByIdin classAbstractNodeDAOImpl
-
selectTxnChanges
- Specified by:
selectTxnChangesin classAbstractNodeDAOImpl
-
selectTxns
public List<Transaction> selectTxns(Long fromTimeInclusive, Long toTimeExclusive, Integer count, List<Long> includeTxnIds, List<Long> excludeTxnIds, Boolean ascending) - Specified by:
selectTxnsin classAbstractNodeDAOImpl
-
selectTxnsUnused
- Specified by:
selectTxnsUnusedin classAbstractNodeDAOImpl
-
deleteTxnsUnused
public int deleteTxnsUnused(long fromCommitTime, long toCommitTime) Description copied from interface:NodeDAORemove unused transactions from commit time 'fromCommitTime' to commit time 'toCommitTime'- Parameters:
fromCommitTime- delete unused transactions from commit timetoCommitTime- delete unused transactions to commit time- Returns:
- int
-
selectMinTxnCommitTime
- Specified by:
selectMinTxnCommitTimein classAbstractNodeDAOImpl
-
selectMaxTxnCommitTime
- Specified by:
selectMaxTxnCommitTimein classAbstractNodeDAOImpl
-
selectMinTxnCommitTimeForDeletedNodes
- Specified by:
selectMinTxnCommitTimeForDeletedNodesin classAbstractNodeDAOImpl
-
selectMinTxnId
- Specified by:
selectMinTxnIdin classAbstractNodeDAOImpl
-
selectMinUnusedTxnCommitTime
- Specified by:
selectMinUnusedTxnCommitTimein classAbstractNodeDAOImpl
-
selectMaxTxnId
- Specified by:
selectMaxTxnIdin classAbstractNodeDAOImpl
-
countChildAssocsByParent
Description copied from interface:NodeDAOCounts the number of child associations directly under parentNodeId.- Parameters:
parentNodeId- the parent node idisPrimary- count just primary associations?
-
selectMinTxInNodeIdRange
Gets the minimum commit time from transactions including a node id in the range [fromNodeId:toNodeId]- Specified by:
selectMinTxInNodeIdRangein classAbstractNodeDAOImpl- Parameters:
fromNodeId- Initial node idtoNodeId- Final node id- Returns:
- minimum commit time
-
selectMaxTxInNodeIdRange
Gets the maximum commit time from transactions including a node id in the range [fromNodeId:toNodeId]- Specified by:
selectMaxTxInNodeIdRangein classAbstractNodeDAOImpl- Parameters:
fromNodeId- Initial node idtoNodeId- Final node id- Returns:
- maximum commit time
-
selectNextTxCommitTime
Gets the next commit time from [fromCommitTime]- Specified by:
selectNextTxCommitTimein classAbstractNodeDAOImpl- Parameters:
fromCommitTime- Initial commit time- Returns:
- next commit time
-
selectDeletedNodesByCommitTime
- Returns:
- Iterator over node ids
-
selectUnusedTransactionsByCommitTime
- Returns:
- Iterator over transaction ids
-
purgeDeletedNodes
Description copied from interface:NodeDAOPurge the nodes marked as deleted- Returns:
- the count of nodes deleted in each batch
-
purgeEmptyTransactions
Description copied from interface:NodeDAOPurge the transactions of purged nodes- Returns:
- the count of transactions deleted in each batch
-