@@ -115,25 +115,25 @@ def filter_fields(generator: Iterable[Dict[str, Any]]):
115
115
yield filtered
116
116
117
117
118
- def filter_geo_pairs (
118
+ def filter_geo_sets (
119
119
type_field : str ,
120
120
value_field : str ,
121
121
values : Sequence [GeoSet ],
122
122
param_key : str ,
123
123
params : Dict [str , Any ],
124
124
) -> str :
125
125
"""
126
- returns the SQL sub query to filter by the given geo pairs
126
+ returns the SQL sub query to filter by the given geo sets
127
127
"""
128
128
129
- def filter_pair ( pair : GeoSet , i ) -> str :
129
+ def filter_set ( set : GeoSet , i ) -> str :
130
130
type_param = f"{ param_key } _{ i } t"
131
- params [type_param ] = pair .geo_type
132
- if isinstance (pair .geo_values , bool ) and pair .geo_values :
131
+ params [type_param ] = set .geo_type
132
+ if isinstance (set .geo_values , bool ) and set .geo_values :
133
133
return f"{ type_field } = :{ type_param } "
134
- return f"({ type_field } = :{ type_param } AND { filter_strings (value_field , cast (Sequence [str ], pair .geo_values ), type_param , params )} )"
134
+ return f"({ type_field } = :{ type_param } AND { filter_strings (value_field , cast (Sequence [str ], set .geo_values ), type_param , params )} )"
135
135
136
- parts = [filter_pair (p , i ) for i , p in enumerate (values )]
136
+ parts = [filter_set (p , i ) for i , p in enumerate (values )]
137
137
138
138
if not parts :
139
139
# something has to be selected
@@ -142,25 +142,25 @@ def filter_pair(pair: GeoSet, i) -> str:
142
142
return f"({ ' OR ' .join (parts )} )"
143
143
144
144
145
- def filter_source_signal_pairs (
145
+ def filter_source_signal_sets (
146
146
source_field : str ,
147
147
signal_field : str ,
148
148
values : Sequence [SourceSignalSet ],
149
149
param_key : str ,
150
150
params : Dict [str , Any ],
151
151
) -> str :
152
152
"""
153
- returns the SQL sub query to filter by the given source signal pairs
153
+ returns the SQL sub query to filter by the given source signal sets
154
154
"""
155
155
156
- def filter_pair ( pair : SourceSignalSet , i ) -> str :
156
+ def filter_set ( set : SourceSignalSet , i ) -> str :
157
157
source_param = f"{ param_key } _{ i } t"
158
- params [source_param ] = pair .source
159
- if isinstance (pair .signal , bool ) and pair .signal :
158
+ params [source_param ] = set .source
159
+ if isinstance (set .signal , bool ) and set .signal :
160
160
return f"{ source_field } = :{ source_param } "
161
- return f"({ source_field } = :{ source_param } AND { filter_strings (signal_field , cast (Sequence [str ], pair .signal ), source_param , params )} )"
161
+ return f"({ source_field } = :{ source_param } AND { filter_strings (signal_field , cast (Sequence [str ], set .signal ), source_param , params )} )"
162
162
163
- parts = [filter_pair (p , i ) for i , p in enumerate (values )]
163
+ parts = [filter_set (p , i ) for i , p in enumerate (values )]
164
164
165
165
if not parts :
166
166
# something has to be selected
@@ -169,26 +169,26 @@ def filter_pair(pair: SourceSignalSet, i) -> str:
169
169
return f"({ ' OR ' .join (parts )} )"
170
170
171
171
172
- def filter_time_pair (
172
+ def filter_time_set (
173
173
type_field : str ,
174
174
time_field : str ,
175
- pair : Optional [TimeSet ],
175
+ set : Optional [TimeSet ],
176
176
param_key : str ,
177
177
params : Dict [str , Any ],
178
178
) -> str :
179
179
"""
180
- returns the SQL sub query to filter by the given time pair
180
+ returns the SQL sub query to filter by the given time set
181
181
"""
182
- # safety path; should normally not be reached as time pairs are enforced by the API
183
- if not pair :
182
+ # safety path; should normally not be reached as time sets are enforced by the API
183
+ if not set :
184
184
return "FALSE"
185
185
186
186
type_param = f"{ param_key } _0t"
187
- params [type_param ] = pair .time_type
188
- if isinstance (pair .time_values , bool ) and pair .time_values :
187
+ params [type_param ] = set .time_type
188
+ if isinstance (set .time_values , bool ) and set .time_values :
189
189
parts = f"{ type_field } = :{ type_param } "
190
190
else :
191
- ranges = pair .to_ranges ().time_values
191
+ ranges = set .to_ranges ().time_values
192
192
parts = f"({ type_field } = :{ type_param } AND { filter_integers (time_field , ranges , type_param , params )} )"
193
193
194
194
return f"({ parts } )"
@@ -406,65 +406,62 @@ def where_integers(
406
406
self .conditions .append (filter_integers (fq_field , values , param_key or field , self .params ))
407
407
return self
408
408
409
- def where_geo_pairs (
409
+ def apply_geo_filters (
410
410
self ,
411
411
type_field : str ,
412
412
value_field : str ,
413
413
values : Sequence [GeoSet ],
414
- param_key : Optional [str ] = None ,
415
- ) -> "QueryBuilder" :
414
+ param_key : Optional [str ] = None
415
+ ):
416
416
fq_type_field = self ._fq_field (type_field )
417
417
fq_value_field = self ._fq_field (value_field )
418
418
self .conditions .append (
419
- filter_geo_pairs (
419
+ filter_geo_sets (
420
420
fq_type_field ,
421
421
fq_value_field ,
422
422
values ,
423
423
param_key or type_field ,
424
424
self .params ,
425
425
)
426
426
)
427
- return self
428
427
429
- def where_source_signal_pairs (
428
+ def apply_source_signal_filters (
430
429
self ,
431
430
type_field : str ,
432
431
value_field : str ,
433
432
values : Sequence [SourceSignalSet ],
434
- param_key : Optional [str ] = None ,
435
- ) -> "QueryBuilder" :
433
+ param_key : Optional [str ] = None
434
+ ):
436
435
fq_type_field = self ._fq_field (type_field )
437
436
fq_value_field = self ._fq_field (value_field )
438
437
self .conditions .append (
439
- filter_source_signal_pairs (
438
+ filter_source_signal_sets (
440
439
fq_type_field ,
441
440
fq_value_field ,
442
441
values ,
443
442
param_key or type_field ,
444
443
self .params ,
445
444
)
446
445
)
447
- return self
448
446
449
- def where_time_pair (
447
+ def apply_time_filter (
450
448
self ,
451
449
type_field : str ,
452
450
value_field : str ,
453
451
values : Optional [TimeSet ],
454
452
param_key : Optional [str ] = None ,
455
- ) -> "QueryBuilder" :
453
+ ):
456
454
fq_type_field = self ._fq_field (type_field )
457
455
fq_value_field = self ._fq_field (value_field )
458
456
self .conditions .append (
459
- filter_time_pair (
457
+ filter_time_set (
460
458
fq_type_field ,
461
459
fq_value_field ,
462
460
values ,
463
461
param_key or type_field ,
464
462
self .params ,
465
463
)
466
464
)
467
- return self
468
465
469
466
def apply_lag_filter (self , history_table : str , lag : Optional [int ]):
470
467
if lag is not None :
0 commit comments