aio-libs / aiomysql

aiomysql is a library for accessing a MySQL database from the asyncio
https://aiomysql.rtfd.io
MIT License
1.72k stars 254 forks source link

Raise exact mysql error when the packet is an error packet #975

Open xiaoxinw opened 6 months ago

xiaoxinw commented 6 months ago

Raise more exact mysql error when the packet is an error packet.

Add logic in _read_packet method to check the packet's first bytes, if it's error packet then raise the exact mysql error returned from server.

I run int to this issue #971 , the message is "InternalError: Packet sequence number wrong...", when I debug more, I find out the packet is an error packet and the packet number is 1 when it is expected to be 2, this case happens when the network is bad, and read data timeout when connect, the real error message is (1159, Got timeout reading communication packets). I think its better to return the exact mysql error, so we can find out what is wrong really.

971

Checklist

codecov[bot] commented 6 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 93.75%. Comparing base (83aa96e) to head (773e714).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #975 +/- ## ========================================== + Coverage 93.68% 93.75% +0.07% ========================================== Files 36 36 Lines 5538 5553 +15 Branches 895 899 +4 ========================================== + Hits 5188 5206 +18 + Misses 260 258 -2 + Partials 90 89 -1 ``` | [Flag](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | Coverage Δ | | |---|---|---| | [CI-GHA](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `93.35% <100.00%> (+0.07%)` | :arrow_up: | | [DB-mariadb-10.10](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.29% <61.11%> (+<0.01%)` | :arrow_up: | | [DB-mariadb-10.11](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.29% <61.11%> (+<0.01%)` | :arrow_up: | | [DB-mariadb-10.4](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.31% <61.11%> (+<0.01%)` | :arrow_up: | | [DB-mariadb-10.5](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.29% <61.11%> (+<0.01%)` | :arrow_up: | | [DB-mariadb-10.6](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.29% <61.11%> (+<0.01%)` | :arrow_up: | | [DB-mariadb-10.9](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.29% <61.11%> (+<0.01%)` | :arrow_up: | | [DB-mysql-5.7](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.99% <61.11%> (+<0.01%)` | :arrow_up: | | [DB-mysql-8.0](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `92.43% <100.00%> (+0.02%)` | :arrow_up: | | [OS-Linux](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `93.35% <100.00%> (+0.07%)` | :arrow_up: | | [Py-3.10.11](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `?` | | | [Py-3.10.13](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `93.26% <100.00%> (?)` | | | [Py-3.11.3](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `?` | | | [Py-3.11.8](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `93.26% <100.00%> (?)` | | | [Py-3.7.16](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `?` | | | [Py-3.7.17](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `92.90% <100.00%> (?)` | | | [Py-3.8.16](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `?` | | | [Py-3.8.18](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `93.29% <100.00%> (?)` | | | [Py-3.9.16](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `?` | | | [Py-3.9.18](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `93.13% <100.00%> (?)` | | | [VM-ubuntu-latest](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `93.35% <100.00%> (+0.07%)` | :arrow_up: | | [ubuntu-latest_3.10_mariadb-10.10](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.20% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.10_mariadb-10.11](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.20% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.10_mariadb-10.4](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.22% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.10_mariadb-10.5](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.20% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.10_mariadb-10.6](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.20% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.10_mariadb-10.9](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.20% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.10_mysql-5.7](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.90% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.10_mysql-8.0](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `92.34% <100.00%> (+0.05%)` | :arrow_up: | | [ubuntu-latest_3.11_mariadb-10.10](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.20% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.11_mariadb-10.11](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.20% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.11_mariadb-10.4](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.22% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.11_mariadb-10.5](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.20% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.11_mariadb-10.6](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.20% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.11_mariadb-10.9](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.20% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.11_mysql-5.7](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.90% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.11_mysql-8.0](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `92.34% <100.00%> (+0.02%)` | :arrow_up: | | [ubuntu-latest_3.7_mariadb-10.10](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `89.65% <58.82%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.7_mariadb-10.11](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `89.65% <58.82%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.7_mariadb-10.4](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `89.67% <58.82%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.7_mariadb-10.5](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `89.65% <58.82%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.7_mariadb-10.6](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `89.65% <58.82%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.7_mariadb-10.9](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `89.65% <58.82%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.7_mysql-5.7](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.39% <58.82%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.7_mysql-8.0](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `91.92% <100.00%> (+0.06%)` | :arrow_up: | | [ubuntu-latest_3.8_mariadb-10.10](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.24% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.8_mariadb-10.11](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.24% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.8_mariadb-10.4](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.26% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.8_mariadb-10.5](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.24% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.8_mariadb-10.6](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.24% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.8_mariadb-10.9](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.24% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.8_mysql-5.7](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.94% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.8_mysql-8.0](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `92.37% <100.00%> (+0.05%)` | :arrow_up: | | [ubuntu-latest_3.9_mariadb-10.10](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.08% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.9_mariadb-10.11](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.08% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.9_mariadb-10.4](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.10% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.9_mariadb-10.5](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.08% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.9_mariadb-10.6](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.08% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.9_mariadb-10.9](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.08% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.9_mysql-5.7](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `90.78% <61.11%> (+<0.01%)` | :arrow_up: | | [ubuntu-latest_3.9_mysql-8.0](https://app.codecov.io/gh/aio-libs/aiomysql/pull/975/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs) | `92.21% <100.00%> (+0.05%)` | :arrow_up: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=aio-libs#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.