v0.3.3-pre.009-fix.004
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md -->
|
||||
<!-- version: 17 -->
|
||||
<!-- version: 18 -->
|
||||
|
||||
# Validation `0.3.3` — Store/PostgreSQL RawTransaction vertical slice
|
||||
|
||||
@@ -645,8 +645,11 @@ cap 500/1000 dans Store pagination
|
||||
- `pre.009-fix.002` corrige uniquement les cinq diagnostics Clippy du test et propage `PostgresBackendError::phase()` vers `LiveFailure` lors de `open_backend`, sans rendre le texte PostgreSQL, l'URI, SQLSTATE ou bind ;
|
||||
- gate Cargo standard de `pre.009-fix.002` du 2026-08-30 : PASS complet, audits/check/Clippy/tests/no-default-features propres ;
|
||||
- live PostgreSQL réel `pre.009-fix.002` : PostgreSQL 17 joint puis FAIL à `schema_resource_post_apply`, ce qui localise le défaut dans la relecture d'une ressource V001 juste après son application ;
|
||||
- `pre.009-fix.003` conserve la redaction mais remplace, uniquement pour ce cas post-apply, la phase agrégée par `resource.id`, identifiant embarqué statique et non sensible ; le prochain live doit donc nommer exactement `tables/...`, `constraints/...` ou `indexes/...` ;
|
||||
- aucune logique SQL/migration n'est modifiée par `fix.003` : il s'agit d'une instrumentation diagnostique sûre avant correction de la ressource réellement fautive.
|
||||
- `pre.009-fix.003` conserve la redaction mais remplace, uniquement pour ce cas post-apply, la phase agrégée par `resource.id`, identifiant embarqué statique et non sensible ;
|
||||
- gate Cargo standard de `pre.009-fix.003` du 2026-08-30 : PASS complet ;
|
||||
- live PostgreSQL réel `pre.009-fix.003` : PostgreSQL 17 joint puis FAIL précisément sur `constraints/006_ck_ksp_raw_transactions_slot.sql` ;
|
||||
- diagnostic : le CHECK est appliqué, mais la forme catalogue PostgreSQL peut rendre la borne `NUMERIC` hors bigint comme littéral quoté `'18446744073709551615'::numeric`, tandis que l'ancien normaliseur conservait les quotes ;
|
||||
- `pre.009-fix.004` corrige uniquement cette équivalence catalogue ciblée et ajoute un canari qui préserve les quotes des littéraux texte ; aucune ressource SQL/migration n'est modifiée.
|
||||
|
||||
### `pre.010`
|
||||
|
||||
@@ -770,5 +773,13 @@ cargo check -p ksp-store-lib --no-default-features
|
||||
- [PASS statique] les implémentations directes `RawTransactionWrite` / `RawTransactionObservationWrite` restent interdites dans le backend à ce stade ;
|
||||
- [PASS statique] le canari `pre.007` continue d'exiger `DELETE_ARCHIVE_PAYLOAD_SQL` et `DELETE FROM ksp_raw_transaction_archive_payloads` ;
|
||||
- [PASS statique] aucune logique runtime, migration ou checksum V000/V001 modifié ;
|
||||
- [À FAIRE] gate Cargo opérateur complet de `pre.007-fix.001`.
|
||||
- [PASS] gate Cargo opérateur complet de `pre.007-fix.001` fourni le 2026-08-30.
|
||||
|
||||
### `pre.009-fix.004` — normalisation PostgreSQL 17 du CHECK `slot`
|
||||
|
||||
- [PASS opérateur] gate standard `pre.009-fix.003` intégralement propre le 2026-08-30 ;
|
||||
- [DIAGNOSTIC LIVE] PostgreSQL 17 identifie exactement `constraints/006_ck_ksp_raw_transactions_slot.sql` comme ressource incompatible immédiatement après application ;
|
||||
- [FIX statique] l'introspection normalise désormais uniquement les littéraux numériques quotés suivis de `::numeric`, forme que le déparseur PostgreSQL peut produire pour `NUMERIC` hors plage bigint ;
|
||||
- [PASS statique] le canari couvre `'18446744073709551615'::numeric` et vérifie que les littéraux texte comme `'full'::text` conservent leurs quotes ;
|
||||
- [PASS statique] aucun fichier SQL V000/V001, ordre de ressource ou checksum de migration n'est modifié ;
|
||||
- [À FAIRE] gate Cargo opérateur complet puis live PostgreSQL `postgres_raw_transaction_live`.
|
||||
|
||||
Reference in New Issue
Block a user