{"record":{"id":"bc4d076531c57cb0","repo":"mem0ai/mem0","slug":"unsupported-filter-operator-op-bc4d07","errorCode":null,"errorMessage":"Unsupported filter operator: {op}","messagePattern":"Unsupported filter operator: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"mem0/vector_stores/pgvector.py","lineNumber":89,"sourceCode":"            not_groups = []\n            for not_filter in value:\n                sub_conds, sub_params = _build_filter_conditions(not_filter)\n                if sub_conds:\n                    not_groups.append(\"(\" + \" AND \".join(sub_conds) + \")\")\n                    params.extend(sub_params)\n            if not_groups:\n                conditions.append(\"NOT (\" + \" OR \".join(not_groups) + \")\")\n            continue\n\n        if value == \"*\":\n            conditions.append(\"payload ? %s\")\n            params.append(key)\n            continue\n\n        if isinstance(value, dict):\n            for op, op_value in value.items():\n                if op not in OPERATOR_SQL_MAP:\n                    raise ValueError(f\"Unsupported filter operator: {op}\")\n                template, is_numeric = OPERATOR_SQL_MAP[op]\n                if op in (\"in\", \"nin\"):\n                    if not isinstance(op_value, list):\n                        raise ValueError(\n                            f\"Filter operator {op!r} for key {key!r} requires a list value, got {type(op_value).__name__}\"\n                        )\n                    str_list = [str(v) for v in op_value]\n                    conditions.append(template)\n                    params.extend([key, str_list])\n                elif op in (\"contains\", \"icontains\"):\n                    escaped = str(op_value).replace(\"\\\\\", \"\\\\\\\\\").replace(\"%\", \"\\\\%\").replace(\"_\", \"\\\\_\")\n                    conditions.append(template + \" ESCAPE '\\\\'\")\n                    params.extend([key, f\"%{escaped}%\"])\n                else:\n                    conditions.append(template)\n                    if is_numeric:\n                        params.extend([key, float(op_value)])\n                    else:","sourceCodeStart":71,"sourceCodeEnd":107,"githubUrl":"https://github.com/mem0ai/mem0/blob/001c235229be8795e3834520467bd0d661ed8f34/mem0/vector_stores/pgvector.py#L71-L107","documentation":"Error \"Unsupported filter operator: {op}\" thrown in mem0ai/mem0.","triggerScenarios":"Thrown at mem0/vector_stores/pgvector.py:89 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a supported PGVector filter operator (eq, ne, gt, gte, lt, lte, in, nin, contains, icontains)."],"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-15T22:17:37.221Z"}