-
Type: Improvement
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: 5.9.1
-
Fix Version/s: 5.8.0-HF07, 5.9.2
-
Component/s: Core VCS
-
Tags:
pathOptimization enables fast search on path (STARTSWITH operator) at the cost of path materialization. The ancestors table that contains a list of ancestors for each node may become too big for large volume. So at some point it can be interesting to disable the path optimization and to reduce the STARTSWITH usage in NXQL.
The problem is that when the pathOptimization is disable the implementation uses a NX_IN_TREE function that don't support large volume (the function is O(total nb of docs)).
Even if there is no more NXQL using the STARTSWITH operator, the remove API uses internally the NX_IN_TREE function to get the list children to delete and we get stuck when we have very large volume.
This ticket is to provide a better implementation of NX_IN_TREE (or DialectOracle.getInTreeSql) using the Oracle CONNECT BY operator.
- is required by
-
NXP-14750 NX_IN_TREE stored procedure does not scale on PG and mssql
- Resolved