How do you use transactions with a Pool?
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- javascript, node.js
調査の方向性
この issue には executeStatements のスニペットしかないため、まずリポジトリ内の getPool()、pool.connect()、トランザクション呼び出しを追跡してください。プールされた接続がどのように解放されるか、また並行クエリがどのように処理されるかを確認してください。3 回の呼び出しで発生する失敗を再現し、確認されたプールまたはトランザクションの動作を文書化または修正できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Below is a snippet of code I am trying to get working... basically I get the pool and call connect on it to get a single connection.
I call beginTransaction on the connection, run my statements, then call commit or rollback.
The problem with this, is that after 3 calls to this function, the pool stops working and doesn't respond to anything.
Am I doing something wrong here? Should I not be using a pool to do transactions?
export async function executeStatements(statements: Statement[]) {
const pool = await getPool();
const connection = await pool.connect();
await connection.beginTransaction();
try {
const results = statements.map((statement) =>
connection.query(
statement.sql,
statement.parameters as Array<number | string>,
),
);
(await Promise.allSettled(results)).forEach((promise) => {
if (promise.status === "rejected") {
throw Error();
}
});
await connection.commit();
} catch (error) {
await connection.rollback();
}
return;
}
- 主要言語
- JavaScript
- スター
- 159
- フォーク
- 92
- 平均マージ
- 5時間 59分
- マージ済み PR(30日)
- 3
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
IBM/node-odbc のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
-
security
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
-
[Bug] Sybase ASE: Encoding issue (works in msnodesqlv8, fails in node-odbc with \x1A artifacts)オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
HarperFast/harper#3275 ·
メンテナーはふだん 1 日以内に返信
-
bug release:v5.34
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Jason-Vaughan/TangleClaw#2504 ·
メンテナーはふだん 1 日以内に返信
-
bug status: needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
mastra-ai/mastra#27538 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 94/100
Foundryborne/daggerheart#2497 ·
メンテナーはふだん 1 日以内に返信