Skip to content

fix(Database): escape table identifiers in SQLite3 foreign_key_list PRAGMA - #10732

Open
gr8man wants to merge 1 commit into
codeigniter4:developfrom
gr8man:fix/sqlite3-foreign-key-data-table-escape
Open

gr8man wants to merge 1 commit into
codeigniter4:developfrom
gr8man:fix/sqlite3-foreign-key-data-table-escape

Conversation

@gr8man

@gr8man gr8man commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Description
SQLite3\Connection::_foreignKeyData() interpolated $table directly into PRAGMA foreign_key_list({$table}) without identifier escaping or attached database prefix handling. This caused syntax errors on table names containing hyphens, spaces, reserved SQL words, or attached schemas (e.g. schema.table). Identifiers are now escaped and schema prefixes are handled outside parentheses.

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value (without duplication)
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@carson-codeigniter4 carson-codeigniter4 Bot added the bug Verified issues on the current code behavior or pull requests that will fix them label Nov 5, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Verified issues on the current code behavior or pull requests that will fix them

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant