diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2023-04-17 10:16:35 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2023-04-17 10:20:33 -0400 |
| commit | 89608ccd3f5e5796d578e9a39201f7c5c45a61fe (patch) | |
| tree | 7ab7811b5d233fc7f4433d8bdc6ee84d237e1537 /lib/sqlalchemy | |
| parent | acf7fbd60b9b1291dfc91438416867c88e94c5ba (diff) | |
| download | sqlalchemy-89608ccd3f5e5796d578e9a39201f7c5c45a61fe.tar.gz | |
dont assume _compile_options are present
Fixed bug where various ORM-specific getters such as
:attr:`.ORMExecuteState.is_column_load`,
:attr:`.ORMExecuteState.is_relationship_load`,
:attr:`.ORMExecuteState.loader_strategy_path` etc. would throw an
``AttributeError`` if the SQL statement itself were a "compound select"
such as a UNION.
Fixes: #9634
Change-Id: Ia37df5d6f89d6534d69237dcab294bd849ece28b
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/session.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index e6d6251cf..792b59e81 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -603,7 +603,11 @@ class ORMExecuteState(util.MemoizedSlots): ]: if not self.is_select: return None - opts = self.statement._compile_options + try: + opts = self.statement._compile_options + except AttributeError: + return None + if opts is not None and opts.isinstance( context.ORMCompileState.default_compile_options ): |
