Skip to content

Cypher : added 418 tests for Cypher Neo4J functions#3428

Draft
ExtReMLapin wants to merge 15 commits intoArcadeData:mainfrom
ExtReMLapin:more_tests
Draft

Cypher : added 418 tests for Cypher Neo4J functions#3428
ExtReMLapin wants to merge 15 commits intoArcadeData:mainfrom
ExtReMLapin:more_tests

Conversation

@ExtReMLapin
Copy link
Contributor

@ExtReMLapin ExtReMLapin commented Feb 15, 2026

What does this PR do?

Based on neo4j documentation https://neo4j.com/docs/cypher-manual/current/functions/

Motivation

1:1 feature set compatibility

Additional Notes

Claude wrote all of this , I did not review all functions individually

mvn test -pl engine -Dtest="com.arcadedb.query.opencypher.functions.*Comprehensive*"

Tests run: 594, Failures: 16, Errors: 55, Skipped: 0 after 58da446

As of right now :

  • Something I did wrong with the way i try to detect exceptions
  • Point in arcadedb is compatible with multiple representation :
    • carthesian (2d or 3d)
    • WGS84 (2d or 3d)
  • more ....

Checklist

  • I have run the build using mvn clean package command
  • My unit tests cover both failure and success scenarios

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @ExtReMLapin, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands the test coverage for OpenCypher functions within ArcadeDB. It introduces a total of 418 new comprehensive tests, meticulously designed to align with Neo4j's Cypher documentation, ensuring a high degree of feature set compatibility. The added tests span a broad spectrum of function types, from data aggregation and list manipulation to complex mathematical, spatial, and temporal operations, enhancing the robustness and reliability of the OpenCypher implementation.

Highlights

  • Extensive Test Coverage: Introduced 418 new comprehensive tests for a wide range of OpenCypher functions, significantly expanding the existing test suite.
  • Neo4j Compatibility: Ensured 1:1 feature set compatibility with Neo4j's Cypher documentation across all tested function categories.
  • Function Categories Covered: Added tests for aggregating, list, mathematical (logarithmic, numeric, trigonometric), predicate, scalar, spatial, string, and temporal functions.
  • AI-Assisted Development Note: Included a note from the author indicating that the tests were AI-generated and not individually reviewed, which might warrant additional human review.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • engine/src/test/java/com/arcadedb/query/opencypher/functions/OpenCypherAggregatingFunctionsComprehensiveTest.java
    • Added comprehensive tests for OpenCypher aggregating functions including avg(), collect(), count(), max(), min(), percentileCont(), percentileDisc(), stDev(), stDevP(), and sum().
  • engine/src/test/java/com/arcadedb/query/opencypher/functions/OpenCypherListFunctionsComprehensiveTest.java
    • Added comprehensive tests for OpenCypher list functions, covering coll.* functions, keys(), labels(), nodes(), range(), reduce(), relationships(), reverse(), tail(), and to*List() functions.
  • engine/src/test/java/com/arcadedb/query/opencypher/functions/OpenCypherMathLogarithmicFunctionsComprehensiveTest.java
    • Added comprehensive tests for OpenCypher mathematical logarithmic functions, including e(), exp(), log(), log10(), and sqrt().
  • engine/src/test/java/com/arcadedb/query/opencypher/functions/OpenCypherMathNumericFunctionsComprehensiveTest.java
    • Added comprehensive tests for OpenCypher mathematical numeric functions, covering abs(), ceil(), floor(), isNaN(), rand(), round(), and sign().
  • engine/src/test/java/com/arcadedb/query/opencypher/functions/OpenCypherMathTrigonometricFunctionsComprehensiveTest.java
    • Added comprehensive tests for OpenCypher mathematical trigonometric functions, including acos(), asin(), atan(), atan2(), cos(), cosh(), cot(), coth(), degrees(), haversin(), pi(), radians(), sin(), sinh(), tan(), and tanh().
  • engine/src/test/java/com/arcadedb/query/opencypher/functions/OpenCypherPredicateFunctionsComprehensiveTest.java
    • Added comprehensive tests for OpenCypher predicate functions, covering all(), allReduce(), any(), exists(), isEmpty(), none(), and single().
  • engine/src/test/java/com/arcadedb/query/opencypher/functions/OpenCypherScalarFunctionsComprehensiveTest.java
    • Added comprehensive tests for OpenCypher scalar functions, including char_length(), character_length(), coalesce(), elementId(), endNode(), head(), id(), last(), length(), nullIf(), properties(), randomUUID(), size(), startNode(), timestamp(), toBoolean(), toBooleanOrNull(), toFloat(), toFloatOrNull(), toInteger(), toIntegerOrNull(), type(), and valueType().
  • engine/src/test/java/com/arcadedb/query/opencypher/functions/OpenCypherSpatialFunctionsComprehensiveTest.java
    • Added comprehensive tests for OpenCypher spatial functions, covering point(), point.distance(), and point.withinBBox().
  • engine/src/test/java/com/arcadedb/query/opencypher/functions/OpenCypherStringFunctionsComprehensiveTest.java
    • Added comprehensive tests for OpenCypher string functions, including btrim(), left(), lower(), ltrim(), normalize(), replace(), reverse(), right(), rtrim(), split(), substring(), toString(), toStringOrNull(), toUpper(), and trim().
  • engine/src/test/java/com/arcadedb/query/opencypher/functions/OpenCypherTemporalFunctionsComprehensiveTest.java
    • Added comprehensive tests for OpenCypher temporal functions, covering duration(), date(), datetime(), localdatetime(), localtime(), time(), and format() functions, along with their sub-functions.
  • engine/src/test/java/com/arcadedb/query/opencypher/functions/OpenCypherVectorFunctionsComprehensiveTest.java
    • Added comprehensive tests for OpenCypher vector functions, including vector(), vector.similarity.cosine(), vector.similarity.euclidean(), vector_dimension_count(), vector_distance(), and vector_norm().
Activity
  • No human activity (comments, reviews) has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This PR adds a comprehensive suite of tests for Cypher functions, which is a great addition for ensuring compatibility and correctness. However, since the code was AI-generated and not fully reviewed, I've found several areas that need attention. My main concerns are:

  1. The assertion style is often verbose and can be simplified (e.g., assertThat(result.hasNext()).isTrue() instead of assertThat(result.hasNext() != false).isTrue()).
  2. There appear to be inconsistencies in the expected behavior of functions that compare different data types (like min(), max(), coll.sort()), which may not align with Neo4j's documented behavior. This needs clarification.
  3. Many tests have weak assertions (e.g., just checking for non-null) and could be made more specific to better validate the function's output.
  4. I've identified a few tests that are either flaky or incomplete.

I've left specific comments with suggestions for improvement. Addressing these points will significantly improve the quality and reliability of this new test suite.

Comment on lines +384 to +393
void collSortBasic() {
final ResultSet result = database.command("opencypher",
"RETURN coll.sort([true, 'a', 1, 2]) AS result");
Assertions.assertThat(result.hasNext() != false).isTrue();
@SuppressWarnings("unchecked")
final List<Object> sorted = (List<Object>) result.next().getProperty("result");
assertThat(sorted).hasSize(4);
// Cypher ordering: strings < booleans < numbers
assertThat(sorted.get(0)).isEqualTo("a");
assertThat(sorted.get(1)).isEqualTo(true);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The comment // Cypher ordering: strings < booleans < numbers and the subsequent assertions appear to contradict the standard Neo4j Cypher type ordering, which is numbers < strings < booleans. This inconsistency could be confusing and may indicate an issue with either the test's assumption or the underlying implementation's sorting logic. Please clarify the expected sorting behavior to ensure it aligns with the goal of Neo4j compatibility.

Comment on lines +445 to +449
void sizeString() {
final ResultSet result = database.command("opencypher",
"MATCH (a) WHERE size(a.name) > 6 RETURN size(a.name) AS result");
Assertions.assertThat(result.hasNext() != false).isTrue();
assertThat(((Number) result.next().getProperty("result")).intValue()).isEqualTo(7);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

This test is potentially flaky because it queries for names longer than 6 characters without an ORDER BY clause and then asserts a specific size (7, which corresponds to 'Charlie'). The query could return any of the matching names first, and the test would fail if it's not 'Charlie'.

To make this test deterministic, you should either make the query more specific (e.g., MATCH (a:Administrator {name: 'Charlie'})) or assert a property that holds true for all results (e.g., isGreaterThan(6)).


@BeforeEach
void setUp() {
database = new DatabaseFactory("./target/databases/testOpenCypherTemporalFunctions").create();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The database path ./target/databases/... is inconsistent with other test files in this PR, which use ./databases/.... For consistency across the test suite, it's better to use the same base directory for test databases.

Suggested change
database = new DatabaseFactory("./target/databases/testOpenCypherTemporalFunctions").create();
database = new DatabaseFactory("./databases/testOpenCypherTemporalFunctions").create();

final ResultSet result = database.command("opencypher",
"RETURN duration({days: 14, hours: 16, minutes: 12}) AS result");
Assertions.assertThat(result.hasNext() != false).isTrue();
Assertions.assertThat(result.next().getProperty("result") != null).isTrue();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This test only asserts that the result is not null, which is a very weak validation. To make the test more meaningful, it should validate the actual content or properties of the created duration object. For example, you could check if the duration corresponds to 14 days, 16 hours, and 12 minutes. This applies to many other tests in this file that only check for non-null results.

Comment on lines +906 to +914
void durationArithmetic() {
final ResultSet result = database.command("opencypher",
"WITH duration({days: 10}) AS dur1, duration({hours: 24}) AS dur2 " +
"RETURN dur1 AS d1, dur2 AS d2");
Assertions.assertThat(result.hasNext() != false).isTrue();
final var row = result.next();
Assertions.assertThat(row.getProperty("d1") != null).isTrue();
Assertions.assertThat(row.getProperty("d2") != null).isTrue();
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The test name durationArithmetic is misleading as no arithmetic operation is performed. The test only creates two duration objects and returns them. To properly test duration arithmetic, you should perform an operation like addition or subtraction and assert the result (e.g., RETURN dur1 + dur2 AS result).


@BeforeEach
void setUp() {
database = new DatabaseFactory("./target/databases/testOpenCypherVectorFunctions").create();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The database path ./target/databases/... is inconsistent with other test files in this PR, which typically use ./databases/.... For consistency across the test suite, please use the same base directory for test databases.

Suggested change
database = new DatabaseFactory("./target/databases/testOpenCypherVectorFunctions").create();
database = new DatabaseFactory("./databases/testOpenCypherVectorFunctions").create();

final ResultSet result = database.command("opencypher",
"RETURN vector([1, 2, 3], 3, INTEGER) AS result");
Assertions.assertThat(result.hasNext() != false).isTrue();
Assertions.assertThat(result.next().getProperty("result") != null).isTrue();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This test only asserts that the created vector is not null. This is a weak assertion. It would be much more valuable to assert the properties of the vector, such as its dimensions and values, to ensure it was created correctly. This applies to several other tests in this file that only check for non-null results.

@mergify
Copy link
Contributor

mergify bot commented Feb 15, 2026

🧪 CI Insights

Here's what we observed from your CI run for 99aa587.

🟢 All jobs passed!

But CI Insights is watching 👀

@ExtReMLapin
Copy link
Contributor Author

ExtReMLapin commented Feb 15, 2026

[ERROR] Failures: 
[ERROR]   OpenCypherAggregatingFunctionsComprehensiveTest.collectWithNulls:122 
Expecting actual:
  [1L, 2L, 3L, 4L]
to contain exactly (and in same order):
  [1, 2, 3, 4]
but some elements were not found:
  [1, 2, 3, 4]
and others were not expected:
  [1L, 2L, 3L, 4L]

[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertIndexTooLargeRaisesError:247 
Expecting code to raise a throwable.
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertNegativeIndexRaisesError:241 
Expecting code to raise a throwable.
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveIndexTooLargeRaisesError:366 
Expecting code to raise a throwable.
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveNegativeIndexRaisesError:360 
Expecting code to raise a throwable.
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.cothZeroReturnsNaN:297 
expected: NaN
 but was: Infinity
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.isEmptyString:241 
expected: "Jessica Chastain"
 but was: "Keanu Reeves"
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.isEmptyStringFalse:249 
expected: 5
 but was: 0
[ERROR]   OpenCypherScalarFunctionsComprehensiveTest.propertiesMap:402 
Expecting map:
  {"a"=1L, "b"="test"}
to contain entries:
  ["a"=1]
but the following map entries had different values:
  ["a"=1L (expected: 1)]
[ERROR]   OpenCypherScalarFunctionsComprehensiveTest.toBooleanOrNullInvalid:576 
Expecting value to be true but was false
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.leftNegativeLengthRaisesError:147 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.leftNullLengthRaisesError:141 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rightNegativeLengthRaisesError:372 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rightNullLengthRaisesError:366 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.stringFunctionsChaining:674 
expected: "hello world"
 but was: "  hello world  "
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.substringNegativeLengthRaisesError:502 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.substringNegativeStartRaisesError:496 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.substringNullStartRaisesError:490 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.trimWithBothSpecification:623 
expected: "hello"
 but was: null
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.trimWithLeadingSpecification:630 
expected: "helloxxx"
 but was: null
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.trimWithTrailingSpecification:637 
expected: "xxxhello"
 but was: null
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorNullDimension:106 
Expecting value to be true but was false
[ERROR] Errors: 
[ERROR]   OpenCypherAggregatingFunctionsComprehensiveTest.stDevNull:346 NullPointer Cannot invoke "java.lang.Number.doubleValue()" because the return value of "com.arcadedb.query.sql.executor.Result.getProperty(String)" is null
[ERROR]   OpenCypherAggregatingFunctionsComprehensiveTest.stDevPNull:366 NullPointer Cannot invoke "java.lang.Number.doubleValue()" because the return value of "com.arcadedb.query.sql.executor.Result.getProperty(String)" is null
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collDistinctBasic:81 » CommandExecution Unknown function: coll.distinct
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collDistinctEmptyList:105 » CommandExecution Unknown function: coll.distinct
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collDistinctMixedTypes:91 » CommandExecution Unknown function: coll.distinct
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collDistinctNull:114 » CommandExecution Unknown function: coll.distinct
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collFlattenDefaultDepth:124 » CommandExecution Unknown function: coll.flatten
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collFlattenDepthZero:148 » CommandExecution Unknown function: coll.flatten
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collFlattenNull:159 » CommandExecution Unknown function: coll.flatten
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collFlattenWithDepth:138 » CommandExecution Unknown function: coll.flatten
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collIndexOfBasic:173 » CommandExecution Unknown function: coll.indexof
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collIndexOfFirstMatch:189 » CommandExecution Unknown function: coll.indexof
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collIndexOfNotFound:181 » CommandExecution Unknown function: coll.indexof
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collIndexOfNull:196 » CommandExecution Unknown function: coll.indexof
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertAtEnd:233 » CommandExecution Unknown function: coll.insert
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertAtStart:223 » CommandExecution Unknown function: coll.insert
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertBasic:210 » CommandExecution Unknown function: coll.insert
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertNull:254 » CommandExecution Unknown function: coll.insert
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collMaxBasic:268 » CommandExecution Unknown function: coll.max
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collMaxEmptyList:283 » CommandExecution Unknown function: coll.max
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collMaxNull:290 » CommandExecution Unknown function: coll.max
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collMaxNumbers:276 » CommandExecution Unknown function: coll.max
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collMinBasic:300 » CommandExecution Unknown function: coll.min
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collMinEmptyList:315 » CommandExecution Unknown function: coll.min
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collMinNull:322 » CommandExecution Unknown function: coll.min
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collMinNumbers:308 » CommandExecution Unknown function: coll.min
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveBasic:332 » CommandExecution Unknown function: coll.remove
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveFirst:342 » CommandExecution Unknown function: coll.remove
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveLast:352 » CommandExecution Unknown function: coll.remove
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveNull:373 » CommandExecution Unknown function: coll.remove
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collSortBasic:387 » CommandExecution Unknown function: coll.sort
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collSortNull:419 » CommandExecution Unknown function: coll.sort
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collSortNumbers:400 » CommandExecution Unknown function: coll.sort
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collSortStrings:410 » CommandExecution Unknown function: coll.sort
[ERROR]   OpenCypherListFunctionsComprehensiveTest.listFunctionsCombined:775 » CommandExecution Unknown function: coll.sort
[ERROR]   OpenCypherListFunctionsComprehensiveTest.toBooleanListBasic:664 » CommandParsing Error parsing OpenCypher query: RETURN toBooleanList(['a string', true, 'false', null, ['A','B']]) AS result
[ERROR]   OpenCypherListFunctionsComprehensiveTest.toBooleanListNull:679 » CommandParsing Error parsing OpenCypher query: RETURN toBooleanList(null) AS result
[ERROR]   OpenCypherListFunctionsComprehensiveTest.toBooleanListNullsInList:687 » CommandParsing Error parsing OpenCypher query: RETURN toBooleanList([null, null]) AS result
[ERROR]   OpenCypherListFunctionsComprehensiveTest.toFloatListBasic:699 » CommandParsing Error parsing OpenCypher query: RETURN toFloatList(['a string', 2.5, '3.14159', null, ['A','B']]) AS result
[ERROR]   OpenCypherListFunctionsComprehensiveTest.toFloatListNull:714 » CommandParsing Error parsing OpenCypher query: RETURN toFloatList(null) AS result
[ERROR]   OpenCypherListFunctionsComprehensiveTest.toIntegerListBasic:724 » CommandParsing Error parsing OpenCypher query: RETURN toIntegerList(['a string', 2, '5', null, ['A','B']]) AS result
[ERROR]   OpenCypherListFunctionsComprehensiveTest.toIntegerListNull:739 » CommandParsing Error parsing OpenCypher query: RETURN toIntegerList(null) AS result
[ERROR]   OpenCypherListFunctionsComprehensiveTest.toStringListBasic:749 » CommandParsing Error parsing OpenCypher query: RETURN toStringList(['already a string', 2, null, ['A','B']]) AS result
[ERROR]   OpenCypherListFunctionsComprehensiveTest.toStringListNull:763 » CommandParsing Error parsing OpenCypher query: RETURN toStringList(null) AS result
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.expZero:76 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.log10ConversionFromLog:299 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.log10Hundred:180 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.log10One:166 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.log10Ten:173 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.log10Thousand:187 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.logE:128 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.logExpIdentity:271 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.logOne:121 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.sqrtExp:311 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.sqrtFour:232 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.sqrtNine:239 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.sqrtOne:225 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.sqrtSquareIdentity:289 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathLogarithmicFunctionsComprehensiveTest.sqrtZero:218 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathNumericFunctionsComprehensiveTest.roundWithHalfEvenMode:281 » CommandExecution round() requires one or two arguments
[ERROR]   OpenCypherMathNumericFunctionsComprehensiveTest.roundWithPrecisionAndMode:261 » CommandExecution round() requires one or two arguments
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.acosBasic:59 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.asinZero:107 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.atanZero:148 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.cosBasic:210 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.cosPi:217 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.coshZero:240 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.degreesFrom2Pi:327 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.degreesFromPi:313 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.degreesFromZero:320 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.degreesRadiansRoundtrip:532 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.haversinPi:350 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.haversinZero:343 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.radiansFromZero:390 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.sinPiOver2:420 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.sinZero:413 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.sinhZero:443 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.tanZero:469 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.tanhZero:492 ClassCast class java.lang.Long cannot be cast to class java.lang.Double (java.lang.Long and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.allReduceBasic:129 ClassCast class java.util.ArrayList cannot be cast to class java.lang.Boolean (java.util.ArrayList and java.lang.Boolean are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.allReduceEmptyList:145 ClassCast class java.util.ArrayList cannot be cast to class java.lang.Boolean (java.util.ArrayList and java.lang.Boolean are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.allReduceFalse:137 ClassCast class java.util.ArrayList cannot be cast to class java.lang.Boolean (java.util.ArrayList and java.lang.Boolean are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.allReduceWithMap:154 ClassCast class java.util.LinkedHashMap cannot be cast to class java.lang.Boolean (java.util.LinkedHashMap and java.lang.Boolean are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.allWithPath:106 » CommandParsing Error parsing OpenCypher query: MATCH p = (a:Person {name: 'Keanu Reeves'})-[]-{2}() WHERE all(x IN nodes(p) WHERE x.age < 60) RETURN count(p) AS pathCount
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.anyWithPath:187 » CommandParsing Error parsing OpenCypher query: MATCH p = (n:Person {name: 'Keanu Reeves'})-[:KNOWS]-{3}() WHERE any(rel IN relationships(p) WHERE rel.since < 2000) RETURN count(p) AS pathCount
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.existsNull:230 » CommandExecution Unknown function: exists
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.existsWithPattern:207 » CommandParsing Error parsing OpenCypher query: MATCH (p:Person) RETURN p.name AS name, exists((p)-[:ACTED_IN]->()) AS hasActedIn ORDER BY name
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.noneWithPath:310 » CommandParsing Error parsing OpenCypher query: MATCH p = (n:Person {name: 'Keanu Reeves'})-[]-{2}() WHERE none(x IN nodes(p) WHERE x.age > 60) RETURN count(p) AS pathCount
[ERROR]   OpenCypherScalarFunctionsComprehensiveTest.elementIdNode:166 » CommandExecution Unknown function: elementid
[ERROR]   OpenCypherScalarFunctionsComprehensiveTest.elementIdNull:185 » CommandExecution Unknown function: elementid
[ERROR]   OpenCypherScalarFunctionsComprehensiveTest.elementIdRelationship:176 » CommandExecution Unknown function: elementid
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian2D_Basic:126 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian2D_WithCRS:137 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian2D_WithSRID:146 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian3D_Basic:157 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian3D_WithCRS:169 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian3D_WithSRID:178 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceBetweenNodes:359 » CommandExecution Error executing Cypher command: CREATE (a:Location {name: 'A', pos: point({x: 0.0, y: 0.0})}), (b:Location {name: 'B', pos: point({x: 3.0, y: 4.0})})
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceCartesian2D:208 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceCartesian3D:218 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceNullHandling:250 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceSamePoint:241 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceWGS84:230 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointFunctionsCombined:337 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointNullHandling:189 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointStoredInNode:346 » CommandExecution Error executing Cypher command: CREATE (loc:Location {name: 'Copenhagen', position: point({longitude: 12.564590, latitude: 55.672874})})
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_2D_WithLongitudeLatitude:62 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_2D_WithSRID:83 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_2D_WithXY:74 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_3D_WithLongitudeLatitudeHeight:94 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_3D_WithSRID:115 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_3D_WithXYZ:106 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithNullCoordinate:197 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxInside:268 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxNullHandling:314 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxOnEdge:292 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxOutside:280 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxWGS84:305 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.btrimBasicWhitespace:59 » CommandParsing Error parsing OpenCypher query: RETURN btrim('   hello    ') AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.btrimEdgeCases:92 » CommandParsing Error parsing OpenCypher query: RETURN btrim('') AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.btrimNullHandling:73 » CommandParsing Error parsing OpenCypher query: RETURN btrim(null) AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.btrimWithCustomCharacter:66 » CommandParsing Error parsing OpenCypher query: RETURN btrim('xxyyhelloxyxy', 'xy') AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.lowerBasic:155 » CommandParsing Error parsing OpenCypher query: RETURN lower('HELLO') AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.lowerMixedCase:176 » CommandParsing Error parsing OpenCypher query: RETURN lower('HeLLo WoRLd') AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.lowerNullHandling:169 » CommandParsing Error parsing OpenCypher query: RETURN lower(null) AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.ltrimNullHandling:204 » CommandExecution lTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.ltrimWithCustomCharacter:193 » CommandExecution lTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.normalizeBasicNFC:222 » CommandExecution Unknown function: normalize
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.normalizeNullHandling:251 » CommandExecution Unknown function: normalize
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.normalizeWithNFD:236 » CommandParsing Error parsing OpenCypher query: RETURN normalize('é', NFD) AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.normalizeWithNFKC:229 » CommandParsing Error parsing OpenCypher query: RETURN normalize('\uFE64', NFKC) = '\u003C' AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.normalizeWithNFKD:243 » CommandParsing Error parsing OpenCypher query: RETURN normalize('test', NFKD) AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.replaceNullHandling:285 » NullPointer Cannot invoke "Object.toString()" because "args[1]" is null
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.replaceWithLimit:267 » CommandExecution replace() requires exactly 3 arguments: replace(original, search, replace)
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rtrimNullHandling:399 » CommandExecution rTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rtrimWithCustomCharacter:388 » CommandExecution rTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.splitNullHandling:447 » NullPointer Cannot invoke "Object.toString()" because "args[1]" is null
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.trimNullHandling:654 » CommandParsing Error parsing OpenCypher query: RETURN trim(BOTH null FROM null) AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.upperBasic:591 » CommandParsing Error parsing OpenCypher query: RETURN upper('hello') AS result
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.dateRealtimeWithTimezone:285 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.datetimeRealtimeWithTimezone:432 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.localdatetimeRealtimeWithTimezone:543 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.localtimeRealtimeWithTimezone:654 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.timeRealtimeWithTimezone:765 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDimensionAndSizeConsistency:350 » CommandParsing Error parsing OpenCypher query: WITH vector([1, 2, 3, 4, 5], 5, INTEGER) AS v RETURN vector_dimension_count(v) AS dimCount, size(v) AS sizeResult
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDimensionCountBasic:203 » CommandParsing Error parsing OpenCypher query: RETURN vector_dimension_count(vector([1, 2, 3], 3, INTEGER8)) AS result
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDimensionCountLargeDimension:211 » CommandParsing Error parsing OpenCypher query: RETURN vector_dimension_count(vector([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10, FLOAT32)) AS result
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDimensionCountSingleDimension:219 » CommandParsing Error parsing OpenCypher query: RETURN vector_dimension_count(vector([42], 1, INTEGER)) AS result
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDistanceDot:268 ClassCast class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDistanceEuclidean:232 ClassCast class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDistanceEuclideanSquared:238 » CommandParsing Error parsing OpenCypher query: RETURN vector_distance(vector([1, 2, 3], 3, INTEGER8), vector([4, 5, 6], 3, INTEGER8), EUCLIDEAN_SQUARED) AS result
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDistanceHamming:274 » CommandParsing Error parsing OpenCypher query: RETURN vector_distance(vector([1, 2, 3], 3, INTEGER8), vector([1, 2, 4], 3, INTEGER8), HAMMING) AS result
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDistanceIdenticalVectors:286 ClassCast class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDistanceManhattan:250 ClassCast class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorFromString:65 » CommandExecution Vector argument must be a list of numbers
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorMultipleDistanceMetrics:415 ClassCast class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorNormAndDistanceRelationship:368 ClassCast class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorNormEuclidean:297 ClassCast class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorNormManhattan:306 ClassCast class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorNormUnitVector:324 ClassCast class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorNormZeroVector:315 ClassCast class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorSimilarityAndDistanceComparison:342 ClassCast class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
[INFO]
[ERROR] Tests run: 594, Failures: 22, Errors: 162, Skipped: 0

@ExtReMLapin
Copy link
Contributor Author

Not sure what should be done @lvca

  • Merge the tests that are legitimate before the bugfixes
  • fix the bugs in this branch (I'll need some help)

@ExtReMLapin ExtReMLapin marked this pull request as ready for review February 15, 2026 08:49
@codecov
Copy link

codecov bot commented Feb 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.05%. Comparing base (58da446) to head (703eba0).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3428      +/-   ##
==========================================
+ Coverage   62.37%   63.05%   +0.68%     
==========================================
  Files        1291     1291              
  Lines       85339    85339              
  Branches    17532    17532              
==========================================
+ Hits        53226    53814     +588     
+ Misses      24535    23948     -587     
+ Partials     7578     7577       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ExtReMLapin
Copy link
Contributor Author

With latest changes, from

Tests run: 594, Failures: 22, Errors: 162, Skipped: 0

to

Tests run: 594, Failures: 34, Errors: 103, Skipped: 0

@ExtReMLapin
Copy link
Contributor Author

Down to

Tests run: 594, Failures: 23, Errors: 59, Skipped: 0

[ERROR] Failures: 
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collFlattenDefaultDepth:131 
Expecting actual:
  "c"
to be an instance of:
  java.util.List
but was instance of:
  java.lang.String
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collFlattenDepthZero:153 
Expecting actual:
  "b"
to be an instance of:
  java.util.List
but was instance of:
  java.lang.String
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collFlattenNull:164 
Expecting value to be true but was false
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collIndexOfNull:201 
Expecting value to be true but was false
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertIndexTooLargeRaisesError:247 
Expecting code to raise a throwable.
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertNegativeIndexRaisesError:241 
Expecting code to raise a throwable.
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveIndexTooLargeRaisesError:366 
Expecting code to raise a throwable.
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveNegativeIndexRaisesError:360 
Expecting code to raise a throwable.
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.cothZeroReturnsNaN:316 
expected: NaN
 but was: Infinity
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.existsNull:231 
Expecting value to be true but was false
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.isEmptyString:241 
expected: "Jessica Chastain"
 but was: "Keanu Reeves"
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.isEmptyStringFalse:249 
expected: 5
 but was: 0
[ERROR]   OpenCypherScalarFunctionsComprehensiveTest.toBooleanOrNullInvalid:576 
Expecting value to be true but was false
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.leftNegativeLengthRaisesError:147 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.leftNullLengthRaisesError:141 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rightNegativeLengthRaisesError:372 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rightNullLengthRaisesError:366 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.stringFunctionsChaining:674 
expected: "hello world"
 but was: "  hello world  "
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.substringNegativeLengthRaisesError:502 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.substringNegativeStartRaisesError:496 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.substringNullStartRaisesError:490 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.trimNullHandling:652 
Expecting value to be true but was false
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorNullDimension:106 
Expecting value to be true but was false
[ERROR] Errors: 
[ERROR]   OpenCypherAggregatingFunctionsComprehensiveTest.stDevNull:346 NullPointer Cannot invoke "java.lang.Number.doubleValue()" because the return value of "com.arcadedb.query.sql.executor.Result.getProperty(String)" is null
[ERROR]   OpenCypherAggregatingFunctionsComprehensiveTest.stDevPNull:366 NullPointer Cannot invoke "java.lang.Number.doubleValue()" because the return value of "com.arcadedb.query.sql.executor.Result.getProperty(String)" is null
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertNull:258 » NullPointer Cannot invoke "java.lang.Number.intValue()" because "args[1]" is null
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collMinBasic:301 ClassCast class java.lang.String cannot be cast to class java.lang.Boolean (java.lang.String and java.lang.Boolean are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveNull:377 » NullPointer Cannot invoke "java.lang.Number.intValue()" because "args[1]" is null
[ERROR]   OpenCypherMathNumericFunctionsComprehensiveTest.roundWithHalfEvenMode:281 » CommandExecution round() requires one or two arguments
[ERROR]   OpenCypherMathNumericFunctionsComprehensiveTest.roundWithPrecisionAndMode:261 » CommandExecution round() requires one or two arguments
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.allWithPath:106 » CommandParsing Error parsing OpenCypher query: MATCH p = (a:Person {name: 'Keanu Reeves'})-[]-{2}() WHERE all(x IN nodes(p) WHERE x.age < 60) RETURN count(p) AS pathCount
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.anyWithPath:187 » CommandParsing Error parsing OpenCypher query: MATCH p = (n:Person {name: 'Keanu Reeves'})-[:KNOWS]-{3}() WHERE any(rel IN relationships(p) WHERE rel.since < 2000) RETURN count(p) AS pathCount
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.existsWithPattern:207 » CommandParsing Error parsing OpenCypher query: MATCH (p:Person) RETURN p.name AS name, exists((p)-[:ACTED_IN]->()) AS hasActedIn ORDER BY name
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.noneWithPath:310 » CommandParsing Error parsing OpenCypher query: MATCH p = (n:Person {name: 'Keanu Reeves'})-[]-{2}() WHERE none(x IN nodes(p) WHERE x.age > 60) RETURN count(p) AS pathCount
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian2D_Basic:126 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian2D_WithCRS:137 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian2D_WithSRID:146 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian3D_Basic:157 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian3D_WithCRS:169 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian3D_WithSRID:178 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceBetweenNodes:359 » CommandExecution Error executing Cypher command: CREATE (a:Location {name: 'A', pos: point({x: 0.0, y: 0.0})}), (b:Location {name: 'B', pos: point({x: 3.0, y: 4.0})})
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceCartesian2D:208 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceCartesian3D:218 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceNullHandling:250 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceSamePoint:241 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceWGS84:230 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointFunctionsCombined:337 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointNullHandling:189 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointStoredInNode:346 » CommandExecution Error executing Cypher command: CREATE (loc:Location {name: 'Copenhagen', position: point({longitude: 12.564590, latitude: 55.672874})})
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_2D_WithLongitudeLatitude:62 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_2D_WithSRID:83 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_2D_WithXY:74 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_3D_WithLongitudeLatitudeHeight:94 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_3D_WithSRID:115 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_3D_WithXYZ:106 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithNullCoordinate:197 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxInside:268 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxNullHandling:314 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxOnEdge:292 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxOutside:280 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxWGS84:305 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.btrimNullHandling:78 » CommandExecution trim() requires 1 or 3 arguments
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.btrimWithCustomCharacter:67 » CommandExecution trim() requires 1 or 3 arguments
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.ltrimNullHandling:204 » CommandExecution lTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.ltrimWithCustomCharacter:193 » CommandExecution lTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.normalizeWithNFD:236 » CommandParsing Error parsing OpenCypher query: RETURN normalize('é', NFD) AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.normalizeWithNFKC:229 » CommandParsing Error parsing OpenCypher query: RETURN normalize('\uFE64', NFKC) = '\u003C' AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.normalizeWithNFKD:243 » CommandParsing Error parsing OpenCypher query: RETURN normalize('test', NFKD) AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.replaceNullHandling:285 » NullPointer Cannot invoke "Object.toString()" because "args[1]" is null
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.replaceWithLimit:267 » CommandExecution replace() requires exactly 3 arguments: replace(original, search, replace)
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rtrimNullHandling:399 » CommandExecution rTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rtrimWithCustomCharacter:388 » CommandExecution rTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.splitNullHandling:447 » NullPointer Cannot invoke "Object.toString()" because "args[1]" is null
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.dateRealtimeWithTimezone:285 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.datetimeRealtimeWithTimezone:432 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.localdatetimeRealtimeWithTimezone:543 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.localtimeRealtimeWithTimezone:654 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.timeRealtimeWithTimezone:765 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDimensionAndSizeConsistency:356 NullPointer Cannot invoke "java.lang.Number.intValue()" because the return value of "com.arcadedb.query.sql.executor.Result.getProperty(String)" is null 
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDistanceEuclideanSquared:238 » CommandParsing Error parsing OpenCypher query: RETURN vector_distance(vector([1, 2, 3], 3, INTEGER8), vector([4, 5, 6], 3, INTEGER8), EUCLIDEAN_SQUARED) AS result
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDistanceHamming:274 » CommandParsing Error parsing OpenCypher query: RETURN vector_distance(vector([1, 2, 3], 3, INTEGER8), vector([1, 2, 4], 3, INTEGER8), HAMMING) AS result
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorFromString:65 » CommandExecution Vector argument must be a list of numbers
[INFO]
[ERROR] Tests run: 594, Failures: 23, Errors: 59, Skipped: 0
[INFO]

@ExtReMLapin ExtReMLapin marked this pull request as draft February 16, 2026 06:55
ExtReMLapin and others added 2 commits February 16, 2026 07:55
…penCypherAggregatingFunctionsComprehensiveTest.java

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…penCypherAggregatingFunctionsComprehensiveTest.java

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@lvca
Copy link
Contributor

lvca commented Feb 16, 2026

@ExtReMLapin I'd like to release 26.2.1 asap. What's the status of this PR? Could you also please rebase on the latest main (a big refactoring with packages pushed yesterday). Or we can merge this after 26.2.1 is out. WDYT?

@ExtReMLapin
Copy link
Contributor Author

ExtReMLapin commented Feb 16, 2026

@lvca honestly a release with current state should be good enough, much more than the first OpenCypher release

As stated in the first post, as of right now the main issues are :

  1. for :
  • OpenCypherListFunctionsComprehensiveTest.collInsertIndexTooLargeRaisesError
  • OpenCypherListFunctionsComprehensiveTest.collInsertNegativeIndexRaisesError
  • OpenCypherListFunctionsComprehensiveTest.collRemoveIndexTooLargeRaisesError
  • OpenCypherListFunctionsComprehensiveTest.collRemoveNegativeIndexRaisesError
  • OpenCypherStringFunctionsComprehensiveTest.leftNegativeLengthRaisesError
  • OpenCypherStringFunctionsComprehensiveTest.leftNullLengthRaisesError
  • OpenCypherStringFunctionsComprehensiveTest.rightNegativeLengthRaisesError
  • OpenCypherStringFunctionsComprehensiveTest.rightNullLengthRaisesError
  • OpenCypherStringFunctionsComprehensiveTest.substringNegativeLengthRaisesError
  • OpenCypherStringFunctionsComprehensiveTest.substringNegativeStartRaisesError
  • OpenCypherStringFunctionsComprehensiveTest.substringNullStartRaisesError
    I fail to correctly catch the expected error, I'm probably doing something wrong
  1. point() is only taking WGS 84 but should handle 2D , 3D (WSG) and Carthesian (2D and 3D)
  2. Others issues are honestly minor compared to what was found since 3 weeks

latest run :

[ERROR] Failures: 
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertIndexTooLargeRaisesError:247 
Expecting code to raise a throwable.
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertNegativeIndexRaisesError:241 
Expecting code to raise a throwable.
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveIndexTooLargeRaisesError:366 
Expecting code to raise a throwable.
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveNegativeIndexRaisesError:360 
Expecting code to raise a throwable.
[ERROR]   OpenCypherMathTrigonometricFunctionsComprehensiveTest.cothZeroReturnsNaN:316 
expected: NaN
 but was: Infinity
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.existsNull:231 
Expecting value to be true but was false
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.leftNegativeLengthRaisesError:147 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.leftNullLengthRaisesError:141 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rightNegativeLengthRaisesError:372 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rightNullLengthRaisesError:366 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.stringFunctionsChaining:674 
expected: "hello world"
 but was: "  hello world  "
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.substringNegativeLengthRaisesError:502 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.substringNegativeStartRaisesError:496 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.substringNullStartRaisesError:490 
Expecting code to raise a throwable.
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.trimNullHandling:652 
Expecting value to be true but was false
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorNullDimension:106 
Expecting value to be true but was false
[ERROR] Errors: 
[ERROR]   OpenCypherAggregatingFunctionsComprehensiveTest.stDevNull:346 NullPointer Cannot invoke "java.lang.Number.doubleValue()" because the return value of "com.arcadedb.query.sql.executor.Result.getProperty(String)" is null
[ERROR]   OpenCypherAggregatingFunctionsComprehensiveTest.stDevPNull:366 NullPointer Cannot invoke "java.lang.Number.doubleValue()" because the return value of "com.arcadedb.query.sql.executor.Result.getProperty(String)" is null
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collInsertNull:258 » NullPointer Cannot invoke "java.lang.Number.intValue()" because "args[1]" is null
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collMinBasic:301 ClassCast class java.lang.String cannot be cast to class java.lang.Boolean (java.lang.String and java.lang.Boolean are in module java.base of loader 'bootstrap')
[ERROR]   OpenCypherListFunctionsComprehensiveTest.collRemoveNull:377 » NullPointer Cannot invoke "java.lang.Number.intValue()" because "args[1]" is null
[ERROR]   OpenCypherMathNumericFunctionsComprehensiveTest.roundWithHalfEvenMode:281 » CommandExecution round() requires one or two arguments
[ERROR]   OpenCypherMathNumericFunctionsComprehensiveTest.roundWithPrecisionAndMode:261 » CommandExecution round() requires one or two arguments
[ERROR]   OpenCypherPredicateFunctionsComprehensiveTest.existsWithPattern:207 » CommandParsing Error parsing OpenCypher query: MATCH (p:Person) RETURN p.name AS name, exists((p)-[:ACTED_IN]->()) AS hasActedIn ORDER BY name
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian2D_Basic:126 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian2D_WithCRS:137 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian2D_WithSRID:146 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian3D_Basic:157 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian3D_WithCRS:169 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointCartesian3D_WithSRID:178 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceBetweenNodes:359 » CommandExecution Error executing Cypher command: CREATE (a:Location {name: 'A', pos: point({x: 0.0, y: 0.0})}), (b:Location {name: 'B', pos: point({x: 3.0, y: 4.0})})
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceCartesian2D:208 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceCartesian3D:218 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceNullHandling:250 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceSamePoint:241 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointDistanceWGS84:230 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointFunctionsCombined:337 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointNullHandling:189 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointStoredInNode:346 » CommandExecution Error executing Cypher command: CREATE (loc:Location {name: 'Copenhagen', position: point({longitude: 12.564590, latitude: 55.672874})})
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_2D_WithLongitudeLatitude:62 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_2D_WithSRID:83 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_2D_WithXY:74 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_3D_WithLongitudeLatitudeHeight:94 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_3D_WithSRID:115 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWGS84_3D_WithXYZ:106 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithNullCoordinate:197 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxInside:268 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxNullHandling:314 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxOnEdge:292 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxOutside:280 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherSpatialFunctionsComprehensiveTest.pointWithinBBoxWGS84:305 » IllegalArgument point() requires X and Y as parameters
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.btrimNullHandling:78 » CommandExecution trim() requires 1 or 3 arguments
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.btrimWithCustomCharacter:67 » CommandExecution trim() requires 1 or 3 arguments
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.ltrimNullHandling:204 » CommandExecution lTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.ltrimWithCustomCharacter:193 » CommandExecution lTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.normalizeWithNFD:236 » CommandParsing Error parsing OpenCypher query: RETURN normalize('é', NFD) AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.normalizeWithNFKC:229 » CommandParsing Error parsing OpenCypher query: RETURN normalize('\uFE64', NFKC) = '\u003C' AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.normalizeWithNFKD:243 » CommandParsing Error parsing OpenCypher query: RETURN normalize('test', NFKD) AS result
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.replaceNullHandling:285 » NullPointer Cannot invoke "Object.toString()" because "args[1]" is null
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.replaceWithLimit:267 » CommandExecution replace() requires exactly 3 arguments: replace(original, search, replace)
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rtrimNullHandling:399 » CommandExecution rTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.rtrimWithCustomCharacter:388 » CommandExecution rTrim() requires exactly one argument
[ERROR]   OpenCypherStringFunctionsComprehensiveTest.splitNullHandling:447 » NullPointer Cannot invoke "Object.toString()" because "args[1]" is null
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.dateRealtimeWithTimezone:285 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.datetimeRealtimeWithTimezone:432 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.localdatetimeRealtimeWithTimezone:543 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.localtimeRealtimeWithTimezone:654 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherTemporalFunctionsComprehensiveTest.timeRealtimeWithTimezone:765 » DateTimeParse Text 'America/Los_Angeles' could not be parsed at index 0
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDistanceEuclideanSquared:238 » CommandParsing Error parsing OpenCypher query: RETURN vector_distance(vector([1, 2, 3], 3, INTEGER8), vector([4, 5, 6], 3, INTEGER8), EUCLIDEAN_SQUARED) AS result
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorDistanceHamming:274 » CommandParsing Error parsing OpenCypher query: RETURN vector_distance(vector([1, 2, 3], 3, INTEGER8), vector([1, 2, 4], 3, INTEGER8), HAMMING) AS result
[ERROR]   OpenCypherVectorFunctionsComprehensiveTest.vectorFromString:65 » IllegalArgument Vector must be an array or list, found: String
[INFO] 
[ERROR] Tests run: 594, Failures: 16, Errors: 55, Skipped: 0

@ExtReMLapin
Copy link
Contributor Author

Maybe my message wasn’t clear enough, a release without THIS PR is okay, trivial fixes compared to prior 3 weeks fixes

@lvca lvca added this to the 26.3.1 milestone Feb 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants