0.3.16-pre.008-fix.001
This commit is contained in:
@@ -110,7 +110,6 @@ const LIVE_MANAGED_SCHEMA_EXISTS_SQL: &str = r#"SELECT EXISTS (
|
||||
AND table_type = 'BASE TABLE'
|
||||
)"#;
|
||||
const LIVE_MAX_URI_BYTES: usize = 4_096;
|
||||
const LIVE_OBSERVATION_EXISTS_SQL: &str = "SELECT EXISTS (SELECT 1 FROM ksp_raw_transaction_observations WHERE observation_key = $1)";
|
||||
const LIVE_TRANSACTION_EXISTS_SQL: &str = "SELECT EXISTS (SELECT 1 FROM ksp_raw_transactions WHERE signature = $1)";
|
||||
const LIVE_VARIANT_IDEMPOTENCE_SQL: &str = "SELECT (SELECT COUNT(*) = 1 FROM ksp_raw_transaction_variants WHERE transaction_signature = $1) AND (SELECT COUNT(*) = 1 FROM ksp_raw_transaction_canonical_selectors WHERE transaction_signature = $1) AND (SELECT COUNT(*) = 1 FROM ksp_raw_transaction_observation_variants WHERE transaction_signature = $1) AND EXISTS (SELECT 1 FROM ksp_raw_transaction_observation_variants AS mapping INNER JOIN ksp_raw_transaction_canonical_selectors AS selector ON selector.transaction_signature = mapping.transaction_signature AND selector.canonical_variant_id = mapping.variant_id WHERE mapping.observation_key = $2 AND mapping.transaction_signature = $1)";
|
||||
|
||||
@@ -131,7 +130,7 @@ impl LiveFailure {
|
||||
|
||||
#[derive(Debug)]
|
||||
enum LivePersistResult {
|
||||
BackendError(ksp_store_postgres_lib::PostgresBackendErrorKind),
|
||||
BackendError,
|
||||
Outcome(ksp_store_api::RawAcquisitionWriteOutcome),
|
||||
}
|
||||
|
||||
@@ -1007,7 +1006,7 @@ async fn persist_once(
|
||||
let persisted = backend.persist_raw_transaction_acquisition(transaction, observation, ksp_store_api::RawTransactionAcquisitionMode::ForceRehydrate).await;
|
||||
let result = match persisted {
|
||||
std::result::Result::Ok(value) => LivePersistResult::Outcome(value),
|
||||
std::result::Result::Err(error) => LivePersistResult::BackendError(error.kind()),
|
||||
std::result::Result::Err(_) => LivePersistResult::BackendError,
|
||||
};
|
||||
let close_result = close_backend(backend).await;
|
||||
if let std::result::Result::Err(error) = close_result {
|
||||
@@ -1379,18 +1378,6 @@ async fn transaction_exists(client: &tokio_postgres::Client, reference: &ksp_sto
|
||||
};
|
||||
}
|
||||
|
||||
async fn observation_exists(client: &tokio_postgres::Client, key: &ksp_store_api::RawObservationKey) -> std::result::Result<bool, LiveFailure> {
|
||||
let key_bytes: &[u8] = key.as_bytes();
|
||||
let row = match client.query_one(LIVE_OBSERVATION_EXISTS_SQL, &[&key_bytes]).await {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(_) => return std::result::Result::Err(LiveFailure::new("observation_exists_probe")),
|
||||
};
|
||||
return match row.try_get::<usize, bool>(0) {
|
||||
std::result::Result::Ok(value) => std::result::Result::Ok(value),
|
||||
std::result::Result::Err(_) => std::result::Result::Err(LiveFailure::new("observation_exists_decode")),
|
||||
};
|
||||
}
|
||||
|
||||
async fn conflict_state_is_exact(
|
||||
client: &tokio_postgres::Client,
|
||||
reference: &ksp_store_api::RawTransactionReference,
|
||||
|
||||
Reference in New Issue
Block a user