v0.3.3-pre.007

This commit is contained in:
2026-08-30 13:37:22 +02:00
parent 10996f11f7
commit aa56a12846
13 changed files with 683 additions and 41 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-store-postgres-lib/tests/dependency_boundary.rs
// version: 11
// version: 12
#![warn(missing_docs)]
#![deny(unreachable_pub)]
@@ -166,12 +166,7 @@ fn pre_005_raw_write_sql_is_atomic_idempotent_and_keeps_later_scope_closed() {
] {
assert!(raw.contains(required), "missing pre.005 RAW write contract: {required}");
}
for forbidden in [
"DELETE FROM",
"transition_raw_transaction_retention",
"impl ksp_store_api::RawTransactionWrite",
"impl ksp_store_api::RawTransactionObservationWrite",
] {
for forbidden in ["DELETE FROM", "impl ksp_store_api::RawTransactionWrite", "impl ksp_store_api::RawTransactionObservationWrite"] {
assert!(!raw.contains(forbidden), "pre.005 opened later RAW scope prematurely: {forbidden}");
}
return;
@@ -215,9 +210,41 @@ fn pre_006_raw_pagination_is_keyset_cursor_bound_and_policy_free() {
}
assert!(index.contains("ON ksp_raw_transactions (slot, signature)"));
assert!(index.contains("WHERE retention_state <> 'purged'"));
for forbidden in [" OFFSET ", "limit.min(", "clamp(", "500", "1000", "DELETE FROM", "transition_raw_transaction_retention"] {
for forbidden in [" OFFSET ", "limit.min(", "clamp(", "500", "1000"] {
assert!(!raw.contains(forbidden), "pre.006 contains forbidden pagination/policy/later-scope material: {forbidden}");
assert!(!cursor.contains(forbidden), "pre.006 cursor contains forbidden pagination/policy/later-scope material: {forbidden}");
}
return;
}
#[test]
fn pre_007_raw_retention_is_atomic_compare_and_transition_without_fake_compaction() {
let raw = include_str!("../src/raw_transaction.rs");
let runtime = include_str!("../src/runtime.rs");
for required in [
"LOCK_RETENTION_TRANSACTION_SQL",
"FOR UPDATE",
"INSERT_ARCHIVE_PAYLOAD_SQL",
"INSERT INTO ksp_raw_transaction_archive_payloads (signature, payload)",
"UPDATE_ARCHIVED_TRANSACTION_SQL",
"SET payload = NULL, retention_state = 'archived'",
"DELETE_ARCHIVE_PAYLOAD_SQL",
"DELETE FROM ksp_raw_transaction_archive_payloads",
"UPDATE_PURGED_TRANSACTION_SQL",
"SET block_time_unix_millis = NULL, payload = NULL, retention_state = 'purged'",
"if current == target",
"if current != expected",
"RawRetentionWriteOutcome::AlreadyAtTarget",
"RawRetentionWriteOutcome::ExpectedStateMismatch",
"RawRetentionWriteOutcome::Applied",
"RetentionCompactionUnsupported",
"transition_raw_transaction_retention",
] {
assert!(raw.contains(required), "missing pre.007 retention contract: {required}");
}
assert!(runtime.contains("pub async fn transition_raw_transaction_retention"));
for forbidden in ["retention_state = 'compacted'", "impl ksp_store_api::RawTransactionRetentionWrite", "flate", "zstd", "lz4", "snappy"] {
assert!(!raw.contains(forbidden), "pre.007 contains fake compaction/direct-trait scope: {forbidden}");
}
return;
}