{"record":{"id":"8b0f9dc851af68f6","repo":"mem0ai/mem0","slug":"oracle-filter-operator-operator-r-requires-a-str","errorCode":null,"errorMessage":"Oracle filter operator {operator!r} requires a string value","messagePattern":"Oracle filter operator (.+?) requires a string value","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"mem0/vector_stores/oracledb.py","lineNumber":174,"sourceCode":"            list_passings: List[str] = []\n            for item in operand:\n                _validate_scalar_operand(operator, item)\n                if item is None:\n                    variables.append(\"null\")\n                    continue\n                variable, passing = _bind_filter_value(item, params)\n                variables.append(variable)\n                list_passings.append(passing)\n\n            membership = _json_exists(json_path, f\"@ in ({', '.join(variables)})\", list_passings)\n            if operator == \"in\":\n                additional_clauses.append(membership)\n            else:\n                additional_clauses.append(f\"NOT ({membership})\")\n            continue\n\n        if not isinstance(operand, str):\n            raise ValueError(f\"Oracle filter operator {operator!r} requires a string value\")\n\n        if operator == \"contains\":\n            variable, passing = _bind_filter_value(operand, params)\n            predicates.append(f\"@ has substring {variable}\")\n            passings.append(passing)\n        else:\n            variable, passing = _bind_filter_value(operand.lower(), params)\n            predicates.append(f\"@.lower() has substring {variable}\")\n            passings.append(passing)\n\n    clauses = list(additional_clauses)\n    if predicates:\n        clauses.insert(0, _json_exists(json_path, \" && \".join(predicates), passings))\n\n    if len(clauses) == 1:\n        return clauses[0]\n    return \"(\" + \" AND \".join(clauses) + \")\"\n","sourceCodeStart":156,"sourceCodeEnd":192,"githubUrl":"https://github.com/mem0ai/mem0/blob/001c235229be8795e3834520467bd0d661ed8f34/mem0/vector_stores/oracledb.py#L156-L192","documentation":"Error \"Oracle filter operator {operator!r} requires a string value\" thrown in mem0ai/mem0.","triggerScenarios":"Thrown at mem0/vector_stores/oracledb.py:174 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass a string 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"}