Preclaiming two-phase locking for XQuery update operations #6112
52 new issues (0 max.) of at least severity.
Here is an overview of what got changed by this pull request:
Issues
======
- Added 52
Complexity increasing per file
==============================
- exist-core/src/main/java/org/exist/xquery/lock/LockTargetCollector.java 58
- exist-core/src/test/java/org/exist/xquery/lock/ConcurrencyBenchmark.java 48
- exist-core/src/test/java/org/exist/xquery/lock/LockTargetCollectorTest.java 10
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFFnPut.java 2
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFRenameExpr.java 29
- exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java 333
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFReplaceValueExpr.java 23
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFTransformExpr.java 52
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFInsertExpr.java 75
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFDeleteExpr.java 16
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFReplaceNodeExpr.java 31
- exist-core/src/test/java/org/exist/xquery/xquf/XQUFBenchmark.java 42
- exist-core/src/main/java/org/exist/xquery/xquf/UpdatePrimitive.java 18
- exist-core/src/test/java/org/exist/xquery/xquf/XQUFBasicTest.java 118
Clones added
============
- exist-core/src/main/java/org/exist/xquery/LetExpr.java 1
- exist-core/src/main/java/org/exist/xquery/ForExpr.java 1
- exist-core/src/main/java/org/exist/xquery/TypeswitchExpression.java 1
- exist-core/src/main/java/org/exist/xquery/SwitchExpression.java 1
- exist-core/src/main/java/org/exist/xquery/lock/LockTargetCollector.java 1
- exist-core/src/test/java/org/exist/xquery/lock/ConcurrencyBenchmark.java 30
- exist-core/src/test/java/org/exist/xquery/lock/LockTargetCollectorTest.java 2
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFRenameExpr.java 2
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFReplaceValueExpr.java 7
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFTransformExpr.java 8
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFInsertExpr.java 11
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFDeleteExpr.java 3
- exist-core/src/main/java/org/exist/xquery/xquf/XQUFReplaceNodeExpr.java 2
- exist-core/src/test/java/org/exist/xquery/xquf/XQUFBenchmark.java 4
Clones removed
==============
+ exist-core/src/main/java/org/exist/xquery/VariableDeclaration.java -1
+ exist-core/src/main/java/org/exist/dom/memtree/ElementImpl.java -1
+ exist-core/src/main/java/org/exist/dom/memtree/NodeImpl.java -1
See the complete overview on Codacy
Annotations
Check warning on line 1815 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L1815
The method 'replaceValue(int, String)' has an NPath complexity of 3051, current threshold is 200
Check notice on line 1925 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L1925
Unnecessary use of fully qualified name 'org.exist.xquery.XPathException' due to existing import 'org.exist.xquery.XPathException'
Check warning on line 2099 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2099
The method 'mergeAdjacentTextNodes()' has an NPath complexity of 2666, current threshold is 200
Check warning on line 2197 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2197
The method 'insertChildren(int, Sequence, boolean)' has an NPath complexity of 378, current threshold is 200
Check warning on line 2282 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2282
The method 'insertSiblings(int, Sequence, boolean)' has an NPath complexity of 876, current threshold is 200
Check warning on line 2369 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2369
The method 'insertAttributes(int, Sequence, boolean)' has an NPath complexity of 177408, current threshold is 200
Check notice on line 2379 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2379
Unnecessary use of fully qualified name 'org.exist.xquery.value.Type.NODE' due to existing import 'org.exist.xquery.value.Type'
Check warning on line 2483 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2483
The method 'replaceNode(int, Sequence)' has an NPath complexity of 4410, current threshold is 200
Check notice on line 2573 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2573
Unnecessary use of fully qualified name 'java.util.Map' due to existing import 'java.util.Map'
Check notice on line 2603 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2603
Avoid unused private methods such as 'copyNodeIntoDocument(Node,int,short)'.
Check warning on line 2618 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2618
The method 'copyNodeIntoDocument(Node, int, short, java.util.Map)' has an NPath complexity of 82950, current threshold is 200
Check notice on line 2619 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2619
Unnecessary use of fully qualified name 'java.util.Map' due to existing import 'java.util.Map'
Check notice on line 2655 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2655
Unnecessary use of fully qualified name 'java.util.Map' due to existing import 'java.util.Map'
Check notice on line 2660 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2660
Unnecessary use of fully qualified name 'java.util.Map' due to existing import 'java.util.Map'
Check notice on line 2661 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2661
Unnecessary use of fully qualified name 'java.util.Map.Entry' due to existing import 'java.util.Map'
Check notice on line 2667 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2667
Unnecessary use of fully qualified name 'javax.xml.XMLConstants.XMLNS_ATTRIBUTE' due to existing import 'javax.xml.XMLConstants'
Check notice on line 2692 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2692
Unnecessary use of fully qualified name 'java.util.Map.Entry' due to existing import 'java.util.Map'
Check notice on line 2694 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2694
These nested if statements could be combined
Check notice on line 2705 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2705
Unnecessary use of fully qualified name 'java.util.Map' due to existing import 'java.util.Map'
Check warning on line 2815 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java#L2815
Avoid throwing raw exception types.
Check notice on line 468 in exist-core/src/main/java/org/exist/xquery/XQuery.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/XQuery.java#L468
Unnecessary use of fully qualified name 'org.exist.xquery.xquf.PendingUpdateList' due to existing same package import 'org.exist.xquery.*'
Check notice on line 1395 in exist-core/src/main/java/org/exist/xquery/XQueryContext.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/XQueryContext.java#L1395
Unnecessary use of fully qualified name 'org.exist.xquery.lock.LockTargetCollector' due to existing same package import 'org.exist.xquery.*'
Check notice on line 1396 in exist-core/src/main/java/org/exist/xquery/XQueryContext.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/XQueryContext.java#L1396
Unnecessary use of fully qualified name 'org.exist.xquery.lock.LockTargetCollector' due to existing same package import 'org.exist.xquery.*'
Check warning on line 286 in exist-core/src/main/java/org/exist/xquery/lock/LockTargetCollector.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/lock/LockTargetCollector.java#L286
Avoid reassigning parameters such as 'expr'
Check warning on line 192 in exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java#L192
Use equals() to compare object references.