Commit Graph

469 Commits

Author SHA1 Message Date
6e88dd84d8 Edge resolution: a self-referential base edge is always read in reverse
entity.parent_id -> entity matches every type pair in both directions, and the
discovery loop kept forward whenever reverse also matched — so an array
include compiled as `parent.parent_id = child.id` and every nested list read
back empty. Includes always start from the parent and list what hangs under
it; nothing reads the edge from a child up to its parent object. So the edge
is reverse, full stop. 1286 library tests pass. Pinned by api's accounting
suites on branch activity-task-assignment-lines.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AvkGU4kQ4wsqxHFpXtZKZM
2026-09-02 15:01:12 -04:00
b699061f2f Queryer: an explicit archived filter overrides the active-only default, per node
Filter keys arrive as "path/field:$op", so the override check that compared the
key to the bare "archived" never matched: the hidden NOT archived clause was
always added and an explicit archived filter could not return archived rows.
The match is on the node's own archived path, so a root filter lifts the
default for the root only — nested includes the filter never mentioned keep
hiding archived rows. The two queryer fixtures that filter on archived had
snapshotted the contradiction (NOT archived AND archived = $1); they now expect
the filter alone. 1286 library tests pass.

Pinned by api's TestArchive_CascadesDownTheTree (test/punc/lineage_test.go).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AvkGU4kQ4wsqxHFpXtZKZM
2026-09-02 10:58:11 -04:00
15e826cbcb version: 1.0.199 1.0.199 2026-09-01 12:22:03 -04:00
f17ee3b543 fixed invalid use of postgres auth and punc session vars 2026-09-01 12:21:48 -04:00
90262fc82b version: 1.0.198 1.0.198 2026-08-25 13:11:15 -04:00
8a35b8eba4 fixed test issues with lookups 2026-08-25 13:11:10 -04:00
61d07b3c68 version: 1.0.197 1.0.197 2026-08-22 21:48:46 -04:00
d08181e1d7 added alias names to lookup queries for merger 2026-08-22 21:48:40 -04:00
a232bd4727 doc updates for field_defaults usage 2026-08-03 23:33:40 -04:00
8865123b1b version: 1.0.196 1.0.196 2026-08-03 22:20:49 -04:00
f8bdac3428 added defaults support for lookups properly 2026-08-03 22:20:39 -04:00
99ae2a7e89 version: 1.0.195 1.0.195 2026-08-03 21:23:09 -04:00
53776fc696 added defaults support for lookups 2026-08-03 21:22:27 -04:00
d43be1def4 doc update 2026-08-03 19:35:07 -04:00
37bce3ce61 version: 1.0.194 1.0.194 2026-08-03 19:18:55 -04:00
ab4df37fd0 fixed more query volatility issues 2026-08-03 19:18:50 -04:00
3414a32bd6 version: 1.0.193 1.0.193 2026-08-03 19:09:54 -04:00
06432cf0f5 fixed volatile issues with merge 2026-08-03 19:09:46 -04:00
0d4b7c3dec version: 1.0.192 1.0.192 2026-08-03 18:59:16 -04:00
b2f9fe387c added returning statements to inserts and updates for trigger-based mutations 2026-08-03 18:57:08 -04:00
020286d603 version: 1.0.191 1.0.191 2026-08-03 16:40:36 -04:00
1619ca4400 fixed hierarchy null jsonb merging issue with merger when a part of the more specific hierarchy does not exist yet 2026-08-03 16:40:26 -04:00
580fa0bc9f version: 1.0.190 1.0.190 2026-08-03 15:00:13 -04:00
2dfb4e68e4 fixed immutability effects in merger 2026-08-03 15:00:03 -04:00
ae31230ef2 version: 1.0.189 1.0.189 2026-08-03 12:08:46 -04:00
ce542a31cc version: 1.0.188 1.0.188 2026-08-03 12:08:26 -04:00
75296ab107 version: 1.0.187 1.0.187 2026-08-03 12:05:53 -04:00
1a4b328b45 merged in main 2026-08-03 12:05:39 -04:00
c5e103c867 immutable tri-state 2026-08-03 12:03:03 -04:00
a1b7bd4277 version: 1.0.186 1.0.186 2026-07-31 12:23:33 -04:00
27db5109d4 carry readOnly through compilation for the code generator
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ucym7qy7pFC1hbhoVHwJFX
2026-07-31 12:23:23 -04:00
c071a959f7 version: 1.0.185 1.0.185 2026-07-21 20:27:57 -04:00
8b672bd94b version: 1.0.184 1.0.184 2026-07-21 16:29:34 -04:00
441b7e7455 Merge pull request 'immutable-properties' (#1) from immutable-properties into main
Reviewed-on: #1
2026-07-21 20:28:39 +00:00
fbeb2eee22 doc updates 2026-07-21 16:27:37 -04:00
350fe29fef immutable properties complete and tested 2026-07-21 16:25:12 -04:00
ff4b9cd24d dead code cleanup, no-op 2026-07-17 19:18:53 -04:00
68c7c6b77f version: 1.0.183 1.0.183 2026-07-17 18:48:08 -04:00
ea8c5febf2 version: 1.0.182 1.0.182 2026-07-17 18:42:36 -04:00
ea5770aebe added explicit lookup_fields to entity types 2026-07-17 18:42:28 -04:00
e25890461d version: 1.0.181 1.0.181 2026-07-16 13:43:22 -04:00
c4bf6bde58 added limit 1 to arrays treated as a single value in schemas 2026-07-16 13:43:08 -04:00
1fedf5253c test(queryer): update SQL expectations with LIMIT 1 on cover_attachment 2026-07-15 01:52:13 -04:00
9ef59422b8 version: 1.0.180 1.0.180 2026-07-14 16:03:01 -04:00
b49b216b36 fix(queryer): restrict polymorphic bounds compiler to forward edges only
Resolves a query compilation bug in JSPG where reverse/incoming polymorphic
edges (where edge.forward == false, e.g. pet ➡️ cover_attachment) mistakenly
appended the destination type constraint to the parent query's WHERE clause
(e.g., producing `entity_1.type = 'attachment'` on a pet entity query,
causing it to match 0 rows and return null).

- Modifies `compile_polymorphic_bounds` in `compiler.rs` to only compile
  type checks when `edge.forward` is true. For reverse edges, the parent's
  type check does not belong on the parent table and is already implicitly
  restricted by parent ID joins.
- Updates the `fk_attachment_attachable_entity` relation in the queryer test
  fixture to correctly model a two-column polymorphic relation, ensuring
  this code path is exercised by the unit test suite.
2026-07-14 16:02:41 -04:00
13b28387c2 doc update 2026-07-09 20:47:59 -04:00
5b8596f7bd version: 1.0.179 1.0.179 2026-07-09 18:47:25 -04:00
6220a0964d fixed proxy references without null option not being treated as proxies 2026-07-09 18:47:12 -04:00
6cd5bfea7e doc update 2026-07-09 15:26:17 -04:00
a006d3f00a version: 1.0.178 1.0.178 2026-07-09 14:48:03 -04:00