Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: add DB transaction tests #6912

Merged
merged 2 commits into from
Dec 6, 2022

Conversation

kenjis
Copy link
Member

@kenjis kenjis commented Nov 26, 2022

Description
This is tests for v4.2.

Related #6919, #6886

See https://github.com/codeigniter4/CodeIgniter4/actions/runs/3555886311/jobs/5972871727 to see Exception classes.

The current behaviors:

  • All the current DB drivers throw an exception when a query error occurs.
  • MySQLi driver sets mysqli_report(MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_INDEX) that throws mysqli_sql_exception.
  • SQLite3, Postgres and OCI8 drivers throw ErrorException because of Error Handler.
  • SQLSRV driver has different implementation. It throws Exception when the query return value is false.

Checklist:

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

@kenjis kenjis marked this pull request as draft November 26, 2022 23:55
@kenjis kenjis added the testing Pull requests that changes tests only label Nov 26, 2022
kenjis added a commit to kenjis/CodeIgniter4 that referenced this pull request Nov 27, 2022
All the current DB drivers throw Exception when a query error occurs.
See codeigniter4#6912

MySQLi driver sets `mysqli_report(MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_INDEX)`
that throws mysqli_sql_exception.

SQLite3 and Postgres drivers throw ErrorException because of Error Handler.

SQLSRV driver has different implementaion. It throws DatabaseException when the
query return value is false.
kenjis added a commit to kenjis/CodeIgniter4 that referenced this pull request Nov 27, 2022
All the current DB drivers throw an exception when a query error occurs.
See codeigniter4#6912

MySQLi driver sets `mysqli_report(MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_INDEX)`
that throws mysqli_sql_exception.

SQLite3 and Postgres drivers throw ErrorException because of Error Handler.

SQLSRV driver has different implementaion. It throws DatabaseException when the
query return value is false.
kenjis added a commit to kenjis/CodeIgniter4 that referenced this pull request Nov 27, 2022
All the current DB drivers throw an exception when a query error occurs.
See codeigniter4#6912

MySQLi driver sets `mysqli_report(MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_INDEX)`
that throws mysqli_sql_exception.

SQLite3, Postgres and OCI8 drivers throw ErrorException because of Error Handler.

SQLSRV driver has different implementaion. It throws DatabaseException when the
query return value is false.
@kenjis kenjis mentioned this pull request Nov 27, 2022
4 tasks
@kenjis kenjis marked this pull request as ready for review November 27, 2022 01:36
@kenjis kenjis mentioned this pull request Nov 28, 2022
3 tasks
@kenjis kenjis added the database Issues or pull requests that affect the database layer label Nov 28, 2022
kenjis added a commit to kenjis/CodeIgniter4 that referenced this pull request Nov 30, 2022
All the current DB drivers throw an exception when a query error occurs.
See codeigniter4#6912

MySQLi driver sets `mysqli_report(MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_INDEX)`
that throws mysqli_sql_exception.

SQLite3, Postgres and OCI8 drivers throw ErrorException because of Error Handler.

SQLSRV driver has different implementaion. It throws DatabaseException when the
query return value is false.
@kenjis
Copy link
Member Author

kenjis commented Dec 3, 2022

This PR just adds test code.
Please review.

@kenjis kenjis merged commit 1616e44 into codeigniter4:develop Dec 6, 2022
@kenjis kenjis deleted the test-db-transactions-4.2 branch December 6, 2022 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
database Issues or pull requests that affect the database layer testing Pull requests that changes tests only
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants