v0.3.3-pre.003-fix.002

This commit is contained in:
2026-08-30 10:26:38 +02:00
parent c17e78c6a8
commit 8fa1c8ce8d
4 changed files with 122 additions and 16 deletions

View File

@@ -1,11 +1,11 @@
// file: crates/ksp-store-postgres-lib/src/schema.rs
// version: 2
// version: 3
/// Immutable V000 physical schema resource inventory.
pub(crate) const V000_RESOURCES: &[SchemaResource] = &[SchemaResource {
id: "tables/001_ksp_store_schema_migrations.sql",
object: SchemaObjectContract::Table(TableContract {
columns: KSP_STORE_SCHEMA_MIGRATIONS_COLUMNS,
columns: STORE_SCHEMA_MIGRATIONS_COLUMNS,
name: "ksp_store_schema_migrations",
primary_key_columns: std::option::Option::Some("version"),
}),
@@ -17,7 +17,7 @@ pub(crate) const V001_RESOURCES: &[SchemaResource] = &[
SchemaResource {
id: "tables/001_ksp_store_identity.sql",
object: SchemaObjectContract::Table(TableContract {
columns: KSP_STORE_IDENTITY_COLUMNS,
columns: STORE_IDENTITY_COLUMNS,
name: "ksp_store_identity",
primary_key_columns: std::option::Option::None,
}),
@@ -27,7 +27,7 @@ pub(crate) const V001_RESOURCES: &[SchemaResource] = &[
SchemaResource {
id: "tables/002_ksp_raw_transactions.sql",
object: SchemaObjectContract::Table(TableContract {
columns: KSP_RAW_TRANSACTIONS_COLUMNS,
columns: RAW_TRANSACTIONS_COLUMNS,
name: "ksp_raw_transactions",
primary_key_columns: std::option::Option::None,
}),
@@ -37,7 +37,7 @@ pub(crate) const V001_RESOURCES: &[SchemaResource] = &[
SchemaResource {
id: "tables/003_ksp_raw_transaction_observations.sql",
object: SchemaObjectContract::Table(TableContract {
columns: KSP_RAW_TRANSACTION_OBSERVATIONS_COLUMNS,
columns: RAW_TRANSACTION_OBSERVATIONS_COLUMNS,
name: "ksp_raw_transaction_observations",
primary_key_columns: std::option::Option::None,
}),
@@ -47,7 +47,7 @@ pub(crate) const V001_RESOURCES: &[SchemaResource] = &[
SchemaResource {
id: "tables/004_ksp_raw_transaction_archive_payloads.sql",
object: SchemaObjectContract::Table(TableContract {
columns: KSP_RAW_TRANSACTION_ARCHIVE_PAYLOADS_COLUMNS,
columns: RAW_TRANSACTION_ARCHIVE_PAYLOADS_COLUMNS,
name: "ksp_raw_transaction_archive_payloads",
primary_key_columns: std::option::Option::None,
}),
@@ -506,7 +506,7 @@ pub(crate) enum SchemaResourceState {
Missing,
}
const KSP_STORE_SCHEMA_MIGRATIONS_COLUMNS: &[ColumnContract] = &[
const STORE_SCHEMA_MIGRATIONS_COLUMNS: &[ColumnContract] = &[
ColumnContract {
name: "version",
nullable: false,
@@ -536,7 +536,7 @@ const KSP_STORE_SCHEMA_MIGRATIONS_COLUMNS: &[ColumnContract] = &[
udt_name: "timestamptz",
},
];
const KSP_STORE_IDENTITY_COLUMNS: &[ColumnContract] = &[
const STORE_IDENTITY_COLUMNS: &[ColumnContract] = &[
ColumnContract {
name: "singleton",
nullable: false,
@@ -552,7 +552,7 @@ const KSP_STORE_IDENTITY_COLUMNS: &[ColumnContract] = &[
udt_name: "text",
},
];
const KSP_RAW_TRANSACTIONS_COLUMNS: &[ColumnContract] = &[
const RAW_TRANSACTIONS_COLUMNS: &[ColumnContract] = &[
ColumnContract {
name: "signature",
nullable: false,
@@ -610,7 +610,7 @@ const KSP_RAW_TRANSACTIONS_COLUMNS: &[ColumnContract] = &[
udt_name: "text",
},
];
const KSP_RAW_TRANSACTION_OBSERVATIONS_COLUMNS: &[ColumnContract] = &[
const RAW_TRANSACTION_OBSERVATIONS_COLUMNS: &[ColumnContract] = &[
ColumnContract {
name: "observation_key",
nullable: false,
@@ -710,7 +710,7 @@ const KSP_RAW_TRANSACTION_OBSERVATIONS_COLUMNS: &[ColumnContract] = &[
udt_name: "int8",
},
];
const KSP_RAW_TRANSACTION_ARCHIVE_PAYLOADS_COLUMNS: &[ColumnContract] = &[
const RAW_TRANSACTION_ARCHIVE_PAYLOADS_COLUMNS: &[ColumnContract] = &[
ColumnContract {
name: "signature",
nullable: false,
@@ -759,7 +759,7 @@ pub(crate) async fn verify_v001_external_compatibility(
) -> std::result::Result<(), crate::PostgresBackendError> {
for table in V001_TABLE_NAMES {
let table = *table;
let constraint_rows = transaction.query(UNEXPECTED_CONSTRAINTS_SQL, &[table]).await;
let constraint_rows = transaction.query(UNEXPECTED_CONSTRAINTS_SQL, &[&table]).await;
let constraint_rows = match constraint_rows {
std::result::Result::Ok(value) => value,
std::result::Result::Err(_) => return schema_query_error("schema_constraint_inventory"),
@@ -790,7 +790,7 @@ pub(crate) async fn verify_v001_external_compatibility(
return schema_incompatible("schema_external_constraint");
}
}
let unique_rows = transaction.query(UNIQUE_INDEXES_SQL, &[table]).await;
let unique_rows = transaction.query(UNIQUE_INDEXES_SQL, &[&table]).await;
let unique_rows = match unique_rows {
std::result::Result::Ok(value) => value,
std::result::Result::Err(_) => return schema_query_error("schema_unique_index_inventory"),