MCPcopy
hub / github.com/django/django / Expressions

Class Expressions

django/db/backends/ddl_references.py:239–270  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

237
238
239class Expressions(TableColumns):
240 def __init__(self, table, expressions, compiler, quote_value):
241 self.compiler = compiler
242 self.expressions = expressions
243 self.quote_value = quote_value
244 columns = [
245 col.target.column
246 for col in self.compiler.query._gen_cols([self.expressions])
247 ]
248 super().__init__(table, columns)
249
250 def rename_table_references(self, old_table, new_table):
251 if self.table != old_table:
252 return
253 self.expressions = self.expressions.relabeled_clone({old_table: new_table})
254 super().rename_table_references(old_table, new_table)
255
256 def rename_column_references(self, table, old_column, new_column):
257 if self.table != table:
258 return
259 expressions = deepcopy(self.expressions)
260 self.columns = []
261 for col in self.compiler.query._gen_cols([expressions]):
262 if col.target.column == old_column:
263 col.target.column = new_column
264 self.columns.append(col.target.column)
265 self.expressions = expressions
266
267 def __str__(self):
268 sql, params = self.compiler.compile(self.expressions)
269 params = map(self.quote_value, params)
270 return sql % tuple(params)

Callers 5

constraint_sqlMethod · 0.90
_create_index_sqlMethod · 0.90
_create_unique_sqlMethod · 0.90
setUpMethod · 0.90

Calls

no outgoing calls

Tested by 2

setUpMethod · 0.72