summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/session.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/orm/session.py')
-rw-r--r--lib/sqlalchemy/orm/session.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py
index 25aedd52d..339c57bdc 100644
--- a/lib/sqlalchemy/orm/session.py
+++ b/lib/sqlalchemy/orm/session.py
@@ -36,7 +36,6 @@ from ..inspection import inspect
from ..sql import coercions
from ..sql import dml
from ..sql import roles
-from ..sql import selectable
from ..sql import visitors
from ..sql.base import CompileState
@@ -235,17 +234,22 @@ class ORMExecuteState(util.MemoizedSlots):
@property
def is_select(self):
"""return True if this is a SELECT operation."""
- return isinstance(self.statement, selectable.Select)
+ return self.statement.is_select
+
+ @property
+ def is_insert(self):
+ """return True if this is an INSERT operation."""
+ return self.statement.is_dml and self.statement.is_insert
@property
def is_update(self):
"""return True if this is an UPDATE operation."""
- return isinstance(self.statement, dml.Update)
+ return self.statement.is_dml and self.statement.is_update
@property
def is_delete(self):
"""return True if this is a DELETE operation."""
- return isinstance(self.statement, dml.Delete)
+ return self.statement.is_dml and self.statement.is_delete
@property
def _is_crud(self):
@@ -1622,7 +1626,12 @@ class Session(_SessionClassMethods):
if compile_state_cls:
result = compile_state_cls.orm_setup_cursor_result(
- self, statement, execution_options, bind_arguments, result
+ self,
+ statement,
+ params,
+ execution_options,
+ bind_arguments,
+ result,
)
return result