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>
16 lines
377 B
TOML
16 lines
377 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "mysql"
|
|
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 = [
|
|
"aiomysql>=0.2",
|
|
]
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/mysql"]
|