Commit 23fe5e5
committed
fix: address PR #263 feedback — Confluent compatibility and data integrity
Fixes 11 confirmed issues from PR review:
- Issues 1-2: Add schema_fingerprints table to PostgreSQL and MySQL for
stable global schema IDs and reference preservation after permanent delete
- Issues 3-4: Enforce IMPORT mode for explicit ID registration and bulk
import (error 42205)
- Issue 5: Propagate mode check errors instead of failing open
- Issue 7: Guard SetNextID against sequence rewind after import
- Issue 8: Include soft-deleted versions when computing next version in
RegisterSchemaWithID
- Issue 9: Handle "latest" sentinel in findDeletedVersion for
GET version?deleted=true
- Issue 10: Add external reference resolution to JSON Schema compatibility
checker
- Issue 11: Fix Cassandra GetMaxSchemaID to query actual max instead of
block allocator ceiling
Also adds BDD conformance tests covering all fixes (pr_fixes_conformance.feature)
and updates existing import feature files for IMPORT mode enforcement.1 parent 5de8dba commit 23fe5e5
File tree
16 files changed
+898
-93
lines changed- internal
- api
- handlers
- types
- compatibility/jsonschema
- registry
- storage
- cassandra
- mysql
- postgres
- tests/bdd
- features
- steps
16 files changed
+898
-93
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
71 | 74 | | |
72 | | - | |
73 | | - | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
74 | 80 | | |
75 | | - | |
| 81 | + | |
76 | 82 | | |
77 | | - | |
| 83 | + | |
78 | 84 | | |
79 | 85 | | |
80 | 86 | | |
| |||
319 | 325 | | |
320 | 326 | | |
321 | 327 | | |
| 328 | + | |
| 329 | + | |
322 | 330 | | |
323 | 331 | | |
324 | 332 | | |
| |||
327 | 335 | | |
328 | 336 | | |
329 | 337 | | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
330 | 353 | | |
331 | 354 | | |
332 | 355 | | |
| |||
357 | 380 | | |
358 | 381 | | |
359 | 382 | | |
360 | | - | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
361 | 387 | | |
362 | 388 | | |
363 | 389 | | |
| |||
384 | 410 | | |
385 | 411 | | |
386 | 412 | | |
387 | | - | |
| 413 | + | |
388 | 414 | | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
389 | 425 | | |
390 | 426 | | |
391 | 427 | | |
| |||
491 | 527 | | |
492 | 528 | | |
493 | 529 | | |
494 | | - | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
495 | 534 | | |
496 | 535 | | |
497 | 536 | | |
| |||
531 | 570 | | |
532 | 571 | | |
533 | 572 | | |
534 | | - | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
535 | 577 | | |
536 | 578 | | |
537 | 579 | | |
| |||
1083 | 1125 | | |
1084 | 1126 | | |
1085 | 1127 | | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
1086 | 1140 | | |
1087 | 1141 | | |
1088 | 1142 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
56 | 75 | | |
57 | 76 | | |
58 | 77 | | |
| |||
1389 | 1408 | | |
1390 | 1409 | | |
1391 | 1410 | | |
| 1411 | + | |
1392 | 1412 | | |
1393 | 1413 | | |
1394 | 1414 | | |
| |||
1422 | 1442 | | |
1423 | 1443 | | |
1424 | 1444 | | |
| 1445 | + | |
1425 | 1446 | | |
1426 | 1447 | | |
1427 | 1448 | | |
| |||
1441 | 1462 | | |
1442 | 1463 | | |
1443 | 1464 | | |
| 1465 | + | |
1444 | 1466 | | |
1445 | 1467 | | |
1446 | 1468 | | |
| |||
1457 | 1479 | | |
1458 | 1480 | | |
1459 | 1481 | | |
| 1482 | + | |
1460 | 1483 | | |
1461 | 1484 | | |
1462 | 1485 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
558 | 558 | | |
559 | 559 | | |
560 | 560 | | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
561 | 575 | | |
562 | 576 | | |
563 | 577 | | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
564 | 581 | | |
565 | 582 | | |
566 | 583 | | |
| |||
629 | 646 | | |
630 | 647 | | |
631 | 648 | | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
632 | 652 | | |
633 | 653 | | |
634 | 654 | | |
| |||
654 | 674 | | |
655 | 675 | | |
656 | 676 | | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
657 | 680 | | |
658 | 681 | | |
659 | 682 | | |
| |||
715 | 738 | | |
716 | 739 | | |
717 | 740 | | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
718 | 744 | | |
719 | 745 | | |
720 | 746 | | |
| |||
752 | 778 | | |
753 | 779 | | |
754 | 780 | | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
755 | 784 | | |
756 | 785 | | |
757 | 786 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
166 | | - | |
167 | | - | |
168 | | - | |
| 166 | + | |
| 167 | + | |
169 | 168 | | |
170 | 169 | | |
171 | 170 | | |
| |||
0 commit comments