Adjusted the asyncpg dialect so that an empty SQL string, which is valid
for PostgreSQL server, may be successfully processed at the dialect level,
such as when using :meth:`.Connection.exec_driver_sql`. Pull request
courtesy Andrew Jackson.
Closes: #12220
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/12220
Pull-request-sha:
45c94febee66b567040b1fbfa3a93079a1314f09
Change-Id: I870df9e31f4a229939e76c702724c25073329282
(cherry picked from commit
7bfb829f25c1bfe2139afe7875882298aaf345ba)
--- /dev/null
+.. change::
+ :tags: bug, postgresql
+ :tickets: 12220
+
+ Adjusted the asyncpg dialect so that an empty SQL string, which is valid
+ for PostgreSQL server, may be successfully processed at the dialect level,
+ such as when using :meth:`.Connection.exec_driver_sql`. Pull request
+ courtesy Andrew Jackson.
+
status = prepared_stmt.get_statusmsg()
reg = re.match(
- r"(?:SELECT|UPDATE|DELETE|INSERT \d+) (\d+)", status
+ r"(?:SELECT|UPDATE|DELETE|INSERT \d+) (\d+)",
+ status or "",
)
if reg:
self.rowcount = int(reg.group(1))
__only_on__ = "postgresql"
__backend__ = True
+ @testing.fails_on(["+psycopg2"])
+ def test_empty_sql_string(self, connection):
+
+ result = connection.exec_driver_sql("")
+ assert result._soft_closed
+
@testing.provide_metadata
def test_date_reflection(self):
metadata = self.metadata