問題タブ [savepoints]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
661 参照

oracle - Oracle グローバル一時テーブルのセーブポイント

Oracle グローバル一時テーブルのセーブポイントはすべてのデータを削除すると読みましたが、Oracle 11g でテストしたところ、ヒープ テーブルのように機能しました。誰でも説明できますか?

0 投票する
0 に答える
364 参照

transactions - ストアード・プロシージャーの DB2 セーブポイントが無効です

このようなDB2ストアドプロシージャを作成しています

それでも、何らかの理由で errstate が「00000」でない場合 (おそらくデッドロック)、取得した errstate は 3B001 であり、これは作成したセーブポイントが存在しないか無効であることを表します

自動コミットをオフにしようとしましたが、それでも機能しません。さらに、私の理解では、上記のクエリは単一のトランザクションとして扱われるため、必ずしも自動コミットをオフにするわけではありません

CentOS 6.5で実行されているDB2 ESE 10.5上

なにか提案を?

- - -ノート - - -

変更することで問題を解決できました

ただに

これで問題は解決しますが、「ロールバックからセーブポイントへのセーブ1」を使用しただけで特定のセーブポイントへのロールバックを拒否した理由はわかりませんが、「ロールバック」だけを使用すると機能しますか? なぜこれが起こっているのか、誰かが私に説明するのを手伝ってもらえますか?

0 投票する
2 に答える
85 参照

java - プログラムで2つのセーブポイントを比較する方法は?

2 つのセーブポイントを比較し、その間にデータベースへのコミットがあったかどうかを確認したいと考えています。たとえば、次のコード スニペットを検討してください。

今私が探求しようとしているのは、2 つのセーブポイント間にコミットがあったかどうかをプログラムで確認できる方法はありますか?

0 投票する
1 に答える
821 参照

java - Java でストアド プロシージャをロールバックする

条件に基づいてストアド プロシージャをロールバックする必要があるという要件がありました。

最初にストアド プロシージャを呼び出し、後で条件をチェックし、条件が失敗した場合はロールバックする必要があります。以下は私が試したコードです。

上記のコードでは、getStudents()メソッドは、学生テーブルの名前のリストを出力します。ロールバック前とロールバック後にこのgetStudents()メソッドを実行しています。セーブポイントセーブポイント savepoint1 = conn.setSavepoint("ROLLBACK_SP");として設定しました。このセーブポイントを使用してロールバックしています。

しかし、ロールバックは起こっていません。何か不足していますか?助けてください。

0 投票する
1 に答える
2750 参照

sqlite - SQLite の SAVEPOINT メカニズム

SQLite のセーブポイントとトランザクションを理解しようとしています。テーブル/データベースで次のコマンドを実行し、セーブポイントを使用しています。

ここで、上記のすべてのステートメントを一度に実行すると、というエラーがスローされますA transaction cannot be started inside another transaction。一度に 1 つずつ実行すると、正常に動作します。最初の 2 つのセーブポイントとリリース コマンドを実行し、Begin. 以前と同じエラーが再びスローされます。

ここのリンクはそれを言う

SQLite が自動コミット モード (つまり、トランザクションの外部) にあるときに SAVEPOINT コマンドが発行されると、標準の自動コミット BEGIN DEFERRED TRANSACTION が開始されます。ただし、ほとんどのコマンドとは異なり、オートコミット トランザクションは SAVEPOINT コマンドが返された後に自動的にコミットされず、システムは開いたトランザクション内に残されます。自動トランザクションは、元のセーブポイントが解放されるか、外部トランザクションが明示的にコミットまたはロールバックされるまでアクティブのままになります。`

では、Release Savepoint コマンドの後の Commit または Rollback コマンドは絶対に必要ですか? releaseコマンドはコミットせず、次を使用して新しいトランザクションを開始できBEGINますか?

0 投票する
0 に答える
631 参照

apache-kafka - Flink でのイベント ソーシング

イベント ソーシング パラダイムに従って実装された Flink アプリケーションがあります。イベントとコマンドの両方がいくつかの Kafka トピックに保存されます。

アプリケーションには、リカバリとプロダクションの 2 つの起動モードがあります。まず、回復モードを使用して、イベント トピックからアプリケーションの状態 (セーブポイント) を回復します。このモードでは、コマンドはまったく読み取られません。すべてのイベント トピックが処理されると、セーブポイントが手動で (コマンド ラインから) トリガーされ、アプリケーションが停止します。次に、生産モードで糸プロセスが開始されます。そのモードでは、アプリケーションはイベントとコマンドの両方を処理します。

このプロセスをプログラムで実行したいと思います。それを行うには、いくつかの疑問が生じます... アプリケーション自体はどのようにできますか:

  1. kafka ソースが完全に読み取られたことを検出しますか?
  2. プログラムでセーブポイントをトリガーしますか?
  3. プログラムで停止して開始しますか?

ありがとうございました!