{"record":{"id":"0fecb4881fd7276c","repo":"mem0ai/mem0","slug":"oracle-filter-operator-operator-r-requires-a-sca","errorCode":null,"errorMessage":"Oracle filter operator {operator!r} requires a scalar value","messagePattern":"Oracle filter operator (.+?) requires a scalar value","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"mem0/vector_stores/oracledb.py","lineNumber":108,"sourceCode":"        else:\n            path_parts.append(f'.\"{part}\"')\n    return \"\".join(path_parts)\n\n\ndef _bind_filter_value(value: Any, params: Dict[str, Any]) -> tuple[str, str]:\n    param = f\"f_{len(params)}\"\n    params[param] = value\n    return f\"${param}\", f':{param} AS \"{param}\"'\n\n\ndef _json_exists(json_path: str, predicate: str, passings: List[str]) -> str:\n    passing_clause = f\" PASSING {', '.join(passings)}\" if passings else \"\"\n    return f\"JSON_EXISTS(payload, '${json_path}?({predicate})'{passing_clause})\"\n\n\ndef _validate_scalar_operand(operator: str, value: Any) -> None:\n    if isinstance(value, (dict, list, tuple, set)):\n        raise ValueError(f\"Oracle filter operator {operator!r} requires a scalar value\")\n\n\ndef _build_field_condition(metadata_key: str, value: Any, params: Dict[str, Any]) -> str:\n    json_path = _json_path(metadata_key)\n\n    if value == \"*\":\n        return f\"JSON_EXISTS(payload, '${json_path}')\"\n\n    if not isinstance(value, dict):\n        _validate_scalar_operand(\"eq\", value)\n        if value is None:\n            return _json_exists(json_path, \"@ == null\", [])\n        variable, passing = _bind_filter_value(value, params)\n        return _json_exists(json_path, f\"@ == {variable}\", [passing])\n\n    if not value:\n        raise ValueError(f\"Operator filter for field {metadata_key!r} must not be empty\")\n","sourceCodeStart":90,"sourceCodeEnd":126,"githubUrl":"https://github.com/mem0ai/mem0/blob/001c235229be8795e3834520467bd0d661ed8f34/mem0/vector_stores/oracledb.py#L90-L126","documentation":"Error \"Oracle filter operator {operator!r} requires a scalar value\" thrown in mem0ai/mem0.","triggerScenarios":"Thrown at mem0/vector_stores/oracledb.py:108 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass a scalar (string, number, or boolean) value for this Oracle filter operator."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"001c235229be8795e3834520467bd0d661ed8f34","analyzedAt":"2026-08-15T01:55:42.685Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}