Comando CREATE … CLONE: A clonagem de bancos de dados e esquemas que contêm tabelas híbridas (pendente)¶
Atenção
Essa mudança de comportamento está no pacote 2024_08.
Para saber o status atual do pacote, consulte Histórico do pacote.
Considerando que tabelas híbridas atualmente não oferecem suporte à clonagem, observe o seguinte comportamento ao tentar clonar um banco de dados ou um esquema com tabelas híbridas:
- Antes da mudança:
Todos os comandos CREATE DATABASE … CLONE e CREATE SCHEMA … CLONE ignoram silenciosamente tabelas híbridas se alguma existir no banco de dados ou esquema especificado.
- Após a mudança:
Os comandos CREATE SCHEMA … CLONE retornam um erro se existirem tabelas híbridas no esquema especificado. Por exemplo, o comando a seguir falha:
CREATE SCHEMA dst CLONE src;
392105 (0A000): SQL execution error: Cloning a SCHEMA which contains a HYBRID TABLE is unsupported. To perform the clone while skipping HYBRID TABLES, append the `IGNORE HYBRID TABLES` syntax to your DDL.
O erro solicita que você execute o comando usando o parâmetro IGNORE HYBRID TABLES. Ao usar esse parâmetro, o comando criará o esquema clonado, mas ignorará todas as tabelas híbridas. Por exemplo:
CREATE SCHEMA dst CLONE src IGNORE HYBRID TABLES;
Comandos CREATE DATABASE … CLONE que usam Time Travel e especificam o tempo com o parâmetro STATEMENT retornam um erro se houver alguma tabela híbrida no banco de dados especificado. Por exemplo, o comando a seguir falha:
CREATE DATABASE dst CLONE src BEFORE (STATEMENT => '01b7676a-0002-d908-0000-a99500f6e00e');
392106 (0A000): SQL execution error: Time Travel cloning a DATABASE which contains a HYBRID TABLE, when specifying the time via a `STATEMENT` is unsupported. To perform the clone while skipping HYBRID TABLES, append the `IGNORE HYBRID TABLES` syntax to your DDL.
O erro solicita que você execute o comando usando o parâmetro IGNORE HYBRID TABLES. Ao usar esse parâmetro, o comando criará o banco de dados clonado, mas ignorará todas as tabelas híbridas. Por exemplo:
CREATE DATABASE dst CLONE src BEFORE (STATEMENT => '01b7676a-0002-d908-0000-a99500f6e00e') IGNORE HYBRID TABLES;
Outros comandos CREATE DATABASE … CLONE, incluindo aqueles que usam Time Travel com os parâmetros TIMESTAMP e OFFSET, ignoram silenciosamente tabelas híbridas se houver alguma no banco de dados especificado. Em outras palavras, o comportamento desses comandos não muda.
Ref.: 1792