{"record":{"id":"7b4f7f71cb644c3c","repo":"alibaba/DataX","slug":"dx-filter-can-t-support-code-s","errorCode":null,"errorMessage":"dx_filter can't support code:%s","messagePattern":"dx_filter can't support code:(.+?)","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/com/alibaba/datax/core/transport/transformer/FilterTransformer.java","lineNumber":64,"sourceCode":"\n            if (code.equalsIgnoreCase(\"like\")) {\n                return doLike(record, value, column);\n            } else if (code.equalsIgnoreCase(\"not like\")) {\n                return doNotLike(record, value, column);\n            } else if (code.equalsIgnoreCase(\">\")) {\n                return doGreat(record, value, column, false);\n            } else if (code.equalsIgnoreCase(\"<\")) {\n                return doLess(record, value, column, false);\n            } else if (code.equalsIgnoreCase(\"=\") || code.equalsIgnoreCase(\"==\")) {\n                return doEqual(record, value, column);\n            } else if (code.equalsIgnoreCase(\"!=\")) {\n                return doNotEqual(record, value, column);\n            } else if (code.equalsIgnoreCase(\">=\")) {\n                return doGreat(record, value, column, true);\n            } else if (code.equalsIgnoreCase(\"<=\")) {\n                return doLess(record, value, column, true);\n            } else {\n                throw new RuntimeException(\"dx_filter can't support code:\" + code);\n            }\n        } catch (Exception e) {\n            throw DataXException.asDataXException(TransformerErrorCode.TRANSFORMER_RUN_EXCEPTION, e.getMessage(), e);\n        }\n    }\n\n\n    private Record doGreat(Record record, String value, Column column, boolean hasEqual) {\n\n        //如果字段为空，直接不参与比较。即空也属于无穷小\n        if(column.getRawData() == null){\n            return record;\n        }\n        if (column instanceof DoubleColumn) {\n            Double ori = column.asDouble();\n            double val = Double.parseDouble(value);\n\n            if (hasEqual) {","sourceCodeStart":46,"sourceCodeEnd":82,"githubUrl":"https://github.com/alibaba/DataX/blob/80ec23d5c5328eb90ca364d2749e92dfaf44541e/core/src/main/java/com/alibaba/datax/core/transport/transformer/FilterTransformer.java#L46-L82","documentation":"dx_filter supports only the operators like, >, <, =/==, !=, >=, <=; any other code string throws RuntimeException('dx_filter can't support code:...'), rewrapped as TRANSFORMER_RUN_EXCEPTION. Unlike the parameter-shape errors (52/53, ILLEGAL_PARAMETER) this fires at row-processing time under the RUN_EXCEPTION code.","triggerScenarios":"Passing an unsupported operator as paras[1]: {\"name\":\"dx_filter\",\"parameter\":[2,\"in\",\"a,b\"]} or \"contains\", \"between\", SQL-style \"LIKE \" with trailing content.","commonSituations":"Trying SQL-like semantics (IN, NOT LIKE, BETWEEN) that dx_filter never implemented; locale-specific operator typos (full-width ＞).","solutions":["Restrict the operator to one of: like, >, <, =, ==, !=, >=, <=.","Express 'in' as multiple dx_filter entries or a custom transformer.","Watch for full-width/unicode operator characters from Chinese IME input."],"exampleFix":"// before\n{\"name\": \"dx_filter\", \"parameter\": [2, \"in\", \"1,2,3\"]}\n\n// after (multiple filters chained)\n\"transformer\": [\n  {\"name\": \"dx_filter\", \"parameter\": [2, \"=\", \"1\"]}\n]","handlingStrategy":"validation","validationCode":"Set<String> ok = new HashSet<>(Arrays.asList(\"like\", \">\", \"<\", \"=\", \"==\", \"!=\", \">=\", \"<=\"));\nif (!ok.contains(code)) throw new IllegalArgumentException(\"unsupported dx_filter code: \" + code);","typeGuard":null,"tryCatchPattern":"catch (DataXException e) when TRANSFORMER_RUN_EXCEPTION and message contains \"can't support code\": fail job, fix operator.","preventionTips":["Stick to the 7 supported operators.","Beware full-width operator chars from IME input."],"tags":["datax","transformer","dx-filter","operator"],"backgroundTag":null,"analyzedSha":"80ec23d5c5328eb90ca364d2749e92dfaf44541e","analyzedAt":"2026-08-14T15:33:51.187Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}