Fix #4: Wrap create_table in a transaction
(
&self,
account_id: &str,
input: CreateTableInput,
)
| 17 | impl TableEngine for PostgresEngine { |
| 18 | // Fix #4: Wrap create_table in a transaction |
| 19 | fn create_table( |
| 20 | &self, |
| 21 | account_id: &str, |
| 22 | input: CreateTableInput, |
| 23 | ) -> BoxFuture<'_, Result<TableDescription, StorageError>> { |
| 24 | let account_id = account_id.to_string(); |
| 25 | Box::pin(async move { self.create_table_impl(&account_id, input).await }) |
| 26 | } |
| 27 | |
| 28 | // H-5: Set status to DELETING with a scheduled transition to removal, |
| 29 | // emulating real DynamoDB's async control plane behavior. |