diff options
author | Federico Caselli <cfederico87@gmail.com> | 2021-09-14 23:38:00 +0200 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-11-26 10:14:44 -0500 |
commit | 5eb407f84bdabdbcd68975dbf76dc4c0809d7373 (patch) | |
tree | 0d37ab4b9c28d8a0fa6cefdcc1933d52ffd9a599 /lib/sqlalchemy/engine/default.py | |
parent | 8ddb3ef165d0c2d6d7167bb861bb349e68b5e8df (diff) | |
download | sqlalchemy-5eb407f84bdabdbcd68975dbf76dc4c0809d7373.tar.gz |
Added support for ``psycopg`` dialect.
Both sync and async versions are supported.
Fixes: #6842
Change-Id: I57751c5028acebfc6f9c43572562405453a2f2a4
Diffstat (limited to 'lib/sqlalchemy/engine/default.py')
-rw-r--r-- | lib/sqlalchemy/engine/default.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index cb04eb525..64500b41b 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -1284,6 +1284,7 @@ class DefaultExecutionContext(interfaces.ExecutionContext): result.out_parameters = out_parameters def _setup_dml_or_text_result(self): + if self.isinsert: if self.compiled.postfetch_lastrowid: self.inserted_primary_key_rows = ( @@ -1332,8 +1333,17 @@ class DefaultExecutionContext(interfaces.ExecutionContext): # assert not result.returns_rows elif self.isupdate and self._is_implicit_returning: + # get rowcount + # (which requires open cursor on some drivers) + # we were not doing this in 1.4, however + # test_rowcount -> test_update_rowcount_return_defaults + # is testing this, and psycopg will no longer return + # rowcount after cursor is closed. + result.rowcount + row = result.fetchone() self.returned_default_rows = [row] + result._soft_close() # test that it has a cursor metadata that is accurate. @@ -1410,6 +1420,8 @@ class DefaultExecutionContext(interfaces.ExecutionContext): dialect = self.dialect + # all of the rest of this... cython? + if dialect._has_events: inputsizes = dict(inputsizes) dialect.dispatch.do_setinputsizes( |