1
1
from __future__ import annotations
2
2
3
3
from typing import Any
4
- from typing import Callable
5
4
from typing import Iterable
6
5
7
6
from django .db .backends .base .base import BaseDatabaseWrapper
@@ -24,11 +23,11 @@ class SoundsLike(Lookup):
24
23
25
24
def as_sql (
26
25
self ,
27
- qn : Callable [[ str ], str ] ,
26
+ compiler : SQLCompiler ,
28
27
connection : BaseDatabaseWrapper ,
29
28
) -> tuple [str , Iterable [Any ]]:
30
- lhs , lhs_params = self .process_lhs (qn , connection )
31
- rhs , rhs_params = self .process_rhs (qn , connection )
29
+ lhs , lhs_params = self .process_lhs (compiler , connection )
30
+ rhs , rhs_params = self .process_rhs (compiler , connection )
32
31
params = tuple (lhs_params ) + tuple (rhs_params )
33
32
return f"{ lhs } SOUNDS LIKE { rhs } " , params
34
33
@@ -66,10 +65,10 @@ def get_prep_lookup(self) -> Any:
66
65
return super ().get_prep_lookup ()
67
66
68
67
def as_sql (
69
- self , qn : Callable [[ str ], str ] , connection : BaseDatabaseWrapper
68
+ self , compiler : SQLCompiler , connection : BaseDatabaseWrapper
70
69
) -> tuple [str , Iterable [Any ]]:
71
- lhs , lhs_params = self .process_lhs (qn , connection )
72
- rhs , rhs_params = self .process_rhs (qn , connection )
70
+ lhs , lhs_params = self .process_lhs (compiler , connection )
71
+ rhs , rhs_params = self .process_rhs (compiler , connection )
73
72
# Put rhs (and params) on the left since that's the order FIND_IN_SET uses
74
73
params = tuple (rhs_params ) + tuple (lhs_params )
75
74
return f"FIND_IN_SET({ rhs } , { lhs } )" , params
@@ -86,9 +85,9 @@ class DynColHasKey(Lookup):
86
85
lookup_name = "has_key"
87
86
88
87
def as_sql (
89
- self , qn : Callable [[ str ], str ] , connection : BaseDatabaseWrapper
88
+ self , compiler : SQLCompiler , connection : BaseDatabaseWrapper
90
89
) -> tuple [str , Iterable [Any ]]:
91
- lhs , lhs_params = self .process_lhs (qn , connection )
92
- rhs , rhs_params = self .process_rhs (qn , connection )
90
+ lhs , lhs_params = self .process_lhs (compiler , connection )
91
+ rhs , rhs_params = self .process_rhs (compiler , connection )
93
92
params = tuple (lhs_params ) + tuple (rhs_params )
94
93
return f"COLUMN_EXISTS({ lhs } , { rhs } )" , params
0 commit comments