Package org.nuxeo.ecm.core.storage.sql
Interface Mapper
- All Superinterfaces:
RowMapper
- All Known Subinterfaces:
CachingMapper
- All Known Implementing Classes:
JDBCMapper
,SoftRefCachingMapper
,UnifiedCachingMapper
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic final class
Identifiers assigned by a server to identify a client mapper and its repository.Nested classes/interfaces inherited from interface org.nuxeo.ecm.core.storage.sql.RowMapper
RowMapper.CopyResult, RowMapper.IdWithTypes, RowMapper.NodeInfo, RowMapper.RowBatch, RowMapper.RowUpdate
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
cleanupDeletedRows
(int max, Calendar beforeTime) Cleans up (hard-delete) any rows that have been soft-deleted in the database.void
close()
void
createClusterNode
(Serializable nodeId) Informs the cluster that this node exists.Gets the ids for all the ancestors of the given row ids.getClusterInvalidations
(Serializable nodeId) Gets the invalidations from other cluster nodes.int
Returns the repository id and mapper id assigned.Gets the root id for a given repository, if registered.int
getTableSize
(String tableName) void
insertClusterInvalidations
(Serializable nodeId, VCSInvalidations invalidations) Inserts the invalidation rows for the other cluster nodes.void
markReferencedBlobs
(BiConsumer<String, String> markerCallback) Marks the blobs in use by passing them to the provided callback (taking the blob key and the repository name).query
(String query, String queryType, QueryFilter queryFilter, boolean countTotal) Makes a NXQL query to the database.query
(String query, String queryType, QueryFilter queryFilter, long countUpTo) Makes a NXQL query to the database.queryAndFetch
(String query, String queryType, QueryFilter queryFilter, boolean distinctDocuments, Object... params) Makes a query to the database and returns an iterable (which must be closed when done).queryProjection
(String query, String queryType, QueryFilter queryFilter, boolean distinctDocuments, long countUpTo, Object... params) Makes a query to the database.void
void
removeClusterNode
(Serializable nodeId) Removes this node from the cluster.Get the next batch of results containing id of documents, thescrollId
is part of the previousScrollResult
response.Executes the given query and returns the first batch of results containing id of documents, next batch must be requested within thekeepAliveSeconds
delay.scroll
(String query, QueryFilter queryFilter, int batchSize, int keepAliveSeconds) Executes the given query and returns the first batch of results containing id of documents, next batch must be requested within thekeepAliveSeconds
delay.void
setRootId
(Serializable repositoryId, Serializable id) Records the newly generated root id for a given repository.void
Methods inherited from interface org.nuxeo.ecm.core.storage.sql.RowMapper
clearCache, copy, copy, generateNewId, getBinaryFulltext, getCacheSize, getDescendantsInfo, read, readCollectionRowArray, readSelectionRows, readSelectionsIds, readSimpleRow, receiveInvalidations, remove, rollback, sendInvalidations, write
-
Field Details
-
GET_IDENTIFICATION
- See Also:
-
CLOSE
- See Also:
-
-
Method Details
-
scroll
Executes the given query and returns the first batch of results containing id of documents, next batch must be requested within thekeepAliveSeconds
delay.- Since:
- 8.4
-
scroll
ScrollResult<String> scroll(String query, QueryFilter queryFilter, int batchSize, int keepAliveSeconds) Executes the given query and returns the first batch of results containing id of documents, next batch must be requested within thekeepAliveSeconds
delay.- Since:
- 10.3
-
scroll
Get the next batch of results containing id of documents, thescrollId
is part of the previousScrollResult
response.- Since:
- 8.4
-
getIdentification
Mapper.Identification getIdentification()Returns the repository id and mapper id assigned.This is used in remote stateless mode to be able to identify to which mapper an incoming connection is targeted, and from which repository instance.
- Returns:
- the repository and mapper identification
-
close
void close() -
getTableSize
-
getRootId
Gets the root id for a given repository, if registered.- Parameters:
repositoryId
- the repository id- Returns:
- the root id, or null if not found
-
setRootId
Records the newly generated root id for a given repository.- Parameters:
repositoryId
- the repository id, usually 0id
- the root id
-
query
PartialList<Serializable> query(String query, String queryType, QueryFilter queryFilter, boolean countTotal) Makes a NXQL query to the database.- Parameters:
query
- the queryqueryType
- the query typequeryFilter
- the query filtercountTotal
- iftrue
, count the total size without limit/offset- Returns:
- the list of matching document ids
-
query
PartialList<Serializable> query(String query, String queryType, QueryFilter queryFilter, long countUpTo) Makes a NXQL query to the database.- Parameters:
query
- the queryqueryType
- the query typequeryFilter
- the query filtercountUpTo
- if-1
, count the total size without offset/limit.
If0
, don't count the total size.
Ifn
, count the total number if there are less than n documents otherwise set the size to-1
.- Returns:
- the list of matching document ids
- Since:
- 5.6
-
queryAndFetch
IterableQueryResult queryAndFetch(String query, String queryType, QueryFilter queryFilter, boolean distinctDocuments, Object... params) Makes a query to the database and returns an iterable (which must be closed when done).- Parameters:
query
- the queryqueryType
- the query typequeryFilter
- the query filterdistinctDocuments
- iftrue
then a maximum of one row per document will be returnedparams
- optional query-type-dependent parameters- Returns:
- an iterable, which must be closed when done
-
queryProjection
PartialList<Map<String,Serializable>> queryProjection(String query, String queryType, QueryFilter queryFilter, boolean distinctDocuments, long countUpTo, Object... params) Makes a query to the database.- Parameters:
query
- the queryqueryType
- the query typequeryFilter
- the query filterdistinctDocuments
- iftrue
then a maximum of one row per document will be returnedcountUpTo
- if-1
, also count the total size without offset/limit.
If0
, don't count the total size.
Ifn
, count the total number if there are less than n documents otherwise set the size to-1
.params
- optional query-type-dependent parameters- Returns:
- a projection
- Since:
- 7.10-HF-25, 8.10-HF06, 9.2
-
getAncestorsIds
Gets the ids for all the ancestors of the given row ids.- Parameters:
ids
- the ids- Returns:
- the set of ancestor ids
-
updateReadAcls
void updateReadAcls() -
rebuildReadAcls
void rebuildReadAcls() -
getClusterNodeIdType
int getClusterNodeIdType() -
createClusterNode
Informs the cluster that this node exists. -
removeClusterNode
Removes this node from the cluster. -
insertClusterInvalidations
Inserts the invalidation rows for the other cluster nodes. -
getClusterInvalidations
Gets the invalidations from other cluster nodes. -
markReferencedBlobs
Marks the blobs in use by passing them to the provided callback (taking the blob key and the repository name).- Since:
- 2021.8
-
cleanupDeletedRows
Cleans up (hard-delete) any rows that have been soft-deleted in the database.- Parameters:
max
- the maximum number of rows to delete at a timebeforeTime
- the maximum deletion time of the rows to delete- Returns:
- the number of rows deleted
-