Exemplo n.º 1
0
 def as_oracle(self, compiler, connection):
     # Oracle doesn't allow ORDER BY EXISTS() unless it's wrapped in
     # a CASE WHEN.
     if isinstance(self.expression, Exists):
         copy = self.copy()
         copy.expression = Case(
             When(self.expression, then=True),
             default=False,
         )
         return copy.as_sql(compiler, connection)
     return self.as_sql(compiler, connection)
Exemplo n.º 2
0
 def as_oracle(self, compiler, connection):
     # Oracle doesn't allow ORDER BY EXISTS() unless it's wrapped in
     # a CASE WHEN.
     if isinstance(self.expression, Exists):
         copy = self.copy()
         # XXX: Use Case(When(self.lhs)) once support for boolean
         # expressions is added to When.
         exists_sql, params = compiler.compile(self.expression)
         case_sql = 'CASE WHEN %s THEN 1 ELSE 0 END' % exists_sql
         copy.expression = RawSQL(case_sql, params)
         return copy.as_sql(compiler, connection)
     return self.as_sql(compiler, connection)