Commande CREATE … CLONE : clonage de bases de données et de schémas contenant des tables hybrides (en attente)¶
Attention
Ce changement de comportement est présent dans le bundle 2024_08.
Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.
Étant donné que les tables hybrides ne prennent pas actuellement en charge le clonage, notez le comportement suivant lorsque vous essayez de cloner une base de données ou un schéma contenant des tables hybrides :
- Avant la modification:
Toutes les commandes CREATE DATABASE … CLONE and CREATE SCHEMA … CLONE ignorent silencieusement les tables hybrides si elles existent dans la base de données ou le schéma spécifié.
- Après la modification:
Les commandes CREATE SCHEMA … CLONE renvoient une erreur si des tables hybrides existent dans le schéma spécifié. Par exemple, la commande suivante échoue :
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.
L’erreur vous invite à exécuter la commande à l’aide du paramètre IGNORE HYBRID TABLES. Lorsque vous utilisez ce paramètre, la commande crée le schéma cloné, mais ignore toutes les tables hybrides. Par exemple :
CREATE SCHEMA dst CLONE src IGNORE HYBRID TABLES;
Les commandes CREATE DATABASE … CLONE qui utilisent Time Travel et précisent l’heure avec le paramètre STATEMENT renvoient une erreur si des tables hybrides existent dans la base de données spécifiée. Par exemple, la commande suivante échoue :
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.
L’erreur vous invite à exécuter la commande à l’aide du paramètre IGNORE HYBRID TABLES. Lorsque vous utilisez ce paramètre, la commande crée la base de données clonée, mais ignore toutes les tables hybrides. Par exemple :
CREATE DATABASE dst CLONE src BEFORE (STATEMENT => '01b7676a-0002-d908-0000-a99500f6e00e') IGNORE HYBRID TABLES;
Les autres commandes CREATE DATABASE … CLONE, y compris celles qui utilisent Time Travel avec les paramètres TIMESTAMP et OFFSET, ignorent silencieusement les tables hybrides si elles existent dans la base de données spécifiée. En d’autres termes, le comportement de ces commandes ne change pas.
Réf : 1792