Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

IPC::Concurrency::DBI fails because successful DBI operations leave errstr defined

オープン
#1,552 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
55/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
perl, sqlite
領域
databases

調査の方向性

Start by reproducing the minimal SQLite INSERT and inspect the bundled DBI compatibility layer that updates errstr after successful operations. Then run t/20-register_application.t, the t/30-Application tests, and t/35-get_application.t; done means successful operations leave errstr undefined and these failures pass under both backends.

索引モデルが issue の本文から書いたものです。

説明

area:cpan-port area:runtime bug

Summary

IPC::Concurrency::DBI v1.2.0 fails under PerlOnJava even though its upstream suite passes under system Perl.

Evidence

  • CPAN run: 20260928-091741-26386
  • Distribution: IPC-Concurrency-DBI v1.2.0
  • System Perl: 22 test files, 103/103 tests passed.
  • PerlOnJava: 12/22 test programs failed and 13/78 subtests failed.
  • The failures occur in t/20-register_application.t, the t/30-Application/... tests, and t/35-get_application.t.
  • Both JVM and interpreter backends reproduce the issue.

The first successful SQLite INSERT returns one affected row, but PerlOnJava reports defined($dbh->errstr) == 1 with an empty string. System Perl reports defined($dbh->errstr) == 0 after the same successful operation. IPC::Concurrency::DBI checks whether errstr is defined and therefore turns successful SQL operations into Cannot execute SQL: failures.

Minimal behavior:

my $rows = $dbh->do(
  'INSERT INTO t(name,n) VALUES (?,0)', {}, 'x'
);
# PerlOnJava: rows=1, errstr defined, errstr=""
# System Perl: rows=1, errstr undef

This points to the bundled DBI compatibility layer clearing errstr to an empty defined scalar instead of undef after success.

Related issues

Dependency note

PerlOnJava uses its bundled Perl/JDBC DBI + SQLite implementation, so this is an internal DBI compatibility issue rather than an unsupported native prerequisite. A targeted DBD::SQLite reverse-dependency lookup was attempted for classification but MetaCPAN was unavailable; no dependency count is inferred.

主要言語
Perl
スター
64
フォーク
6
平均マージ
4時間 55分
マージ済み PR(30日)
169

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

fglock/PerlOnJava のほかの issue

fglock/PerlOnJava の issue をすべて見る

似ている issue

Perl の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。