fix: prevent SQL errors when metadata filter Constant value is None or blank

- Added early check in  to skip filters where value is None
- Updated both  and  for consistent handling
- Prevents type cast errors when users leave metadata filter values blank in Chatflow apps

Fixes #21800
pull/21803/head
Efrey Kong 11 months ago
parent 86179beaa5
commit 465dfa27d5

@ -1010,6 +1010,9 @@ class DatasetRetrieval:
def _process_metadata_filter_func( def _process_metadata_filter_func(
self, sequence: int, condition: str, metadata_name: str, value: Optional[Any], filters: list self, sequence: int, condition: str, metadata_name: str, value: Optional[Any], filters: list
): ):
if value is None:
return
key = f"{metadata_name}_{sequence}" key = f"{metadata_name}_{sequence}"
key_value = f"{metadata_name}_{sequence}_value" key_value = f"{metadata_name}_{sequence}_value"
match condition: match condition:

@ -490,6 +490,9 @@ class KnowledgeRetrievalNode(LLMNode):
def _process_metadata_filter_func( def _process_metadata_filter_func(
self, sequence: int, condition: str, metadata_name: str, value: Optional[Any], filters: list self, sequence: int, condition: str, metadata_name: str, value: Optional[Any], filters: list
): ):
if value is None:
return
key = f"{metadata_name}_{sequence}" key = f"{metadata_name}_{sequence}"
key_value = f"{metadata_name}_{sequence}_value" key_value = f"{metadata_name}_{sequence}_value"
match condition: match condition:

Loading…
Cancel
Save