Skip to content

Commit 17c9ece

Browse files
committed
fix: make odata search case insensitive
1 parent 1dc4388 commit 17c9ece

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

wavefront/server/plugins/datasource/datasource/odata_parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -353,17 +353,17 @@ def build_comparison(self, field: str, operator: str, value: str) -> str:
353353
return f'{field} {sql_op} {self.dynamic_var_char}{param_key}'
354354

355355
elif operator == 'in':
356-
# Parse array values
356+
# Parse array values, lowercase for case-insensitive matching
357357
items = value.strip('[]').split(',')
358-
parsed_values = [v.strip().strip('\'"') for v in items]
358+
parsed_values = [v.strip().strip('\'"').lower() for v in items]
359359

360360
placeholder_keys = []
361361
for idx, val in enumerate(parsed_values):
362362
item_key = f'{param_key}_{idx}'
363363
self.params[item_key] = val
364364
placeholder_keys.append(f'{self.dynamic_var_char}{item_key}')
365365

366-
return f"{field} IN ({', '.join(placeholder_keys)})"
366+
return f"LOWER({field}) IN ({', '.join(placeholder_keys)})"
367367

368368
else:
369369
parsed_value = self.parse_value(value)

0 commit comments

Comments
 (0)