{"record":{"id":"42083c47bb27673c","repo":"pola-rs/polars","slug":"unknown-lhs-op-rhs","errorCode":null,"errorMessage":"Unknown: {lhs} {op} {rhs}","messagePattern":"Unknown: (.+?) (.+?) (.+?)","errorType":"exception","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"py-polars/src/polars/io/iceberg/_utils.py","lineNumber":239,"sourceCode":"\n@_convert_predicate.register(Attribute)\ndef _(a: Attribute) -> Any:\n    return a.attr\n\n\n@_convert_predicate.register(BinOp)\ndef _(a: BinOp) -> Any:\n    lhs = _ensure_boolean_expression(_convert_predicate(a.left))\n    rhs = _ensure_boolean_expression(_convert_predicate(a.right))\n\n    op = a.op\n    if isinstance(op, BitAnd):\n        return pyiceberg.expressions.And(lhs, rhs)\n    if isinstance(op, BitOr):\n        return pyiceberg.expressions.Or(lhs, rhs)\n    else:\n        msg = f\"Unknown: {lhs} {op} {rhs}\"\n        raise TypeError(msg)\n\n\n@_convert_predicate.register(Compare)\ndef _(a: Compare) -> Any:\n    op = a.ops[0]\n    lhs = _convert_predicate(a.left)[0]\n    rhs = _convert_predicate(a.comparators[0])\n\n    if isinstance(op, Gt):\n        return pyiceberg.expressions.GreaterThan(lhs, rhs)  # type: ignore[misc, call-arg]\n    if isinstance(op, GtE):\n        return pyiceberg.expressions.GreaterThanOrEqual(lhs, rhs)  # type: ignore[misc, call-arg]\n    if isinstance(op, Eq):\n        return pyiceberg.expressions.EqualTo(lhs, rhs)  # type: ignore[misc, call-arg]\n    if isinstance(op, Lt):\n        return pyiceberg.expressions.LessThan(lhs, rhs)  # type: ignore[misc, call-arg]\n    if isinstance(op, LtE):\n        return pyiceberg.expressions.LessThanOrEqual(lhs, rhs)  # type: ignore[misc, call-arg]","sourceCodeStart":221,"sourceCodeEnd":257,"githubUrl":"https://github.com/pola-rs/polars/blob/df599052daf96e7a9cc30a3b0c6bd25d6947e3c0/py-polars/src/polars/io/iceberg/_utils.py#L221-L257","documentation":"Error \"Unknown: {lhs} {op} {rhs}\" thrown in pola-rs/polars.","triggerScenarios":"Thrown at py-polars/src/polars/io/iceberg/_utils.py:239 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"df599052daf96e7a9cc30a3b0c6bd25d6947e3c0","analyzedAt":"2026-08-16T12:10:03.978Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}