-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Comparing changes
Open a pull request
base repository: PyMySQL/PyMySQL
base: 5613187
head repository: PyMySQL/PyMySQL
compare: 0f1c324
- 14 commits
- 17 files changed
- 4 contributors
Commits on May 7, 2026
-
Bump the all-dependencies group with 2 updates (#1232)
Bumps the all-dependencies group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Signed-off-by: dependabot[bot] <support@github.com>
Configuration menu - View commit details
-
Copy full SHA for 97ddfaa - Browse repository at this point
Copy the full SHA 97ddfaaView commit details
Commits on May 8, 2026
-
Reorganize TLS options: implement PREFERRED/REQUIRED SSL mode behavior (
#1234) 1. `ssl_disabled=True` → prohibit SSL 2. Any explicit SSL option set (`ssl`, `ssl_ca`, `ssl_cert`, `ssl_key`, `ssl_key_password`, `ssl_verify_cert`, `ssl_verify_identity`) → **REQUIRED**: raises `OperationalError(CR_SSL_CONNECTION_ERROR)` if the server doesn't advertise `CLIENT.SSL` 3. No SSL options → **PREFERRED**: attempt SSL if the server supports it, fall back to plain connection otherwise Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Inada Naoki <songofacandy@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 8e3a79d - Browse repository at this point
Copy the full SHA 8e3a79dView commit details
Commits on May 14, 2026
-
Support MySQL 8 row/column alias syntax in
executemanyINSERT regex (……#1235) `Cursor.executemany()` fast-path parsing for `INSERT ... VALUES ... ON DUPLICATE KEY UPDATE` did not accept MySQL 8.0.19+ alias syntax (`VALUES (...) AS alias`), so these statements could miss bulk-insert optimization. This updates the parser to recognize the newer syntax while preserving existing behavior. - **Regex update in `pymysql/cursors.py`** - Extend `RE_INSERT_VALUES` suffix parsing to accept: - optional `AS <row_alias>` - optional `AS <row_alias>(<col_alias>, ...)` - followed by optional `ON DUPLICATE ...` - Keep existing `INSERT|REPLACE ... VALUES (...)` grouping semantics used by `executemany()`. - **Compatibility preserved** - Existing legacy upsert style using `VALUES(col)` in `ON DUPLICATE KEY UPDATE` remains supported. - **Focused coverage in `pymysql/tests/test_cursor.py`** - Add regex assertions for: - `VALUES (...) AS new ON DUPLICATE KEY UPDATE ...` - `VALUES (...) AS new(c1,c2,...) ON DUPLICATE KEY UPDATE ...` - legacy `ON DUPLICATE KEY UPDATE ... VALUES(...)` ```python m = pymysql.cursors.RE_INSERT_VALUES.match( "INSERT INTO t1 (a,b,c) VALUES (%s,%s,%s) AS new " "ON DUPLICATE KEY UPDATE c = new.a + new.b" ) ``` --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: methane <199592+methane@users.noreply.github.com> Co-authored-by: Inada Naoki <songofacandy@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 097fad6 - Browse repository at this point
Copy the full SHA 097fad6View commit details
Commits on May 15, 2026
-
Expose SQLSTATE on MySQL protocol exceptions without changing excepti…
…on formatting (#1236) MySQL ERR packets can include a 5-byte SQLSTATE, but PyMySQL currently drops it when raising exceptions. This change preserves that protocol metadata on the exception object while keeping the existing exception args and string representation stable.
Configuration menu - View commit details
-
Copy full SHA for 113e252 - Browse repository at this point
Copy the full SHA 113e252View commit details -
Reject non-finite
decimal.Decimalquery parameters (NaN,sNaN, ……`±Infinity`) (#1237) PyMySQL already rejects non-finite `float` parameters before sending SQL, but equivalent `decimal.Decimal` values were still serialized and sent. This change aligns Decimal behavior with existing float safeguards for unsupported non-finite numeric parameters.
Configuration menu - View commit details
-
Copy full SHA for c532b8d - Browse repository at this point
Copy the full SHA c532b8dView commit details -
docs: update outdated requirements and reference links (#1239)
- aligned docs Python requirement with package metadata (`CPython >= 3.9`) - updated outdated DB-API/MySQL/Python links to current HTTPS URLs - updated Sphinx intersphinx mapping to `https://docs.python.org/3`
Configuration menu - View commit details
-
Copy full SHA for c7bf73f - Browse repository at this point
Copy the full SHA c7bf73fView commit details -
Prepare CHANGELOG for v1.2.0 release from v1.1.3 changes (#1238)
Configuration menu - View commit details
-
Copy full SHA for af6b9b4 - Browse repository at this point
Copy the full SHA af6b9b4View commit details
Commits on May 18, 2026
-
Deprecation and removals (#1240)
- Deprecate `db` and `passwd` again - Remove deprecated error classes in Cursor class attributes.
Configuration menu - View commit details
-
Copy full SHA for c963edb - Browse repository at this point
Copy the full SHA c963edbView commit details -
Configuration menu - View commit details
-
Copy full SHA for ad5c50c - Browse repository at this point
Copy the full SHA ad5c50cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7349a44 - Browse repository at this point
Copy the full SHA 7349a44View commit details -
Configuration menu - View commit details
-
Copy full SHA for 23ca04a - Browse repository at this point
Copy the full SHA 23ca04aView commit details
Commits on May 19, 2026
-
Deprecate
Connection.set_charset()at runtime and document warning ……behavior (#1243) `Connection.set_charset(charset)` was marked for future removal but did not emit a deprecation signal at call time. This change adds runtime deprecation signaling and updates release notes accordingly.
Configuration menu - View commit details
-
Copy full SHA for 637fe7e - Browse repository at this point
Copy the full SHA 637fe7eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 53b16b2 - Browse repository at this point
Copy the full SHA 53b16b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f1c324 - Browse repository at this point
Copy the full SHA 0f1c324View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 5613187...0f1c324