CREATE ... CLONEコマンド: ハイブリッドテーブルを含むスキーマとデータベースのクローニングを行います¶
ハイブリッドテーブル で クローニングを行う 場合にサポートの制限がある場合、ハイブリッドテーブルを含むデータベースまたはスキーマのクローンを作成するときは次の動作に注意してください。
- 変更前:
一般に、 CREATE DATABASE ... CLONEおよびCREATE SCHEMA ... CLONEコマンド は、指定されたデータベースまたはスキーマにハイブリッドテーブルが存在する場合、何も出力することなくハイブリッドテーブルを省略します。
CREATE DATABASE ... CLONEコマンドでTime Travelパラメーターが指定されていない場合、またはATTIMESTAMPの値が指定されている場合、ハイブリッドテーブルのクローンを作成します。
例えば、以下のコマンドは成功しますが、ハイブリッドテーブルは省略します。
CREATE SCHEMA dst CLONE src; CREATE DATABASE dst CLONE src BEFORE (STATEMENT => '01b7676a-0002-d908-0000-a99500f6e00e');
次のコマンドは成功し、ハイブリッドテーブルがクローニングされたデータベースに含まれます。
CREATE DATABASE dst CLONE src;
- 変更後:
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パラメーターを指定しないCREATE DATABASE ... CLONEコマンドの動作は 変わりません。たとえば、以下のコマンドは成功し、ハイブリッドテーブルがクローニングされたデータベースに含まれます。
CREATE DATABASE dst CLONE src;
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;
ハイブリッドテーブルを含むターゲットのデータベースで、Time Travelパラメーターを指定し、AT TIMESTAMPは使用していない他のCREATE DATABASE ... CLONEコマンドは、エラーを返すか、何も出力せずにハイブリッドテーブルを省略します。
バンドルを明示的に有効にしている、またはデフォルトで有効になっている場合、これらのCREATE DATABASE ... CLONEコマンドはエラーを返します。
バンドルを明示的に無効にしている場合、これらのCREATE DATABASE ... CLONEコマンドは何も出力することなくハイブリッドテーブルを省略します。
詳細については、 ハイブリッドテーブルを含むクローンデータベース をご参照ください。
参照: 1792