frontend.db: Adding afe custom database engine
[autotest-zwu.git] / frontend / db / backends / afe / compiler.py
blob99714155876b18825536ed0a8e0804350b4f7765
1 from django.db.backends.mysql import compiler as mysql_compiler
2 from autotest_lib.frontend.afe.model_logic import _quote_name
4 class SQLCompiler(mysql_compiler.SQLCompiler):
5 def get_from_clause(self):
6 from_, params = super(SQLCompiler, self).get_from_clause()
8 if hasattr(self.query, "_custom_joins"):
9 for join_dict in self.query._custom_joins:
10 from_.append('%s %s AS %s ON (%s)'
11 % (join_dict['join_type'],
12 _quote_name(join_dict['table']),
13 _quote_name(join_dict['alias']),
14 join_dict['condition']))
15 params.extend(join_dict['condition_values'])
17 return from_, params
19 class SQLInsertCompiler(mysql_compiler.SQLInsertCompiler, SQLCompiler):
20 pass
22 class SQLDeleteCompiler(mysql_compiler.SQLDeleteCompiler, SQLCompiler):
23 pass
25 class SQLUpdateCompiler(mysql_compiler.SQLUpdateCompiler, SQLCompiler):
26 pass
28 class SQLAggregateCompiler(mysql_compiler.SQLAggregateCompiler, SQLCompiler):
29 pass
31 class SQLDateCompiler(mysql_compiler.SQLDateCompiler, SQLCompiler):
32 pass