release: v0.6.19 — SPARQL expression surface + differential oracle + fail-closed truncation#60
Merged
Conversation
…fail-closed truncation
Reconcile the Rule 7 source set to 0.6.19 (Cargo.toml + Cargo.lock + pgrdf.control
+ META.json + compose/compose.yml bind-mount + 00-smoke.out), git mv the upgrade
path pgrdf--0.5.1--0.6.{18->19}.sql (NO DDL delta — 0.6.19 is .so + test only),
CHANGELOG [Unreleased] -> [0.6.19].
Ships (all already merged): #51 SPARQL expression surface (IF, ABS/ROUND/CEIL/
FLOOR/RAND, math# extension tier exp/log/sqrt/pow), #50 aggregates over
expressions + BIND-produced variables, #14 pgrdf.on_path_truncation fail-closed
GUC + carve boundary report, #17 W3C spareval differential oracle (orchestration
fully in Rust), #49 hexastore three-vs-six docs.
Scoring-loop (Motion A.5) forward-collapse complete on the pgRDF side: the
decayed weighted sum SUM(?w * math:exp(-?age/?tau)) GROUP BY/HAVING is one
in-plan aggregate.
…#55) The #17 differential oracle surfaced that pgRDF resolves a SELECT alias inside HAVING (SQL-style) whereas strict W3C SPARQL 1.1 §18.2.4.4 evaluates HAVING before the SELECT Extend binds the alias (strict engines return 0 rows). Resolved as a DOCUMENTED intentional extension (not a defect): it is a strict superset — every spec-legal query (the inline HAVING(SUM(?v)>c) form) behaves identically here and in a strict engine, so the inline form is the portable choice, and pgRDF's alias form is the more-useful behavior for its SQL-minded audience where strict SPARQL returns silent nothing. docs/03-query.md HAVING entry documents it; the fixture 08 oracle marker now records it as a documented known-divergence (working as intended), not a pending bug. Resolves #55 (documented extension).
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.
Release cut — v0.6.19
Rule-7 source-set reconciliation to 0.6.19 (mirrors the v0.6.18 cut, PR #47). No schema delta — this release is
.so+ test-harness only.Source set
Cargo.toml,Cargo.lock,pgrdf.control(default_version),META.json(dist +provides.pgrdf) → 0.6.19compose/compose.ymlper-file bind-mountpgrdf--0.6.19.sql;tests/regression/expected/00-smoke.out→ 0.6.19git mv sql/pgrdf--0.5.1--0.6.{18→19}.sql— no new DDL (the Carve: fail-closed on path-depth / closure truncation #14 GUC registers in Rust_PG_init, not SQL); header carries a v0.6.19 'no schema delta' noteCHANGELOG.md[Unreleased]→[0.6.19]Ships (all already merged to main)
IF,ABS/ROUND/CEIL/FLOOR/RAND, XPathmath#tier (exp/log/sqrt/pow)pgrdf.on_path_truncationfail-closed GUC + carve boundary reportScoring-loop (Motion A.5) forward-collapse is complete on the pgRDF side:
SUM(?w * math:exp(-?age/?tau)) GROUP BY ?c HAVING(…)is one in-plan aggregate.RC verification (isolated container, 0.6.19-built
.so)version()/extversion/default_versionCREATE EXTENSION pgrdfAfter merge
Push tag
v0.6.19on the merge commit →release.yml(version-consistency guard: Cargo.toml == pgrdf.control == META.json == tag) → SLSA attestation →LATEST.md. Closes the v0.6.19 milestone.