summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sqlalchemy/ext/baked.py2
-rw-r--r--lib/sqlalchemy/orm/dynamic.py2
-rw-r--r--lib/sqlalchemy/orm/loading.py1
-rw-r--r--lib/sqlalchemy/orm/persistence.py1
-rw-r--r--lib/sqlalchemy/orm/query.py3
-rw-r--r--lib/sqlalchemy/orm/session.py23
-rw-r--r--lib/sqlalchemy/orm/strategies.py5
-rw-r--r--test/ext/test_baked.py6
-rw-r--r--test/orm/test_query.py27
9 files changed, 19 insertions, 51 deletions
diff --git a/lib/sqlalchemy/ext/baked.py b/lib/sqlalchemy/ext/baked.py
index 97c825f02..1fad89286 100644
--- a/lib/sqlalchemy/ext/baked.py
+++ b/lib/sqlalchemy/ext/baked.py
@@ -411,7 +411,7 @@ class Result(object):
)
result = self.session.execute(
- statement, params, execution_options=execution_options, future=True
+ statement, params, execution_options=execution_options
)
if result._attributes.get("is_single_entity", False):
result = result.scalars()
diff --git a/lib/sqlalchemy/orm/dynamic.py b/lib/sqlalchemy/orm/dynamic.py
index 7832152a2..41d0fabd2 100644
--- a/lib/sqlalchemy/orm/dynamic.py
+++ b/lib/sqlalchemy/orm/dynamic.py
@@ -461,7 +461,7 @@ class AppenderQuery(Generative):
% (orm_util.instance_str(instance), self.attr.key)
)
- result = sess.execute(self._statement, future=True)
+ result = sess.execute(self._statement)
result = result.scalars()
if result._attributes.get("filtered", False):
diff --git a/lib/sqlalchemy/orm/loading.py b/lib/sqlalchemy/orm/loading.py
index fd3e92055..d39714147 100644
--- a/lib/sqlalchemy/orm/loading.py
+++ b/lib/sqlalchemy/orm/loading.py
@@ -498,7 +498,6 @@ def load_on_pk_identity(
params=params,
execution_options=execution_options,
bind_arguments=bind_arguments,
- future=True,
)
.unique()
.scalars()
diff --git a/lib/sqlalchemy/orm/persistence.py b/lib/sqlalchemy/orm/persistence.py
index 676dd438c..49b29a6bc 100644
--- a/lib/sqlalchemy/orm/persistence.py
+++ b/lib/sqlalchemy/orm/persistence.py
@@ -2021,7 +2021,6 @@ class BulkUDCompileState(CompileState):
execution_options,
bind_arguments,
_add_event=skip_for_full_returning,
- future=True,
)
matched_rows = result.fetchall()
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py
index 68ca0365b..37ff48964 100644
--- a/lib/sqlalchemy/orm/query.py
+++ b/lib/sqlalchemy/orm/query.py
@@ -2726,7 +2726,6 @@ class Query(
statement,
params,
execution_options={"_sa_orm_load_options": self.load_options},
- future=True,
)
# legacy: automatically set scalars, unique
@@ -3013,7 +3012,6 @@ class Query(
delete_,
self._params,
execution_options={"synchronize_session": synchronize_session},
- future=True,
)
bulk_del.result = result
self.session.dispatch.after_bulk_delete(bulk_del)
@@ -3089,7 +3087,6 @@ class Query(
upd,
self._params,
execution_options={"synchronize_session": synchronize_session},
- future=True,
)
bulk_ud.result = result
self.session.dispatch.after_bulk_update(bulk_ud)
diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py
index ed1af0a80..dc3af80f2 100644
--- a/lib/sqlalchemy/orm/session.py
+++ b/lib/sqlalchemy/orm/session.py
@@ -232,7 +232,6 @@ class ORMExecuteState(util.MemoizedSlots):
_execution_options,
_bind_arguments,
_parent_execute_state=self,
- future=self._future,
)
@property
@@ -1431,7 +1430,6 @@ class Session(_SessionClassMethods):
params=None,
execution_options=util.EMPTY_DICT,
bind_arguments=None,
- future=False,
_parent_execute_state=None,
_add_event=None,
**kw
@@ -1538,14 +1536,6 @@ class Session(_SessionClassMethods):
Contents of this dictionary are passed to the
:meth:`.Session.get_bind` method.
- :param future:
- Use future style execution for this statement. This is
- the same effect as the :paramref:`_orm.Session.future` flag,
- except at the level of this single statement execution. See
- that flag for details.
-
- .. versionadded:: 1.4
-
:param mapper:
deprecated; use the bind_arguments dictionary
@@ -1571,8 +1561,6 @@ class Session(_SessionClassMethods):
"""
statement = coercions.expect(roles.CoerceTextStatementRole, statement)
- future = future or self.future
-
if not bind_arguments:
bind_arguments = kw
elif kw:
@@ -1605,13 +1593,9 @@ class Session(_SessionClassMethods):
)
else:
bind_arguments.setdefault("clause", statement)
- if future:
- # not sure if immutabledict is working w/ this syntax
- # execution_options =
- # execution_options.union(future_result=True)
- execution_options = execution_options.union(
- {"future_result": True}
- )
+ execution_options = execution_options.union(
+ {"future_result": True}
+ )
if _parent_execute_state:
events_todo = _parent_execute_state._remaining_events()
@@ -1637,7 +1621,6 @@ class Session(_SessionClassMethods):
if result:
return result
- # TODO: coverage for this pattern
statement = orm_exec_state.statement
execution_options = orm_exec_state.local_execution_options
diff --git a/lib/sqlalchemy/orm/strategies.py b/lib/sqlalchemy/orm/strategies.py
index 53166bd91..b9826ac87 100644
--- a/lib/sqlalchemy/orm/strategies.py
+++ b/lib/sqlalchemy/orm/strategies.py
@@ -989,7 +989,7 @@ class LazyLoader(AbstractRelationshipLoader, util.MemoizedSlots):
)
result = session.execute(
- stmt, params, future=True, execution_options=execution_options
+ stmt, params, execution_options=execution_options
)
result = result.unique().scalars().all()
@@ -2794,7 +2794,6 @@ class SelectInLoader(PostLoader, util.MemoizedSlots):
for key in chunk
]
},
- future=True,
).unique()
}
@@ -2839,7 +2838,7 @@ class SelectInLoader(PostLoader, util.MemoizedSlots):
data = collections.defaultdict(list)
for k, v in itertools.groupby(
context.session.execute(
- q, params={"primary_keys": primary_keys}, future=True
+ q, params={"primary_keys": primary_keys}
).unique(),
lambda x: x[0],
):
diff --git a/test/ext/test_baked.py b/test/ext/test_baked.py
index c8e83bbd7..49529f81c 100644
--- a/test/ext/test_baked.py
+++ b/test/ext/test_baked.py
@@ -1067,15 +1067,13 @@ class CustomIntegrationTest(testing.AssertsCompiledSQL, BakedTest):
q = sess.query(User).filter(User.id == 7).set_cache_key("user7")
eq_(
- sess.execute(q, future=True).all(),
- [(User(id=7, addresses=[Address(id=1)]),)],
+ sess.execute(q).all(), [(User(id=7, addresses=[Address(id=1)]),)],
)
eq_(list(q.cache), ["user7"])
eq_(
- sess.execute(q, future=True).all(),
- [(User(id=7, addresses=[Address(id=1)]),)],
+ sess.execute(q).all(), [(User(id=7, addresses=[Address(id=1)]),)],
)
def test_use_w_baked(self):
diff --git a/test/orm/test_query.py b/test/orm/test_query.py
index e43504d9e..a0171295b 100644
--- a/test/orm/test_query.py
+++ b/test/orm/test_query.py
@@ -188,7 +188,7 @@ class RowTupleTest(QueryTest):
mapper(User, users)
- s = Session(testing.db, future=True)
+ s = Session(testing.db)
q = testing.resolve_lambda(test_case, **locals())
@@ -212,15 +212,8 @@ class RowTupleTest(QueryTest):
row = s.execute(q.order_by(User.id)).first()
- # old style row
- assert "jack" not in row
- assert "jack" in tuple(row)
-
- row = s.execute(q.order_by(User.id), future=True).first()
-
- # new style row - not sure what to do here w/ future yet
+ # s.execute() is now new style row
assert "jack" in row
- assert "jack" in tuple(row)
def test_entity_mapping_access(self):
User, users = self.classes.User, self.tables.users
@@ -877,7 +870,7 @@ class GetTest(QueryTest):
def test_populate_existing_future(self):
User, Address = self.classes.User, self.classes.Address
- s = Session(testing.db, future=True, autoflush=False)
+ s = Session(testing.db, autoflush=False)
userlist = s.query(User).all()
@@ -926,7 +919,7 @@ class GetTest(QueryTest):
stmt = select(User).execution_options(
populate_existing=True, autoflush=False, yield_per=10
)
- s = Session(testing.db, future=True)
+ s = Session(testing.db)
m1 = mock.Mock()
@@ -4630,7 +4623,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_select_star_future(self):
User = self.classes.User
- sess = Session(testing.db, future=True)
+ sess = Session(testing.db)
eq_(
sess.execute(
select(User).from_statement(
@@ -4678,7 +4671,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
# ordering doesn't matter
User = self.classes.User
- s = create_session(testing.db, future=True)
+ s = create_session(testing.db)
q = select(User).from_statement(
text(
"select name, 27 as foo, id as users_id from users order by id"
@@ -4725,7 +4718,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session(testing.db, future=True)
+ s = create_session(testing.db)
q = select(User, Address).from_statement(
text(
"select users.name AS users_name, users.id AS users_id, "
@@ -4776,7 +4769,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session(testing.db, future=True)
+ s = create_session(testing.db)
q = (
select(User)
.from_statement(
@@ -4828,7 +4821,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
User = self.classes.User
Address = self.classes.Address
- s = create_session(testing.db, future=True)
+ s = create_session(testing.db)
q = (
select(User)
.from_statement(
@@ -4935,7 +4928,7 @@ class TextTest(QueryTest, AssertsCompiledSQL):
def test_whereclause_future(self):
User = self.classes.User
- s = create_session(testing.db, future=True)
+ s = create_session(testing.db)
eq_(
s.execute(select(User).filter(text("id in (8, 9)")))
.scalars()