1
1
from __future__ import annotations
2
2
3
- from typing import Any , Callable , Iterable
3
+ from typing import Any , Iterable
4
4
5
5
from django .db .backends .base .base import BaseDatabaseWrapper
6
6
from django .db .models import CharField , Lookup , Transform
@@ -20,11 +20,11 @@ class SoundsLike(Lookup):
20
20
21
21
def as_sql (
22
22
self ,
23
- qn : Callable [[ str ], str ] ,
23
+ compiler : SQLCompiler ,
24
24
connection : BaseDatabaseWrapper ,
25
25
) -> tuple [str , Iterable [Any ]]:
26
- lhs , lhs_params = self .process_lhs (qn , connection )
27
- rhs , rhs_params = self .process_rhs (qn , connection )
26
+ lhs , lhs_params = self .process_lhs (compiler , connection )
27
+ rhs , rhs_params = self .process_rhs (compiler , connection )
28
28
params = tuple (lhs_params ) + tuple (rhs_params )
29
29
return f"{ lhs } SOUNDS LIKE { rhs } " , params
30
30
@@ -62,10 +62,10 @@ def get_prep_lookup(self) -> Any:
62
62
return super ().get_prep_lookup ()
63
63
64
64
def as_sql (
65
- self , qn : Callable [[ str ], str ] , connection : BaseDatabaseWrapper
65
+ self , compiler : SQLCompiler , connection : BaseDatabaseWrapper
66
66
) -> tuple [str , Iterable [Any ]]:
67
- lhs , lhs_params = self .process_lhs (qn , connection )
68
- rhs , rhs_params = self .process_rhs (qn , connection )
67
+ lhs , lhs_params = self .process_lhs (compiler , connection )
68
+ rhs , rhs_params = self .process_rhs (compiler , connection )
69
69
params = tuple (lhs_params ) + tuple (rhs_params )
70
70
# Put rhs on the left since that's the order FIND_IN_SET uses
71
71
return f"FIND_IN_SET({ rhs } , { lhs } )" , params
@@ -82,9 +82,9 @@ class DynColHasKey(Lookup):
82
82
lookup_name = "has_key"
83
83
84
84
def as_sql (
85
- self , qn : Callable [[ str ], str ] , connection : BaseDatabaseWrapper
85
+ self , compiler : SQLCompiler , connection : BaseDatabaseWrapper
86
86
) -> tuple [str , Iterable [Any ]]:
87
- lhs , lhs_params = self .process_lhs (qn , connection )
88
- rhs , rhs_params = self .process_rhs (qn , connection )
87
+ lhs , lhs_params = self .process_lhs (compiler , connection )
88
+ rhs , rhs_params = self .process_rhs (compiler , connection )
89
89
params = tuple (lhs_params ) + tuple (rhs_params )
90
90
return f"COLUMN_EXISTS({ lhs } , { rhs } )" , params
0 commit comments