問題タブ [optimistic]

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 投票する
0 に答える
117 参照

mysql - Prisma:Optimistic Concurrency Control の使用 UpdateMany には問題があります

私は問題があります。使い方が悪いのか問題があるのか​​わかりません 並行性の下では、update で実装された楽観的ロックは多くの場合、上書き書き込みが発生します 助けていただきありがとうございます~
address

簡単なテスト

オプティミスティック同時実行制御パターン ケース コード (少し変更) ドキュメント
コード デモから

スキーマ

コード

テスト結果

結果は、同時実行中にテスト 1 と 3 が上書きされ、テスト 2 と 4 のみが有効になっているように見えます

トランザクション分離レベル rr

test1: db データの前: id =4 movieId=1 version = 1 movie=fly claimBy = null

データベース データの後: id =4 movieId=1 version =3 movie=fly claimBy = userB

test2: db データの前: id =5 movieId=1 version = 1 movie=fly claimBy = null

データベース データの後: id =5 movieId=1 version = 2 movie=fly claimBy = userB

transaction isolation level rc test3: before db data: id =6 movieId=1 version = 1 movie=fly claimBy = null

データベース データの後: id =6 movieId=1 version =3 movie=fly claimBy = userA

test4: db データの前: id =7 movieId=1 version = 1 movie=fly claimBy = null

データベース データの後: id =7 movieId=1 version = 2 movie=fly claimBy = userB