{"record":{"id":"2961493bdbe54251","repo":"apache/seatunnel","slug":"not-support-the-placeholder-s","errorCode":null,"errorMessage":"Not support the placeholder: %s","messagePattern":"Not support the placeholder: (.+?)","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"seatunnel-api/src/main/java/org/apache/seatunnel/api/sink/SaveModePlaceHolder.java","lineNumber":57,"sourceCode":"    private static final String PLACE_HOLDER = \"${%s}\";\n\n    SaveModePlaceHolder(String keyValue, String display) {\n        this.keyValue = keyValue;\n        this.display = display;\n    }\n\n    public static String getDisplay(String placeholder) {\n        Optional<SaveModePlaceHolder> saveModePlaceHolderEnumOptional =\n                Arrays.stream(SaveModePlaceHolder.values())\n                        .filter(\n                                saveModePlaceHolderEnum ->\n                                        placeholder.equals(\n                                                saveModePlaceHolderEnum.getPlaceHolder()))\n                        .findFirst();\n        if (saveModePlaceHolderEnumOptional.isPresent()) {\n            return saveModePlaceHolderEnumOptional.get().display;\n        }\n        throw new RuntimeException(String.format(\"Not support the placeholder: %s\", placeholder));\n    }\n\n    public String getPlaceHolderKey() {\n        return this.keyValue;\n    }\n\n    public String getPlaceHolder() {\n        return String.format(PLACE_HOLDER, getPlaceHolderKey());\n    }\n\n    public String getReplacePlaceHolder() {\n        return String.format(REPLACE_PLACE_HOLDER, getPlaceHolderKey());\n    }\n}\n","sourceCodeStart":39,"sourceCodeEnd":72,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-api/src/main/java/org/apache/seatunnel/api/sink/SaveModePlaceHolder.java#L39-L72","documentation":"SaveModePlaceHolder.getDisplay could not match the incoming placeholder string against any enum constant's keyValue — the '${name}' token used in custom save-mode SQL is not one of the supported placeholders (such as database or table). The unrecognized placeholder string itself is the input at fault; the enum lookup simply found no match.","triggerScenarios":"Thrown at seatunnel-api/src/main/java/org/apache/seatunnel/api/sink/SaveModePlaceHolder.java:57 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the placeholder spelling inside the custom SQL against the supported SaveModePlaceHolder keys (e.g. ${database}, ${table})","Remove the unsupported placeholder and hardcode the value if no variable applies","Add a new enum constant if a genuinely new placeholder is needed, and document it"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}