Skip to content

[feature] Implement fn:put persistent storage in XQUF PUL

bd8172b
Select commit
Loading
Failed to load commit list.
Closed

Implement W3C XQuery Update Facility 3.0 alongside deprecated legacy syntax #6111

[feature] Implement fn:put persistent storage in XQUF PUL
bd8172b
Select commit
Loading
Failed to load commit list.
Codacy Production / Codacy Static Code Analysis required action Mar 30, 2026 in 0s

28 new issues (0 max.) of at least severity.

Codacy Here is an overview of what got changed by this pull request:

Issues
======
- Added 28
           

Complexity increasing per file
==============================
- exist-core/src/main/java/org/exist/xquery/UserDefinedFunction.java  4
- exist-core/src/main/java/org/exist/xquery/FunctionSignature.java  1
- exist-core/src/main/java/org/exist/xquery/FunctionCall.java  6
- exist-core/src/main/java/org/exist/xquery/parser/XQueryFunctionAST.java  2
- exist-core/src/main/java/org/exist/xquery/XQueryContext.java  11
- exist-core/src/main/java/org/exist/xquery/SequenceConstructor.java  11
- exist-core/src/main/java/org/exist/xquery/DebuggableExpression.java  2
- exist-core/src/main/java/org/exist/xquery/TypeswitchExpression.java  16
- exist-core/src/main/java/org/exist/xquery/PathExpr.java  10
- exist-core/src/main/java/org/exist/dom/memtree/ElementImpl.java  8
- exist-core/src/main/java/org/exist/xquery/ConditionalExpression.java  7
- exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java  275
- exist-core/src/main/java/org/exist/xquery/Expression.java  3
- exist-core/src/main/java/org/exist/dom/memtree/NodeImpl.java  2
- exist-core/src/main/java/org/exist/xquery/AbstractFLWORClause.java  1
- exist-core/src/main/java/org/exist/xquery/SwitchExpression.java  16
- 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  338
- 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/main/java/org/exist/xquery/xquf/UpdatePrimitive.java  18
- exist-core/src/test/java/org/exist/xquery/xquf/XQUFBasicTest.java  118
- exist-core/src/test/java/org/exist/xquery/xquf/XQUFBenchmark.java  42
         

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/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  2
         

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

See this annotation in the file changed.

@codacy-production 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 warning on line 2099 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java

See this annotation in the file changed.

@codacy-production 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

See this annotation in the file changed.

@codacy-production 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

See this annotation in the file changed.

@codacy-production 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

See this annotation in the file changed.

@codacy-production 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 warning on line 2483 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java

See this annotation in the file changed.

@codacy-production 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 warning on line 2618 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java

See this annotation in the file changed.

@codacy-production 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 2694 in exist-core/src/main/java/org/exist/dom/memtree/DocumentImpl.java

See this annotation in the file changed.

@codacy-production 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 455 in exist-core/src/main/java/org/exist/xquery/XQuery.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/XQuery.java#L455

Unnecessary use of fully qualified name 'org.exist.xquery.xquf.PendingUpdateList' due to existing same package import 'org.exist.xquery.*'

Check warning on line 192 in exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java#L192

Use equals() to compare object references.

Check warning on line 279 in exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java#L279

The method 'checkAttributeAndNamespaceConflicts()' has an NPath complexity of 564510, current threshold is 200

Check warning on line 722 in exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java#L722

Avoid unused method parameters such as 'context'.

Check warning on line 722 in exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java#L722

The method 'applyInMemory(XQueryContext, List)' has an NPath complexity of 4377600, current threshold is 200

Check notice on line 823 in exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java#L823

Unnecessary use of fully qualified name 'java.util.ArrayList' due to existing import 'java.util.*'

Check notice on line 824 in exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java#L824

Unnecessary use of fully qualified name 'java.util.ArrayList' due to existing import 'java.util.*'

Check warning on line 1067 in exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java#L1067

The method 'applyPersistent(XQueryContext, List)' has an NPath complexity of 1728039, current threshold is 200

Check notice on line 1543 in exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/PendingUpdateList.java#L1543

Unnecessary use of fully qualified name 'org.exist.storage.serializers.Serializer' due to existing import 'org.exist.storage.serializers.Serializer'

Check warning on line 73 in exist-core/src/main/java/org/exist/xquery/xquf/XQUFInsertExpr.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/XQUFInsertExpr.java#L73

The method 'eval(Sequence, Item)' has an NPath complexity of 6649344, current threshold is 200

Check warning on line 113 in exist-core/src/main/java/org/exist/xquery/xquf/XQUFInsertExpr.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/XQUFInsertExpr.java#L113

Switch statements should be exhaustive, add a default case (or missing enum branches)

Check warning on line 64 in exist-core/src/main/java/org/exist/xquery/xquf/XQUFRenameExpr.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/XQUFRenameExpr.java#L64

The method 'eval(Sequence, Item)' has an NPath complexity of 32256, current threshold is 200

Check notice on line 123 in exist-core/src/main/java/org/exist/xquery/xquf/XQUFRenameExpr.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/XQUFRenameExpr.java#L123

Unnecessary use of fully qualified name 'org.exist.dom.QName.isQName' due to existing import 'org.exist.dom.QName'

Check notice on line 134 in exist-core/src/main/java/org/exist/xquery/xquf/XQUFRenameExpr.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/XQUFRenameExpr.java#L134

These nested if statements could be combined

Check warning on line 65 in exist-core/src/main/java/org/exist/xquery/xquf/XQUFReplaceNodeExpr.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/XQUFReplaceNodeExpr.java#L65

The method 'eval(Sequence, Item)' has an NPath complexity of 18432, current threshold is 200

Check warning on line 63 in exist-core/src/main/java/org/exist/xquery/xquf/XQUFReplaceValueExpr.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/XQUFReplaceValueExpr.java#L63

The method 'eval(Sequence, Item)' has an NPath complexity of 384, current threshold is 200

Check warning on line 196 in exist-core/src/main/java/org/exist/xquery/xquf/XQUFTransformExpr.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

exist-core/src/main/java/org/exist/xquery/xquf/XQUFTransformExpr.java#L196

The method 'deepCopyNode(Sequence)' has an NPath complexity of 968, current threshold is 200