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;
Copy
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;
Copy

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');
Copy
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;
Copy

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