OtterMind/Chat2DB · error · IllegalArgumentException
Invalid Oracle RAW/BLOB hex value
Error message
Invalid Oracle RAW/BLOB hex value
What it means
Error "Invalid Oracle RAW/BLOB hex value" thrown in OtterMind/Chat2DB.
Source
Thrown at chat2db-community-server/chat2db-community-plugins/chat2db-community-oracle/src/main/java/ai/chat2db/plugin/oracle/OracleSqlGuards.java:92
throw new IllegalArgumentException("Invalid Oracle index sort direction: " + value);
}
/**
* Returns the raw hex digits represented by {@code value}. Non-hex input is
* replaced with the caller-provided base16 encoding, which is verified too.
*/
public static String normalizeHexLiteral(String value, String fallbackHex) {
if (value == null) {
return null;
}
String candidate = value.startsWith("0x") ? value.substring(2) : value;
if (isHex(candidate)) {
return candidate;
}
if (fallbackHex != null && isHex(fallbackHex)) {
return fallbackHex;
}
throw new IllegalArgumentException("Invalid Oracle RAW/BLOB hex value");
}
public static String requireKeyword(String description, String value, String... allowedValues) {
for (String allowedValue : allowedValues) {
if (allowedValue.equalsIgnoreCase(StringUtils.trimToEmpty(value))) {
return allowedValue;
}
}
throw new IllegalArgumentException("Unsupported Oracle " + description + ": " + value);
}
private static void scanExpression(String expression, boolean typeExpression, String description) {
Deque<Character> delimiters = new ArrayDeque<>();
List<String> topLevelWords = new ArrayList<>();
boolean sawToken = false;
for (int i = 0; i < expression.length(); i++) {
char c = expression.charAt(i);View on GitHub (pinned to 5ee1e990e7)
Solutions
- Provide an even-length string of hexadecimal digits for RAW/BLOB literals.
When it happens
Trigger: An Oracle RAW or BLOB literal contained invalid hexadecimal content.
Common situations: See trigger scenarios.
AI-assisted analysis of OtterMind/Chat2DB@5ee1e990e7 (2026-08-14).
Data as JSON: /api/errors/1c584a9ea33cf0e3.
Report an issue: GitHub.