summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2005-12-09 03:08:51 +0000
committerAdrian Holovaty <adrian@holovaty.com>2005-12-09 03:08:51 +0000
commit5fe45cb0f851ea083c1e25664ded93432a62ab05 (patch)
treedf0eefe4f16444099234480a7fe1544cf0a0738b /django
parenta8b3d67b7a1b54c12b5b0e07b3d47e0fbed9cf9e (diff)
Fixed #967 -- 'tables' parameter in DB API is now only quoted if needed. Thanks, Russell Keith-Magee
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1581 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/core/meta/__init__.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/django/core/meta/__init__.py b/django/core/meta/__init__.py
index df95af37c2..021a142c22 100644
--- a/django/core/meta/__init__.py
+++ b/django/core/meta/__init__.py
@@ -1584,9 +1584,16 @@ def _parse_lookup(kwarg_items, opts, table_count=0):
return tables, join_where, where, params, table_count
def function_get_sql_clause(opts, **kwargs):
+ def quote_only_if_word(word):
+ if ' ' in word:
+ return word
+ else:
+ return db.db.quote_name(word)
+
+ # Construct the fundamental parts of the query: SELECT X FROM Y WHERE Z.
select = ["%s.%s" % (db.db.quote_name(opts.db_table), db.db.quote_name(f.column)) for f in opts.fields]
tables = [opts.db_table] + (kwargs.get('tables') and kwargs['tables'][:] or [])
- tables = [db.db.quote_name(t) for t in tables]
+ tables = [quote_only_if_word(t) for t in tables]
where = kwargs.get('where') and kwargs['where'][:] or []
params = kwargs.get('params') and kwargs['params'][:] or []
@@ -1604,11 +1611,6 @@ def function_get_sql_clause(opts, **kwargs):
_fill_table_cache(opts, select, tables, where, opts.db_table, [opts.db_table])
# Add any additional SELECTs passed in via kwargs.
- def quote_only_if_word(word):
- if word.find(' ')>=0:
- return word
- else:
- return db.db.quote_name(word)
if kwargs.get('select'):
select.extend(['(%s) AS %s' % (quote_only_if_word(s[1]), db.db.quote_name(s[0])) for s in kwargs['select']])