ROLLBACK_ICEBERG_VIEW_TO_SNAPSHOT¶
説明
ストアドプロシージャ ROLLBACK_ICEBERG_VIEW_TO_SNAPSHOT は、ビューのデータを指定されたスナップショットまでロールバックします。これは、Apache Iceberg 形式のテーブルにアクセスする Denodo MPP データソースまたは PrestoDB データソースから作成された基本ビューに対して実行できます。
構文
ROLLBACK_ICEBERG_VIEW_TO_SNAPSHOT (
database_name : text,
view_name : text,
snapshot_id : bigint,
rollback_to_instant : text
)
database_name
: ビューが含まれるデータベースの名前。データベースが存在しない場合、このプロシージャはエラーを返します。view_name
: ビューの名前。ビューが存在しない場合、このプロシージャはエラーを返します。snapshot_id
: ビューのデータを後戻りさせるスナップショットの ID。rollback_to_instant
: タイムゾーン値によるタイムスタンプ。snapshot_id
がnull
の場合、このプロシージャは、ここで指定された値より前の最新のスナップショットを検索します。タイムスタンプは ISO-8601 の構文yyyy-MM-dd HH:mm:ss.SSSX
に従って指定しなければなりません。
注釈
snapshot_id
と rollback_to_instant
の両方の値を指定してこのプロシージャを呼び出すと、失敗します。一方のパラメータを有効にするには、もう一方のパラメータは null
である必要があります。
このストアドプロシージャは、以下のスキーマに従って一意の行を 1 つ返します。
snapshot_id
: ビューのデータを後戻りさせるスナップショット ID を含みます。committed_at
:snapshot_id
で指定されるスナップショットが作成された日時。error
: 操作がエラーで終了した場合はtrue
、それ以外の場合はfalse
。status
: 操作のステータス。正常終了した場合はsuccess
、失敗した場合はエラー。
必要な権限
このプロシージャを実行できるのは、基本ビューに対する Insert 権限、Update 権限、および Delete 権限を持つユーザーのみです。つまり、以下のユーザーはこのプロシージャを実行できます。
管理者またはこのデータベースの管理者
このデータベースに対する Connect 権限と基本ビューに対する Insert 権限、Update 権限、および Delete 権限を持っているユーザー
例
スナップショット ID でビュー
test.database.test_view
に対するロールバックを実行します。call rollback_iceberg_view_to_snapshot('test_database', 'test_view', 7844484970052735616, null)
スナップショット ID でビュー
test.database.test_view
に対するロールバックを実行します (別の構文)。SELECT * FROM rollback_iceberg_view_to_snapshot() WHERE database_name = 'test_database' AND view_name = 'test_view' AND snapshot_id = 7844484970052735616
タイムスタンプでビュー
test_database.test_view
に対するロールバックを実行します。call rollback_iceberg_view_to_snapshot('test_database', 'test_view', null, '2024-04-17 08:10:30.128Z')
タイムスタンプでビュー
test_database.test_view
に対するロールバックを実行します (別の構文):SELECT * FROM rollback_iceberg_view_to_snapshot() WHERE database_name = 'test_database' AND view_name = 'test_view' AND timestamp = '2024-04-17 08:10:30.128Z'