fix: remove Spi subtransaction for GUC reads to avoid memory corruption under concurrent load

This commit is contained in:
2026-06-05 19:12:07 -04:00
parent 271828ebe9
commit 532bd8da43

View File

@ -152,7 +152,6 @@ impl DatabaseExecutor for SpiExecutor {
} }
fn auth_origin(&self) -> Result<Option<Value>, String> { fn auth_origin(&self) -> Result<Option<Value>, String> {
self.transact(|| {
Spi::connect(|client| { Spi::connect(|client| {
let mut tup_table = client let mut tup_table = client
.select( .select(
@ -169,11 +168,9 @@ impl DatabaseExecutor for SpiExecutor {
} }
Ok(None) Ok(None)
}) })
})
} }
fn punc_trigger(&self) -> Result<Option<String>, String> { fn punc_trigger(&self) -> Result<Option<String>, String> {
self.transact(|| {
Spi::connect(|client| { Spi::connect(|client| {
let mut tup_table = client let mut tup_table = client
.select( .select(
@ -190,6 +187,5 @@ impl DatabaseExecutor for SpiExecutor {
} }
Ok(None) Ok(None)
}) })
})
} }
} }