diff options
Diffstat (limited to 'lib/sqlalchemy/orm/shard.py')
-rw-r--r-- | lib/sqlalchemy/orm/shard.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/sqlalchemy/orm/shard.py b/lib/sqlalchemy/orm/shard.py index 48e057966..c38bcdd96 100644 --- a/lib/sqlalchemy/orm/shard.py +++ b/lib/sqlalchemy/orm/shard.py @@ -78,19 +78,19 @@ class ShardedQuery(Query): q._shard_id = shard_id return q - def _execute_and_instances(self, statement): + def _execute_and_instances(self, context): if self._shard_id is not None: - result = self.session.connection(mapper=self.mapper, shard_id=self._shard_id).execute(statement, **self._params) + result = self.session.connection(mapper=self.mapper, shard_id=self._shard_id).execute(context.statement, **self._params) try: - return iter(self.instances(result)) + return iter(self.instances(result, querycontext=context)) finally: result.close() else: partial = [] for shard_id in self.query_chooser(self): - result = self.session.connection(mapper=self.mapper, shard_id=shard_id).execute(statement, **self._params) + result = self.session.connection(mapper=self.mapper, shard_id=shard_id).execute(context.statement, **self._params) try: - partial = partial + list(self.instances(result)) + partial = partial + list(self.instances(result, querycontext=context)) finally: result.close() # if some kind of in memory 'sorting' were done, this is where it would happen |