diff --git a/django/db/backends/oracle/compiler.py b/django/db/backends/oracle/compiler.py index 1044a5feb76..7073dc34e87 100644 --- a/django/db/backends/oracle/compiler.py +++ b/django/db/backends/oracle/compiler.py @@ -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 diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py index ed07eaff10d..48b00461e98 100644 --- a/django/db/models/sql/compiler.py +++ b/django/db/models/sql/compiler.py @@ -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 diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index 4f5f7aad682..2b446b9ef3a 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -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.