Details
-
Bug
-
Status: Resolved
-
P2
-
Resolution: Fixed
-
None
-
None
Description
Beam SQL overrides default charset that Calcite uses and sets it to UTF16. It is done via system properties.
Problem is that we do this only when it hasn't been set yet. So if system property has been set to ISO-8859-1 (Calcite's default), then test runs will fail when trying to encode characters not supported in that encoding.
Solution:
- because it's a system property, we don't want to force override it;
- for the same reason we cannot set it for a specific query execution;
- we can expose a static method on BeamSql to override these properties if explicitly requested;
- affected tests will explicitly override it;
- otherwise behavior will stay unchanged and we will respect defaults and user settings;