Commit 5899fdc
committed
feat(contract-psl,mongo-family)!: reject legacy @relation(name:) — disambiguate with inverse:/through: J.field
Complete the clean break begun in S1 (rejecting fields:/references:): the
positional @relation("x") and the named @relation(name: "x") forms are now
rejected as input in both the SQL and Mongo families, with a guiding
PSL_LEGACY_RELATION_NAME diagnostic pointing at the directional replacements.
Disambiguation is by pointing only: inverse: <fkField> for a 1:N back-relation
with multiple candidates, through: Junction.field for an ambiguous many-to-many.
The SQL family already had both pointer forms (S2/S3); the Mongo family gains
inverse: parsing and matching here (it has no junction-based M:N recognition, so
only the 1:N disambiguator applies). The relation-name string never reached the
emitted contract, so the name:->inverse:/through: migration of the test schemas
and the relation-backrelation-list parity fixture lowers byte-identically
(fixtures:check clean).
The legacy-name plumbing (relationName on ParsedRelationAttribute,
FkRelationMetadata, and the backrelation candidates) is removed in both families.
The two ambiguity diagnostics now recommend inverse:/through: instead of
@relation(name:).
Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>1 parent f0ea1b7 commit 5899fdc
13 files changed
Lines changed: 283 additions & 151 deletions
File tree
- packages
- 2-mongo-family/2-authoring/contract-psl
- src
- test
- 2-sql/2-authoring/contract-psl
- src
- test
- 3-targets/3-targets/postgres/test/psl-infer/print-psl
- test/integration/test/authoring/parity/relation-backrelation-list
Lines changed: 41 additions & 25 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
124 | | - | |
125 | 124 | | |
126 | 125 | | |
127 | 126 | | |
| |||
1008 | 1007 | | |
1009 | 1008 | | |
1010 | 1009 | | |
1011 | | - | |
| 1010 | + | |
1012 | 1011 | | |
1013 | 1012 | | |
1014 | 1013 | | |
| |||
1060 | 1059 | | |
1061 | 1060 | | |
1062 | 1061 | | |
1063 | | - | |
| 1062 | + | |
1064 | 1063 | | |
1065 | 1064 | | |
1066 | 1065 | | |
| |||
1087 | 1086 | | |
1088 | 1087 | | |
1089 | 1088 | | |
1090 | | - | |
1091 | 1089 | | |
1092 | 1090 | | |
1093 | 1091 | | |
| |||
1197 | 1195 | | |
1198 | 1196 | | |
1199 | 1197 | | |
1200 | | - | |
1201 | | - | |
1202 | | - | |
1203 | 1198 | | |
1204 | | - | |
1205 | | - | |
1206 | | - | |
1207 | | - | |
1208 | | - | |
1209 | | - | |
1210 | | - | |
1211 | | - | |
1212 | | - | |
1213 | | - | |
1214 | | - | |
1215 | | - | |
1216 | | - | |
1217 | | - | |
1218 | | - | |
1219 | | - | |
1220 | | - | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
1221 | 1238 | | |
1222 | 1239 | | |
1223 | | - | |
1224 | 1240 | | |
1225 | 1241 | | |
1226 | 1242 | | |
| |||
Lines changed: 23 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
97 | 96 | | |
98 | 97 | | |
99 | 98 | | |
| |||
103 | 102 | | |
104 | 103 | | |
105 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
106 | 111 | | |
107 | 112 | | |
108 | 113 | | |
| |||
129 | 134 | | |
130 | 135 | | |
131 | 136 | | |
132 | | - | |
133 | 137 | | |
134 | 138 | | |
| 139 | + | |
135 | 140 | | |
136 | 141 | | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
142 | 152 | | |
143 | 153 | | |
144 | 154 | | |
145 | 155 | | |
146 | 156 | | |
147 | 157 | | |
148 | 158 | | |
149 | | - | |
| 159 | + | |
| 160 | + | |
150 | 161 | | |
151 | 162 | | |
152 | 163 | | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
153 | 167 | | |
154 | 168 | | |
155 | 169 | | |
| |||
199 | 213 | | |
200 | 214 | | |
201 | 215 | | |
202 | | - | |
203 | 216 | | |
204 | 217 | | |
205 | 218 | | |
| 219 | + | |
206 | 220 | | |
207 | 221 | | |
208 | 222 | | |
| |||
Lines changed: 80 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
435 | 435 | | |
436 | 436 | | |
437 | 437 | | |
438 | | - | |
| 438 | + | |
439 | 439 | | |
440 | 440 | | |
441 | 441 | | |
442 | | - | |
443 | | - | |
| 442 | + | |
| 443 | + | |
444 | 444 | | |
445 | 445 | | |
446 | 446 | | |
447 | 447 | | |
448 | 448 | | |
449 | 449 | | |
450 | 450 | | |
451 | | - | |
452 | | - | |
| 451 | + | |
| 452 | + | |
453 | 453 | | |
454 | 454 | | |
455 | 455 | | |
| |||
467 | 467 | | |
468 | 468 | | |
469 | 469 | | |
470 | | - | |
| 470 | + | |
471 | 471 | | |
472 | 472 | | |
473 | 473 | | |
| |||
478 | 478 | | |
479 | 479 | | |
480 | 480 | | |
481 | | - | |
482 | | - | |
| 481 | + | |
| 482 | + | |
483 | 483 | | |
484 | 484 | | |
485 | 485 | | |
| |||
494 | 494 | | |
495 | 495 | | |
496 | 496 | | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
497 | 569 | | |
498 | 570 | | |
499 | 571 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | | - | |
| 55 | + | |
| 56 | + | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| |||
Lines changed: 0 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
564 | 564 | | |
565 | 565 | | |
566 | 566 | | |
567 | | - | |
568 | 567 | | |
569 | 568 | | |
570 | 569 | | |
| |||
597 | 596 | | |
598 | 597 | | |
599 | 598 | | |
600 | | - | |
601 | 599 | | |
602 | 600 | | |
603 | 601 | | |
| |||
610 | 608 | | |
611 | 609 | | |
612 | 610 | | |
613 | | - | |
614 | 611 | | |
615 | 612 | | |
616 | 613 | | |
| |||
1176 | 1173 | | |
1177 | 1174 | | |
1178 | 1175 | | |
1179 | | - | |
1180 | 1176 | | |
1181 | 1177 | | |
1182 | 1178 | | |
| |||
0 commit comments