Konstantin Orlov created IGNITE-15909: -----------------------------------------
Summary: Calcite. Default charset could be unsupported by Calcite Key: IGNITE-15909 URL: https://issues.apache.org/jira/browse/IGNITE-15909 Project: Ignite Issue Type: Bug Components: sql Reporter: Konstantin Orlov Currently the default charset is taken from JVM's defaults: {code:java|title=IgniteTypeFactory} @Override public Charset getDefaultCharset() { // Use JVM default charset rather then Calcite default charset (ISO-8859-1). return Charset.defaultCharset(); } {code} The problem occurs when someone tries to execute a query using calcite-based query engine on a specific platform which default charset in not supported (E.g Windows with its WINDOWS-1252). The list of supported charset is defined by this: {code:java|title=org.apache.calcite.sql.SqlUtil} /** * Translates a character set name from a SQL-level name into a Java-level * name. * * @param name SQL-level name * @return Java-level name, or null if SQL-level name is unknown */ public static @Nullable String translateCharacterSetName(String name) { switch (name) { case "BIG5": return "Big5"; case "LATIN1": return "ISO-8859-1"; case "UTF8": return "UTF-8"; case "UTF16": case "UTF-16": return ConversionUtil.NATIVE_UTF16_CHARSET_NAME; case "GB2312": case "GBK": case "UTF-16BE": case "UTF-16LE": case "ISO-8859-1": case "UTF-8": return name; default: return null; } } {code} The possible solution is to fallback to the UTF-8 when default charset is not supported. Another option is to explicitly stick to UTF-8. -- This message was sent by Atlassian Jira (v8.20.1#820001)