{"record":{"id":"1c584a9ea33cf0e3","repo":"OtterMind/Chat2DB","slug":"invalid-oracle-raw-blob-hex-value","errorCode":null,"errorMessage":"Invalid Oracle RAW/BLOB hex value","messagePattern":"Invalid Oracle RAW/BLOB hex value","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"chat2db-community-server/chat2db-community-plugins/chat2db-community-oracle/src/main/java/ai/chat2db/plugin/oracle/OracleSqlGuards.java","lineNumber":92,"sourceCode":"        throw new IllegalArgumentException(\"Invalid Oracle index sort direction: \" + value);\n    }\n\n    /**\n     * Returns the raw hex digits represented by {@code value}. Non-hex input is\n     * replaced with the caller-provided base16 encoding, which is verified too.\n     */\n    public static String normalizeHexLiteral(String value, String fallbackHex) {\n        if (value == null) {\n            return null;\n        }\n        String candidate = value.startsWith(\"0x\") ? value.substring(2) : value;\n        if (isHex(candidate)) {\n            return candidate;\n        }\n        if (fallbackHex != null && isHex(fallbackHex)) {\n            return fallbackHex;\n        }\n        throw new IllegalArgumentException(\"Invalid Oracle RAW/BLOB hex value\");\n    }\n\n    public static String requireKeyword(String description, String value, String... allowedValues) {\n        for (String allowedValue : allowedValues) {\n            if (allowedValue.equalsIgnoreCase(StringUtils.trimToEmpty(value))) {\n                return allowedValue;\n            }\n        }\n        throw new IllegalArgumentException(\"Unsupported Oracle \" + description + \": \" + value);\n    }\n\n    private static void scanExpression(String expression, boolean typeExpression, String description) {\n        Deque<Character> delimiters = new ArrayDeque<>();\n        List<String> topLevelWords = new ArrayList<>();\n        boolean sawToken = false;\n\n        for (int i = 0; i < expression.length(); i++) {\n            char c = expression.charAt(i);","sourceCodeStart":74,"sourceCodeEnd":110,"githubUrl":"https://github.com/OtterMind/Chat2DB/blob/5ee1e990e73fbcae1969dc554be254fedb3ab888/chat2db-community-server/chat2db-community-plugins/chat2db-community-oracle/src/main/java/ai/chat2db/plugin/oracle/OracleSqlGuards.java#L74-L110","documentation":"Error \"Invalid Oracle RAW/BLOB hex value\" thrown in OtterMind/Chat2DB.","triggerScenarios":"An Oracle RAW or BLOB literal contained invalid hexadecimal content.","commonSituations":"See trigger scenarios.","solutions":["Provide an even-length string of hexadecimal digits for RAW/BLOB literals."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5ee1e990e73fbcae1969dc554be254fedb3ab888","analyzedAt":"2026-08-14T07:05:03.077Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}