You are viewing a plain text version of this content. The canonical link for it is here.
Posted to builds@geaflow.apache.org by GitBox <gi...@apache.org> on 2026/01/09 03:28:21 UTC

[GH] (geaflow/master): Workflow run "npm_and_yarn in /geaflow-console/geaflow-web for react-router - Update #1204499280" failed!

The GitHub Actions job "npm_and_yarn in /geaflow-console/geaflow-web for react-router - Update #1204499280" on geaflow.git/master has failed.
Run started by GitHub user dependabot[bot] (triggered by dependabot[bot]).

Head commit for run:
f891ede132df65026ff71aa43f83a12dcfdbecdd / Weichen Zhao <61...@users.noreply.github.com>
feat: add ISO-GQL PROPERTY_EXISTS predicate (#359) (#702)

* feat: add ISO-GQL PROPERTY_EXISTS predicate (#359)

Implement PROPERTY_EXISTS function according to ISO-GQL Section 19.13.

Features:
- ISO-GQL compliant PROPERTY_EXISTS predicate
- Three-valued logic support (True/False/NULL)
- Support for vertices, edges, and rows
- Comprehensive unit tests and SQL test cases

Implementation:
- Add PropertyExists UDF class
- Register function in BuildInSqlFunctionTable
- Add PropertyExistsTest with 5 test cases (100% pass)
- Add 3 SQL integration test cases

Testing:
- Unit tests: 5/5 passed
- Checkstyle: 0 violations
- Build: SUCCESS

Closes #359

* refactor: enhance PROPERTY_EXISTS with utility layer and validation (#359)

Refactor PROPERTY_EXISTS to follow GeaFlow's established ISO-GQL predicate
pattern by introducing PropertyExistsFunctions utility class.

This aligns PropertyExists with IsSourceOf/IsDestinationOf implementation
and addresses technical debt from the initial implementation.

**Architecture Improvements:**
- Add PropertyExistsFunctions utility class (three-layer pattern)
  * UDF → Utility → Business Logic
- Delegate all eval() methods to utility class
- Implement type validation with IllegalArgumentException
- Add property name validation (null/empty checks)
- Maintain ISO-GQL three-valued logic (NULL → null)

**Error Handling:**
- Invalid element type → clear error messages with type info
- NULL/empty property name → descriptive error messages
- Consistent with SourceDestinationFunctions error handling

**Testing:**
- Expand from 4 to 13 tests (+225% coverage)
- Add 9 error handling tests:
  * Invalid element types (String, Integer)
  * NULL/empty/whitespace property names
  * Error message validation
  * Type-specific overload testing
- All 13/13 tests pass

**Code Quality:**
- Checkstyle: 0 violations
- Comprehensive Javadoc with ISO-GQL Section 19.13 reference
- Design decision documentation
- Implementation notes for Row interface limitations

**Implementation Strategy:**
- Runtime validation follows compile-time checking approach
- Row interface indexed access documented
- Future runtime schema validation options identified

**Files:**
- NEW: PropertyExistsFunctions.java (137 lines)
- MOD: PropertyExists.java (refactored to delegation)
- MOD: PropertyExistsTest.java (comprehensive tests)

**Build Status:**
- Tests: 13 run, 0 failures, 0 errors
- Checkstyle: PASS
- Build: SUCCESS

Report URL: https://github.com/apache/geaflow/actions/runs/20840166945

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: builds-unsubscribe@geaflow.apache.org
For additional commands, e-mail: builds-help@geaflow.apache.org