julianhyde commented on a change in pull request #1080: [CALCITE-2887] Improve 
performance of RexLiteral#toJavaString
URL: https://github.com/apache/calcite/pull/1080#discussion_r262445493
 
 

 ##########
 File path: core/src/main/java/org/apache/calcite/rex/RexLiteral.java
 ##########
 @@ -551,12 +552,16 @@ private static int width(TimeUnit timeUnit) {
    * Prints the value this literal as a Java string constant.
    */
   public void printAsJava(PrintWriter pw) {
-    printAsJava(value, pw, typeName, true, RexDigestIncludeType.NO_TYPE);
+    try {
+      appendAsJava(value, pw, typeName, true, RexDigestIncludeType.NO_TYPE);
+    } catch (IOException e) {
+      throw new IllegalStateException("IOException should not be raised with 
PrintWriter", e);
 
 Review comment:
   I like that way of thinking. We could state in the method javadoc that we 
don't allow an `Appendable` that might actually do I/O. (The goal is only to 
write to in-memory buffers.) And therefore if there is an `IOException` it is a 
coding error.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to