IPC::Concurrency::DBI fails because successful DBI operations leave errstr defined
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
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 内容生成。
描述
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, thet/30-Application/...tests, andt/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
- DBI do() handling for MySQL SET statements (#1371)
- Delegate DBI transactions to non-JDBC drivers (#1455)
- DBD::SQLite REGEXP support (#1400)
- DBD::SQLite FTS4 custom tokenizers (#1459)
- SQLite-generated funcid values in TheSchwartz (#1320)
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 分钟
- 30 天内合并 PR
- 169
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
fglock/PerlOnJava 的其他 Issue
-
area:cpan-port area:unicode bug
难度 2/5 1-3 小时 新手友好度 88/100
fglock/PerlOnJava#1341 ·
维护者通常 1 天内回复
-
area:cpan-port area:regex area:unicode bug
难度 4/5 3-5 天 新手友好度 52/100
fglock/PerlOnJava#1556 ·
维护者通常 1 天内回复
-
area:backend area:runtime bug
难度 3/5 1-2 天 新手友好度 68/100
fglock/PerlOnJava#1554 ·
维护者通常 1 天内回复
-
area:backend area:cpan-port bug
难度 4/5 3-5 天 新手友好度 48/100
fglock/PerlOnJava#1548 ·
维护者通常 1 天内回复
-
bug
难度 5/5 一周以上 新手友好度 35/100
fglock/PerlOnJava#1541 ·
维护者通常 1 天内回复
查看 fglock/PerlOnJava 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 2/5 1-3 小时 新手友好度 78/100
objectionary/eolang.sty#167 ·
-
难度 2/5 1-3 小时 新手友好度 86/100
-
bug
难度 2/5 1-3 小时 新手友好度 74/100
conan-io/conan-center-index#31065 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
openfoodfacts/openfoodfacts-server#14749 ·
维护者通常 1 天内回复