diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-04-07 12:37:23 -0400 |
---|---|---|
committer | mike bayer <mike_mp@zzzcomputing.com> | 2022-04-12 02:09:50 +0000 |
commit | aa9cd878e8249a4a758c7f968e929e92fede42a5 (patch) | |
tree | 1be1c9dc24dd247a150be55d65bfc56ebaf111bc /lib/sqlalchemy/dialects/postgresql/psycopg2.py | |
parent | 98eae4e181cb2d1bbc67ec834bfad29dcba7f461 (diff) | |
download | sqlalchemy-aa9cd878e8249a4a758c7f968e929e92fede42a5.tar.gz |
pep-484: session, instancestate, etc
Also adds some fixes to annotation-based mapping
that have come up, as well as starts to add more
pep-484 test cases
Change-Id: Ia722bbbc7967a11b23b66c8084eb61df9d233fee
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/psycopg2.py')
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/psycopg2.py | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/psycopg2.py b/lib/sqlalchemy/dialects/postgresql/psycopg2.py index 07783ced7..c0dc54fab 100644 --- a/lib/sqlalchemy/dialects/postgresql/psycopg2.py +++ b/lib/sqlalchemy/dialects/postgresql/psycopg2.py @@ -456,6 +456,8 @@ from .json import JSONB from ... import types as sqltypes from ... import util from ...engine import cursor as _cursor +from ...util import FastIntFlag +from ...util import parse_user_argument_for_enum logger = logging.getLogger("sqlalchemy.dialects.postgresql") @@ -519,13 +521,19 @@ class PGIdentifierPreparer_psycopg2(PGIdentifierPreparer): pass -EXECUTEMANY_PLAIN = util.symbol("executemany_plain", canonical=0) -EXECUTEMANY_BATCH = util.symbol("executemany_batch", canonical=1) -EXECUTEMANY_VALUES = util.symbol("executemany_values", canonical=2) -EXECUTEMANY_VALUES_PLUS_BATCH = util.symbol( - "executemany_values_plus_batch", - canonical=EXECUTEMANY_BATCH | EXECUTEMANY_VALUES, -) +class ExecutemanyMode(FastIntFlag): + EXECUTEMANY_PLAIN = 0 + EXECUTEMANY_BATCH = 1 + EXECUTEMANY_VALUES = 2 + EXECUTEMANY_VALUES_PLUS_BATCH = EXECUTEMANY_BATCH | EXECUTEMANY_VALUES + + +( + EXECUTEMANY_PLAIN, + EXECUTEMANY_BATCH, + EXECUTEMANY_VALUES, + EXECUTEMANY_VALUES_PLUS_BATCH, +) = tuple(ExecutemanyMode) class PGDialect_psycopg2(_PGDialect_common_psycopg): @@ -564,7 +572,7 @@ class PGDialect_psycopg2(_PGDialect_common_psycopg): # Parse executemany_mode argument, allowing it to be only one of the # symbol names - self.executemany_mode = util.symbol.parse_user_argument( + self.executemany_mode = parse_user_argument_for_enum( executemany_mode, { EXECUTEMANY_PLAIN: [None], |