ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

TsurugiのDDL

2023-12-10 00:00:00 | PG(RDBMS)

Tsurugi Advent Calendar 2023の10日目です。

Tsurugiでは、DDLもトランザクションの中で実行します
ただしトランザクション管理外なので、createやdropが成功した時点で(コミットしなくても)テーブルが作成・削除されますし、ロールバックしても元には戻りません。

なお、DDLのトランザクションもシリアライゼーションエラーになることがあるらしいです。
(システム内部で使っているテーブルが競合した場合だとか)
なので、DDLは並列に実行しない方がいいでしょう。(普通はしないと思いますが^^;)

それと、DDLとDMLを同一のトランザクションで実行することも非推奨です。
createとinsertを同一のトランザクションで実行することはよくあると思いますが…。(実際に試してみると、createとinsertを同じトランザクションで実行することは可能なようですが、何か不具合が起きることがあるのかもしれません)

DDLとDMLを別トランザクションで同時に実行するのもやめた方がいいです。(普通はしないと思いますが^^;)
特に、DMLで操作中のテーブルをdropすると、DBがクラッシュすることがあります。

こういった制限は、現時点のTsurugi 1.0.0-BETA1の制限なので、将来的には緩和されるのではないかと思いますが…。


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Tsurugiのトランザクション種別 | トップ | Tsurugiのトランザクション内... »
最新の画像もっと見る

コメントを投稿

PG(RDBMS)」カテゴリの最新記事