Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add explicit Python integration suites for document entity metadata through the existing EntitiesRequest/EntitiesResponse RPC. Deterministic collections cover every Document and DocumentField property, all inferred types, null/missing fields, nested and escaped paths, sample JSON, empty collections/namespaces, entity patterns, updates, preservation of pending writes, and relational regression.
A MongoDB source fixture creates actual unique B-tree, hash, nested-field, and wildcard indexes and verifies every DocumentIndex property. Fixtures use private namespaces/adapters and clean up their data. Explicit runs fail clearly when the new schema or either service is unavailable. PyMongo is imported only when the optional live index fixture runs, preserving regular doctest collection without that dependency.
The runner overlays only the new namespace metadata module onto released Prism 1.9. A dedicated CI workflow pins the companion API/DB revisions, validates the complete Prism Java suite, selects an executable server JAR, starts a MongoDB replica set, and runs both Python suites plus protocol contracts.
The regular CI keeps all 15 Python/OS combinations using compatible runner images; Python 3.9/3.10 on macOS use Intel runners. The adapter matrix matches the six available stores, removing the obsolete Cottontail entry. Server artifact selection verifies the executable JAR instead of renaming an unrestricted wildcard. Production dependency pins remain unchanged.
Companions: polypheny/Polypheny-Prism-API#3 and polypheny/Polypheny-DB#576.
Validation: all 15 metadata live cases and five protocol contracts passed. In an isolated Linux/Python 3.12/OpenJDK 17 container, all 90 regular tests, five documentation doctests, and both Markdown/HTML documentation builds passed. The companion's complete Prism suite passed all 46 tests, plus five index-mapping tests. GitHub validation is complete: all 50 checks on this PR head succeeded, including both metadata workflows, all 15 Python/OS combinations and all six adapters in both push and pull-request runs.
Final GitHub validation: 50/50 checks successful on
52b6d1ccb8364457063e01f52ee0ad19ee559834; no pending or failed checks.JDBC 3.x companion: polypheny/Polypheny-JDBC-Driver#21.