fix: close() nulls _pool + connect() lock (psql-7/8 twin), % in identifiers, doc caveats
close() now nulls self._pool so a closed instance reports not-connected instead of masquerading as live (twin of psql-7); connect() is guarded by an internal asyncio.Lock so concurrent connect() calls serialize instead of racing to create and orphan multiple live pools (twin of psql-8). _quote_ident now escapes a literal % in identifiers (mysql-7: PyMySQL's query % args substitution otherwise breaks any Layer-1 call against a %-bearing table/column name). fetchval/exists tolerate a caller-overridden tuple cursorclass via a new _first_value helper (mysql-8). Documents the %%-escaping rule for literal % in raw SQL text (mysql-6) and the upsert() VALUES() deprecation on MySQL 8.0.20+ (mysql-9). Signed-off-by: disqualifier <dev@disqualifier.me>
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
||||
|
||||
[project]
|
||||
name = "mysql"
|
||||
version = "0.1.3"
|
||||
version = "0.1.4"
|
||||
description = "async mysql/mariadb wrapper over aiomysql: two-layer API (friendly verbs + raw escape hatch), fail-loud, config-free"
|
||||
requires-python = ">=3.10"
|
||||
dependencies = [
|
||||
|
||||
Reference in New Issue
Block a user