MLE-12345 Unrevert new optic changes#1065
Conversation
|
Copyright Validation Results ⏭️ Skipped (Excluded) Files
✅ Valid Files
✅ All files have valid copyright headers! |
There was a problem hiding this comment.
Pull request overview
This PR unreverts previously reverted changes that add new Optic functions for MarkLogic Server 12: transitiveClosure, vec.trunc, vec.precision, and fromDocs. These functions enhance graph traversal capabilities, vector operations, and dynamic document-to-row mapping.
Changes:
- Added
transitiveClosuremethod for graph-like structure traversal with configurable path length constraints - Added
vec.truncandvec.precisionfunctions for vector element manipulation - Added
fromDocsfunction withcolumnBuilderandcontexthelpers for dynamic document mapping without TDE templates - Updated VecVector type handling in plan-builder-base.js to return the ServerType object instead of unwrapping it
- Added comprehensive test coverage for all new functions with test data
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| lib/plan-builder-generated.js | Implementation of new Optic functions: transitiveClosure, vec.trunc, vec.precision, fromDocs, columnBuilder, and context with JSDoc documentation |
| lib/plan-builder-base.js | Updated castArg logic to properly handle VecVector ServerType and added PlanTransitiveClosureOptions validation |
| test-basic/transitive-closure.js | New test suite for transitiveClosure with 5 test cases covering various path length configurations |
| test-basic/optic-vector.js | Updated and expanded vector function tests including new tests for vec.trunc and vec.precision |
| test-basic/optic-fromDocs.js | New comprehensive test suite for fromDocs with 6 test cases covering basic usage, defaults, expressions, geospatial queries, and vector operations |
| test-basic/plan-builder-generated.js | Updated vec.base64Decode test with corrected test data and improved documentation |
| test-basic/ssl-min-allow-tls-test.js | Increased timeout from 10000ms to 12000ms to accommodate slower TLS configuration changes |
| test-basic/service-caller.js | Skipped failing test with comment indicating it needs fixing |
| test-app/src/main/ml-data/optic/transitive-closure/transClosureTripleSet.xml | Test data: RDF triples representing parent-child relationships for transitive closure tests |
| test-app/src/main/ml-data/optic/transitive-closure/permissions.properties | Test data permissions configuration |
| test-app/src/main/ml-data/optic/transitive-closure/collections.properties | Test data collection assignments |
rjrudin
left a comment
There was a problem hiding this comment.
This all looks good, but the develop branch is already broken due to npm audit failing. This PR isn't going to affect that, so go ahead and merge this and then do a separate PR for fixing the audit failures - Copilot should be able to bump the dependencies based on each failure.
Unrevert the reverts for the new Optic functions: transitiveClosure, vec.trun and vec.precision, and fromDocs.