mem0ai/mem0 · error · ValueError

Oracle filter operator {operator!r} requires a non-empty lis

Error message

Oracle filter operator {operator!r} requires a non-empty list

What it means

Error "Oracle filter operator {operator!r} requires a non-empty list" thrown in mem0ai/mem0.

Source

Thrown at mem0/vector_stores/oracledb.py:153

    passings: List[str] = []
    additional_clauses: List[str] = []

    for operator, operand in value.items():
        if operator in _COMPARISON_OPERATORS:
            _validate_scalar_operand(operator, operand)
            if operand is None:
                if operator not in {"eq", "ne"}:
                    raise ValueError(f"Oracle filter operator {operator!r} does not support null")
                predicates.append(f"@ {_COMPARISON_OPERATORS[operator]} null")
                continue
            variable, passing = _bind_filter_value(operand, params)
            predicates.append(f"@ {_COMPARISON_OPERATORS[operator]} {variable}")
            passings.append(passing)
            continue

        if operator in {"in", "nin"}:
            if not isinstance(operand, (list, tuple)) or not operand:
                raise ValueError(f"Oracle filter operator {operator!r} requires a non-empty list")

            variables: List[str] = []
            list_passings: List[str] = []
            for item in operand:
                _validate_scalar_operand(operator, item)
                if item is None:
                    variables.append("null")
                    continue
                variable, passing = _bind_filter_value(item, params)
                variables.append(variable)
                list_passings.append(passing)

            membership = _json_exists(json_path, f"@ in ({', '.join(variables)})", list_passings)
            if operator == "in":
                additional_clauses.append(membership)
            else:
                additional_clauses.append(f"NOT ({membership})")
            continue

View on GitHub (pinned to 001c235229)

Solutions

  1. Pass a non-empty list of values for this Oracle filter operator.

When it happens

Trigger: Thrown at mem0/vector_stores/oracledb.py:153 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/b6e9d82911095dca. Report an issue: GitHub.