Fixed #815 -- 'select' keyword in DB API calls is now quoted correctly. Thanks, Hugo

git-svn-id: http://code.djangoproject.com/svn/django/trunk@1274 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2005-11-17 15:00:23 +00:00
parent bb505a87ac
commit 56e40c5884
1 changed files with 6 additions and 1 deletions

View File

@ -1380,8 +1380,13 @@ 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' % (db.db.quote_name(s[1]), db.db.quote_name(s[0])) for s in kwargs['select']])
select.extend(['(%s) AS %s' % (quote_only_if_word(s[1]), db.db.quote_name(s[0])) for s in kwargs['select']])
# ORDER BY clause
order_by = []