diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-03-31 16:53:43 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-03-31 17:01:40 -0400 |
commit | 44f55913267481165cd9dbfb6ebffa05a72424bd (patch) | |
tree | 837d019b0151401e5adccb13f594dbac2c1dc254 /lib/sqlalchemy/dialects/postgresql/psycopg2.py | |
parent | cbe38dbc667436f5da74ce7c3d6e5451f41c62e2 (diff) | |
download | sqlalchemy-44f55913267481165cd9dbfb6ebffa05a72424bd.tar.gz |
allow executemany values for ON CONFLICT DO NOTHING
Scaled back a fix made for :ticket:`6581` where "executemany values" mode
for psycopg2 were disabled for all "ON CONFLICT" styles of INSERT, to
not apply to the "ON CONFLICT DO NOTHING" clause, which does not include
any parameters and is safe for "executemany values" mode. "ON CONFLICT
DO UPDATE" is still blocked from "executemany values" as there may
be additional parameters in the DO UPDATE clause that cannot be batched
(which is the original issue fixed by :ticket:`6581`).
Fixes: #7880
Change-Id: Id3e23a0c6699333409a50148fa8923cb8e564bdc
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/psycopg2.py')
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/psycopg2.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/psycopg2.py b/lib/sqlalchemy/dialects/postgresql/psycopg2.py index dddce5a62..391368c5f 100644 --- a/lib/sqlalchemy/dialects/postgresql/psycopg2.py +++ b/lib/sqlalchemy/dialects/postgresql/psycopg2.py @@ -712,7 +712,7 @@ class PGDialect_psycopg2(_PGDialect_common_psycopg): self.executemany_mode & EXECUTEMANY_VALUES and context and context.isinsert - and context.compiled.insert_single_values_expr + and context.compiled._is_safe_for_fast_insert_values_helper ): executemany_values = ( "(%s)" % context.compiled.insert_single_values_expr |