Commit f422aef
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 31a5fc9 commit f422aef
13 files changed
Lines changed: 264 additions & 178 deletions
File tree
- packages
- 2-mongo-family/2-authoring/contract-psl
- src
- test
- 2-sql
- 2-authoring/contract-psl
- src
- test
- 9-family/test/psl-contract-infer/print-psl
- test/integration/test/authoring/parity/relation-backrelation-list
Lines changed: 41 additions & 27 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
90 | 89 | | |
91 | 90 | | |
92 | 91 | | |
| |||
872 | 871 | | |
873 | 872 | | |
874 | 873 | | |
875 | | - | |
| 874 | + | |
876 | 875 | | |
877 | 876 | | |
878 | 877 | | |
| |||
924 | 923 | | |
925 | 924 | | |
926 | 925 | | |
927 | | - | |
928 | | - | |
929 | | - | |
| 926 | + | |
930 | 927 | | |
931 | 928 | | |
932 | 929 | | |
| |||
953 | 950 | | |
954 | 951 | | |
955 | 952 | | |
956 | | - | |
957 | 953 | | |
958 | 954 | | |
959 | 955 | | |
| |||
1061 | 1057 | | |
1062 | 1058 | | |
1063 | 1059 | | |
1064 | | - | |
1065 | | - | |
1066 | | - | |
1067 | 1060 | | |
1068 | | - | |
1069 | | - | |
1070 | | - | |
1071 | | - | |
1072 | | - | |
1073 | | - | |
1074 | | - | |
1075 | | - | |
1076 | | - | |
1077 | | - | |
1078 | | - | |
1079 | | - | |
1080 | | - | |
1081 | | - | |
1082 | | - | |
1083 | | - | |
1084 | | - | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
1085 | 1100 | | |
1086 | 1101 | | |
1087 | | - | |
1088 | 1102 | | |
1089 | 1103 | | |
1090 | 1104 | | |
| |||
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 | |
|---|---|---|---|
| |||
522 | 522 | | |
523 | 523 | | |
524 | 524 | | |
525 | | - | |
526 | 525 | | |
527 | 526 | | |
528 | 527 | | |
| |||
554 | 553 | | |
555 | 554 | | |
556 | 555 | | |
557 | | - | |
558 | 556 | | |
559 | 557 | | |
560 | 558 | | |
| |||
567 | 565 | | |
568 | 566 | | |
569 | 567 | | |
570 | | - | |
571 | 568 | | |
572 | 569 | | |
573 | 570 | | |
| |||
1163 | 1160 | | |
1164 | 1161 | | |
1165 | 1162 | | |
1166 | | - | |
1167 | 1163 | | |
1168 | 1164 | | |
1169 | 1165 | | |
| |||
0 commit comments