mem0ai/mem0 · error · ValueError

Oracle filter operator {operator!r} requires a scalar value

Error message

Oracle filter operator {operator!r} requires a scalar value

What it means

Error "Oracle filter operator {operator!r} requires a scalar value" thrown in mem0ai/mem0.

Source

Thrown at mem0/vector_stores/oracledb.py:108

        else:
            path_parts.append(f'."{part}"')
    return "".join(path_parts)


def _bind_filter_value(value: Any, params: Dict[str, Any]) -> tuple[str, str]:
    param = f"f_{len(params)}"
    params[param] = value
    return f"${param}", f':{param} AS "{param}"'


def _json_exists(json_path: str, predicate: str, passings: List[str]) -> str:
    passing_clause = f" PASSING {', '.join(passings)}" if passings else ""
    return f"JSON_EXISTS(payload, '${json_path}?({predicate})'{passing_clause})"


def _validate_scalar_operand(operator: str, value: Any) -> None:
    if isinstance(value, (dict, list, tuple, set)):
        raise ValueError(f"Oracle filter operator {operator!r} requires a scalar value")


def _build_field_condition(metadata_key: str, value: Any, params: Dict[str, Any]) -> str:
    json_path = _json_path(metadata_key)

    if value == "*":
        return f"JSON_EXISTS(payload, '${json_path}')"

    if not isinstance(value, dict):
        _validate_scalar_operand("eq", value)
        if value is None:
            return _json_exists(json_path, "@ == null", [])
        variable, passing = _bind_filter_value(value, params)
        return _json_exists(json_path, f"@ == {variable}", [passing])

    if not value:
        raise ValueError(f"Operator filter for field {metadata_key!r} must not be empty")

View on GitHub (pinned to 001c235229)

Solutions

  1. Pass a scalar (string, number, or boolean) value for this Oracle filter operator.

When it happens

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