Changeset 5959
- Timestamp:
- 08/19/07 18:24:59 (1 year ago)
- Files:
-
- django/trunk/django/db/backends/ado_mssql/base.py (modified) (1 diff)
- django/trunk/django/db/backends/dummy/base.py (modified) (1 diff)
- django/trunk/django/db/backends/__init__.py (modified) (1 diff)
- django/trunk/django/db/backends/mysql/base.py (modified) (2 diffs)
- django/trunk/django/db/backends/mysql_old/base.py (modified) (2 diffs)
- django/trunk/django/db/backends/oracle/base.py (modified) (2 diffs)
- django/trunk/django/db/backends/postgresql/base.py (modified) (1 diff)
- django/trunk/django/db/backends/postgresql_psycopg2/base.py (modified) (1 diff)
- django/trunk/django/db/backends/sqlite3/base.py (modified) (1 diff)
- django/trunk/django/db/models/query.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/db/backends/ado_mssql/base.py
r5958 r5959 101 101 dictfetchall = util.dictfetchall 102 102 103 def get_limit_offset_sql(limit, offset=None):104 # TODO: This is a guess. Make sure this is correct.105 sql = "LIMIT %s" % limit106 if offset and offset != 0:107 sql += " OFFSET %s" % offset108 return sql109 110 103 def get_random_function_sql(): 111 104 return "RAND()" django/trunk/django/db/backends/dummy/base.py
r5958 r5959 44 44 dictfetchmany = complain 45 45 dictfetchall = complain 46 get_limit_offset_sql = complain47 46 get_random_function_sql = complain 48 47 get_pk_default_value = complain django/trunk/django/db/backends/__init__.py
r5958 r5959 110 110 """ 111 111 return cursor.lastrowid 112 113 def limit_offset_sql(self, limit, offset=None): 114 """ 115 Returns a LIMIT/OFFSET SQL clause, given a limit and optional offset. 116 """ 117 # 'LIMIT 40 OFFSET 20' 118 sql = "LIMIT %s" % limit 119 if offset and offset != 0: 120 sql += " OFFSET %s" % offset 121 return sql django/trunk/django/db/backends/mysql/base.py
r5958 r5959 77 77 def fulltext_search_sql(self, field_name): 78 78 return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name 79 80 def limit_offset_sql(self, limit, offset=None): 81 # 'LIMIT 20,40' 82 sql = "LIMIT " 83 if offset and offset != 0: 84 sql += "%s," % offset 85 return sql + str(limit) 79 86 80 87 class DatabaseWrapper(BaseDatabaseWrapper): … … 156 163 dictfetchall = util.dictfetchall 157 164 158 def get_limit_offset_sql(limit, offset=None):159 sql = "LIMIT "160 if offset and offset != 0:161 sql += "%s," % offset162 return sql + str(limit)163 164 165 def get_random_function_sql(): 165 166 return "RAND()" django/trunk/django/db/backends/mysql_old/base.py
r5958 r5959 87 87 def fulltext_search_sql(self, field_name): 88 88 return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name 89 90 def limit_offset_sql(self, limit, offset=None): 91 # 'LIMIT 20,40' 92 sql = "LIMIT " 93 if offset and offset != 0: 94 sql += "%s," % offset 95 return sql + str(limit) 89 96 90 97 class DatabaseWrapper(BaseDatabaseWrapper): … … 175 182 dictfetchall = util.dictfetchall 176 183 177 def get_limit_offset_sql(limit, offset=None):178 sql = "LIMIT "179 if offset and offset != 0:180 sql += "%s," % offset181 return sql + str(limit)182 183 184 def get_random_function_sql(): 184 185 return "RAND()" django/trunk/django/db/backends/oracle/base.py
r5958 r5959 63 63 return cursor.fetchone()[0] 64 64 65 def limit_offset_sql(self, limit, offset=None): 66 # Limits and offset are too complicated to be handled here. 67 # Instead, they are handled in django/db/backends/oracle/query.py. 68 return "" 69 65 70 class DatabaseWrapper(BaseDatabaseWrapper): 66 71 ops = DatabaseOperations() … … 178 183 else: 179 184 return "%s%s" 180 181 def get_limit_offset_sql(limit, offset=None):182 # Limits and offset are too complicated to be handled here.183 # Instead, they are handled in django/db/backends/oracle/query.py.184 return ""185 185 186 186 def get_random_function_sql(): django/trunk/django/db/backends/postgresql/base.py
r5958 r5959 131 131 "Returns all rows from a cursor as a dict" 132 132 return cursor.dictfetchall() 133 134 def get_limit_offset_sql(limit, offset=None):135 sql = "LIMIT %s" % limit136 if offset and offset != 0:137 sql += " OFFSET %s" % offset138 return sql139 133 140 134 def get_random_function_sql(): django/trunk/django/db/backends/postgresql_psycopg2/base.py
r5958 r5959 85 85 dictfetchmany = util.dictfetchmany 86 86 dictfetchall = util.dictfetchall 87 88 def get_limit_offset_sql(limit, offset=None):89 sql = "LIMIT %s" % limit90 if offset and offset != 0:91 sql += " OFFSET %s" % offset92 return sql93 87 94 88 def get_random_function_sql(): django/trunk/django/db/backends/sqlite3/base.py
r5958 r5959 116 116 return str(getattr(dt, lookup_type)) 117 117 118 def get_limit_offset_sql(limit, offset=None):119 sql = "LIMIT %s" % limit120 if offset and offset != 0:121 sql += " OFFSET %s" % offset122 return sql123 124 118 def get_random_function_sql(): 125 119 return "RANDOM()" django/trunk/django/db/models/query.py
r5957 r5959 556 556 # LIMIT and OFFSET clauses 557 557 if self._limit is not None: 558 sql.append("%s " % backend.get_limit_offset_sql(self._limit, self._offset))558 sql.append("%s " % connection.ops.limit_offset_sql(self._limit, self._offset)) 559 559 else: 560 560 assert self._offset is None, "'offset' is not allowed without 'limit'"
