Skip to main content

tx_replace_item

Function tx_replace_item 

Source
fn tx_replace_item(
    tx: &mut Transaction<'_>,
    state: &CatalogState,
    id: CatalogItemId,
    new_entry: CatalogEntry,
) -> Result<(), AdapterError>
Expand description

Prepare the given transaction for replacing a catalog item with a new version.

The new version gets a new CatalogItemId, which requires rewriting the create_sql of all dependent objects to refer to that new ID (at a previous version).

Note that here is where we break the assumption that the CatalogItemId is a stable identifier for catalog items. We currently think that there are no use cases that require this assumption, but no way to know for sure.