mem0ai/mem0 · error · ValueError
Unsupported Oracle logical filter operator: {key}
Error message
Unsupported Oracle logical filter operator: {key} What it means
Error "Unsupported Oracle logical filter operator: {key}" thrown in mem0ai/mem0.
Source
Thrown at mem0/vector_stores/oracledb.py:214
raise ValueError("Oracle filter groups must be non-empty dictionaries")
clauses: List[str] = []
for key, value in filters.items():
if key in _LOGICAL_OPERATORS:
if not isinstance(value, list) or not value:
raise ValueError(f"Logical filter operator {key!r} requires a non-empty list")
nested = [_build_filter_group(condition, params) for condition in value]
logical_operator = _LOGICAL_OPERATORS[key]
if logical_operator == "not":
clauses.append(f"NOT ({' OR '.join(nested)})")
else:
joiner = " AND " if logical_operator == "and" else " OR "
clauses.append("(" + joiner.join(nested) + ")")
continue
if key.startswith("$"):
raise ValueError(f"Unsupported Oracle logical filter operator: {key}")
clauses.append(_build_field_condition(key, value, params))
if len(clauses) == 1:
return clauses[0]
return "(" + " AND ".join(clauses) + ")"
class OracleAIVectorSearch(VectorStoreBase):
"""Oracle AI Vector Search backend for mem0."""
def __init__(self, **kwargs: Any) -> None:
self.config = OracleAIVectorSearchConfig(**kwargs)
self.collection_name = self.config.collection_name
if self.config.client:
logger.debug("Using Oracle connection pool: %s", self.config.client)
self.client = self.config.clientView on GitHub (pinned to 001c235229)
Solutions
- Use a supported logical filter operator (AND, OR, NOT).
When it happens
Trigger: Thrown at mem0/vector_stores/oracledb.py:214 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15).
Data as JSON: /api/errors/c4af9234e72194c5.
Report an issue: GitHub.