From 64eec4a120ea7e9a280a9193d2ac11f099e7f3c9 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Fri, 19 Jun 2009 00:21:38 +0000 Subject: [PATCH] [soc2009/multidb] Removed the as_sql_takes_connection option from various classes, it was originally just to allow the tests to pass while the code base was being migrated, it was not meant to remain git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11075 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/models/query_utils.py | 2 +- django/db/models/sql/aggregates.py | 6 +----- django/db/models/sql/datastructures.py | 2 -- django/db/models/sql/expressions.py | 7 +------ django/db/models/sql/query.py | 5 +---- django/db/models/sql/subqueries.py | 6 +----- django/db/models/sql/where.py | 22 ++++++---------------- 7 files changed, 11 insertions(+), 39 deletions(-) diff --git a/django/db/models/query_utils.py b/django/db/models/query_utils.py index 6a6b69013f..cdee1c7dfc 100644 --- a/django/db/models/query_utils.py +++ b/django/db/models/query_utils.py @@ -132,7 +132,7 @@ class QueryWrapper(object): def __init__(self, sql, params): self.data = sql, params - def as_sql(self, qn=None): + def as_sql(self, qn=None, connection=None): return self.data class Q(tree.Node): diff --git a/django/db/models/sql/aggregates.py b/django/db/models/sql/aggregates.py index b7a38f5b69..8a14bdf2df 100644 --- a/django/db/models/sql/aggregates.py +++ b/django/db/models/sql/aggregates.py @@ -21,7 +21,6 @@ class Aggregate(object): is_ordinal = False is_computed = False sql_template = '%(function)s(%(field)s)' - as_sql_takes_connection = True def __init__(self, col, source=None, is_summary=False, **extra): """Instantiate an SQL aggregate @@ -77,10 +76,7 @@ class Aggregate(object): "Return the aggregate, rendered as SQL." if hasattr(self.col, 'as_sql'): - if getattr(self.col, 'as_sql_takes_connection', False): - field_name = self.col.as_sql(qn, connection) - else: - field_name = self.col.as_sql(qn) + field_name = self.col.as_sql(qn, connection) elif isinstance(self.col, (list, tuple)): field_name = '.'.join([qn(c) for c in self.col]) else: diff --git a/django/db/models/sql/datastructures.py b/django/db/models/sql/datastructures.py index 5c9fd36456..92d64e15dd 100644 --- a/django/db/models/sql/datastructures.py +++ b/django/db/models/sql/datastructures.py @@ -29,8 +29,6 @@ class Date(object): """ Add a date selection column. """ - as_sql_takes_connection = True - def __init__(self, col, lookup_type): self.col = col self.lookup_type = lookup_type diff --git a/django/db/models/sql/expressions.py b/django/db/models/sql/expressions.py index e0118fd198..b7f1cf29b5 100644 --- a/django/db/models/sql/expressions.py +++ b/django/db/models/sql/expressions.py @@ -3,8 +3,6 @@ from django.db.models.fields import FieldDoesNotExist from django.db.models.sql.constants import LOOKUP_SEP class SQLEvaluator(object): - as_sql_takes_connection = True - def __init__(self, expression, query, allow_joins=True): self.expression = expression self.opts = query.get_meta() @@ -78,9 +76,6 @@ class SQLEvaluator(object): def evaluate_leaf(self, node, qn, connection): col = self.cols[node] if hasattr(col, 'as_sql'): - if getattr(col, 'as_sql_takes_connection', False): - return col.as_sql(qn, connection), () - else: - return col.as_sql(qn) + return col.as_sql(qn, connection), () else: return '%s.%s' % (qn(col[0]), qn(col[1])), () diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index f06a9c2300..0a61e3a845 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -729,10 +729,7 @@ class BaseQuery(object): aliases.add(r) col_aliases.add(col[1]) else: - if getattr(col, 'as_sql_takes_connection', False): - result.append(col.as_sql(qn, self.connection)) - else: - result.append(col.as_sql(qn)) + result.append(col.as_sql(qn, self.connection)) if hasattr(col, 'alias'): aliases.add(col.alias) diff --git a/django/db/models/sql/subqueries.py b/django/db/models/sql/subqueries.py index 8712a4fdac..6b0235c16e 100644 --- a/django/db/models/sql/subqueries.py +++ b/django/db/models/sql/subqueries.py @@ -144,10 +144,7 @@ class UpdateQuery(Query): values, update_params = [], [] for name, val, placeholder in self.values: if hasattr(val, 'as_sql'): - if getattr(val, 'as_sql_takes_connection', False): - sql, params = val.as_sql(qn, self.connection) - else: - sql, params = val.as_sql(qn) + sql, params = val.as_sql(qn, self.connection) values.append('%s = %s' % (qn(name), sql)) update_params.extend(params) elif val is not None: @@ -421,7 +418,6 @@ class AggregateQuery(Query): An AggregateQuery takes another query as a parameter to the FROM clause and only selects the elements in the provided list. """ - as_sql_takes_connection = True def add_subquery(self, query): self.subquery, self.sub_params = query.as_sql(with_col_aliases=True) diff --git a/django/db/models/sql/where.py b/django/db/models/sql/where.py index ac9c375342..b8f921a20e 100644 --- a/django/db/models/sql/where.py +++ b/django/db/models/sql/where.py @@ -32,7 +32,6 @@ class WhereNode(tree.Node): relabel_aliases() methods. """ default = AND - as_sql_takes_connection = True def add(self, data, connector): """ @@ -89,10 +88,7 @@ class WhereNode(tree.Node): for child in self.children: try: if hasattr(child, 'as_sql'): - if getattr(child, 'as_sql_takes_connection', False): - sql, params = child.as_sql(qn=qn, connection=connection) - else: - sql, params = child.as_sql(qn=qn) + sql, params = child.as_sql(qn=qn, connection=connection) else: # A leaf node in the tree. sql, params = self.make_atom(child, qn, connection) @@ -152,11 +148,7 @@ class WhereNode(tree.Node): field_sql = self.sql_for_columns(lvalue, qn, connection) else: # A smart object with an as_sql() method. - if getattr(lvalue, 'as_sql_takes_connection', False): - field_sql = lvalue.as_sql(qn, connection) - else: - field_sql = lvalue.as_sql(qn) - + field_sql = lvalue.as_sql(qn, connection) if value_annot is datetime.datetime: cast_sql = connection.ops.datetime_cast_sql() @@ -164,10 +156,7 @@ class WhereNode(tree.Node): cast_sql = '%s' if hasattr(params, 'as_sql'): - if getattr(params, 'as_sql_takes_connection', False): - extra, params = params.as_sql(qn, connection) - else: - extra, params = params.as_sql(qn) + extra, params = params.as_sql(qn, connection) cast_sql = '' else: extra = '' @@ -242,7 +231,8 @@ class EverythingNode(object): """ A node that matches everything. """ - def as_sql(self, qn=None): + + def as_sql(self, qn=None, connection=None): raise FullResultSet def relabel_aliases(self, change_map, node=None): @@ -252,7 +242,7 @@ class NothingNode(object): """ A node that matches nothing. """ - def as_sql(self, qn=None): + def as_sql(self, qn=None, connection=None): raise EmptyResultSet def relabel_aliases(self, change_map, node=None):