codeigniter4 / codeigniter4/CodeIgniter4

Dev: DatabaseException might not be thrown even if query fails

オープン
#6,913 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
database dev
主要言語
PHP
スター
6k
フォーク
2k
平均マージ
1日 11時間
マージ済み PR(30日)
73

説明

SQLite3, Postgres and OCI8 drivers throw ErrorException when a query error occurs
because of Error Handler. See #6912
https://github.com/codeigniter4/CodeIgniter4/blob/ac1422c404a364f9493bbf1b22dacb18e3913982/system/Debug/Exceptions.php#L174-L176
So depending on the value of the error reporting setting, the ErrorException may not be thrown.

See https://github.com/codeigniter4/CodeIgniter4/pull/6886#issuecomment-1328148614

- [ ] SQLite3 #8467
- [ ] Postgres
- [ ] OCI8

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

system/Debug/Exceptions.php の174-176行目から始め、#6912 と PR #6886 のコンテキストを読みます。SQLite3、Postgres、OCI8 の各ドライバーの経路を比較し、SQLite3 のフォローアップ #8467 も含めます。エラー報告の設定にかかわらずクエリの失敗が一貫して DatabaseException を生成し、列挙されたドライバーの作業が対応済みになれば完了です。

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

評価

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

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

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