CREATE ... CLONE コマンド: ハイブリッドテーブルを含むデータベースおよびスキーマのクローニング¶
ハイブリッドテーブル が現在、 クローニング をサポートしていないことを考慮し、ハイブリッドテーブルを含むデータベースまたはスキーマをクローンしようとする場合は、以下の動作に注意します。
- 変更前:
指定されたデータベースまたはスキーマにハイブリッドテーブルが存在すると、すべての CREATE DATABASE ... CLONE および CREATE SCHEMA ... CLONE コマンド は、ハイブリッドテーブルをサイレントにスキップします。
- 変更後:
CREATE SCHEMA ... CLONE コマンドは、指定されたスキーマにハイブリッドテーブルが存在するとエラーを返します。たとえば、以下のコマンドは失敗します。
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.
このエラーは、 IGNORE HYBRID TABLES パラメーター を使用してコマンドを実行するように促します。このパラメーターを使用すると、コマンドはクローンされたスキーマを作成しますが、ハイブリッドテーブルはスキップします。例:
CREATE SCHEMA dst CLONE src IGNORE HYBRID TABLES;
Time Travel を使用し、 STATEMENT パラメーターで時刻を指定する CREATE DATABASE ... CLONE コマンドは、指定されたデータベースにハイブリッドテーブルが存在するとエラーを返します。たとえば、以下のコマンドは失敗します。
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.
このエラーは、 IGNORE HYBRID TABLES パラメーターを使用してコマンドを実行するように促します。このパラメーターを使用すると、コマンドはクローンされたデータベースを作成しますが、ハイブリッドテーブルはスキップします。例:
CREATE DATABASE dst CLONE src BEFORE (STATEMENT => '01b7676a-0002-d908-0000-a99500f6e00e') IGNORE HYBRID TABLES;
TIMESTAMP と OFFSET パラメーターでTime Travelを使用するコマンドなど、その他の CREATE DATABASE ... CLONE コマンドは、指定されたデータベースにハイブリッドテーブルが存在するとハイブリッドテーブルをサイレントにスキップします。つまり、これらのコマンドの動作は変わりません。
参照: 1792