[1.9.x] Refs -- Fixed evaluation of zero-length slices of QuerySet.values() on Oracle.

Backport of ed1bcf0515 from master
This commit is contained in:
Sergey Fedoseev 2015-12-18 00:16:43 +05:00 committed by Tim Graham
parent badeb56f83
commit 14146f6347
3 changed files with 3 additions and 5 deletions
django/db
backends/oracle
models/sql

View File

@ -12,9 +12,6 @@ class SQLCompiler(compiler.SQLCompiler):
If 'with_limits' is False, any limit/offset information is not
included in the query.
"""
if with_limits and self.query.low_mark == self.query.high_mark:
return '', ()
# The `do_offset` flag indicates whether we need to construct
# the SQL needed to use limit/offset with Oracle.
do_offset = with_limits and (self.query.high_mark is not None

View File

@ -380,8 +380,6 @@ class SQLCompiler(object):
refcounts_before = self.query.alias_refcount.copy()
try:
extra_select, order_by, group_by = self.pre_sql_setup()
if with_limits and self.query.low_mark == self.query.high_mark:
return '', ()
distinct_fields = self.get_distinct()
# This must come after 'select', 'ordering', and 'distinct' -- see

View File

@ -1565,6 +1565,9 @@ class Query(object):
else:
self.low_mark = self.low_mark + low
if self.low_mark == self.high_mark:
self.set_empty()
def clear_limits(self):
"""
Clears any existing limits.