You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by GitBox <gi...@apache.org> on 2021/04/09 12:06:06 UTC

[GitHub] [calcite-avatica] chenyuzhi459 opened a new pull request #141: Fix AvaticaResultSet close with null AvaticaStatement

chenyuzhi459 opened a new pull request #141:
URL: https://github.com/apache/calcite-avatica/pull/141


   ## Problem:
   In `ArrayFactoryImpl.create(AvaticaType elementType, Iterable<Object> elements)` method, we will create AvaticaResultSet with a null statement, However in the `close()` menthod  for AvaticaResultSet, it doesn't valid null situation before we call ` statement.onResultSetClose(this);`, which cause npe exception.
   
   ## Solution:
   add check for statement in  `close()` method
   
   ## Key changed/added classes in this PR   
   org.apache.calcite.avatica.AvaticaResultSet
   
   
   


-- 
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:
users@infra.apache.org



[GitHub] [calcite-avatica] chenyuzhi459 commented on a change in pull request #141: Fix close AvaticaResultSet will throw NPE bug

Posted by GitBox <gi...@apache.org>.
chenyuzhi459 commented on a change in pull request #141:
URL: https://github.com/apache/calcite-avatica/pull/141#discussion_r610677819



##########
File path: core/src/test/java/org/apache/calcite/avatica/AvaticaClosedResultSetWithNullStatmentTest.java
##########
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.calcite.avatica;
+
+import org.apache.calcite.avatica.Meta.Signature;
+import org.apache.calcite.avatica.util.DateTimeUtils;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.lang.reflect.Method;
+import java.sql.ResultSet;
+import java.util.Collections;
+import java.util.function.Function;
+
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Tests for {@code AvaticaResultSet} relative to close behavior
+ */
+@RunWith(Parameterized.class)
+public class AvaticaClosedResultSetWithNullStatmentTest extends AvaticaClosedTestBase<ResultSet> {
+  // Mapping between Connection method and the verifier to check close behavior
+  private static final Function<Method, MethodVerifier> METHOD_MAPPING = method -> {

Review comment:
       Thanks for your tips, I have chaned it to a method




-- 
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:
users@infra.apache.org



[GitHub] [calcite-avatica] vlsi commented on a change in pull request #141: Fix close AvaticaResultSet will throw NPE bug

Posted by GitBox <gi...@apache.org>.
vlsi commented on a change in pull request #141:
URL: https://github.com/apache/calcite-avatica/pull/141#discussion_r610670156



##########
File path: core/src/test/java/org/apache/calcite/avatica/AvaticaClosedResultSetWithNullStatmentTest.java
##########
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.calcite.avatica;
+
+import org.apache.calcite.avatica.Meta.Signature;
+import org.apache.calcite.avatica.util.DateTimeUtils;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.lang.reflect.Method;
+import java.sql.ResultSet;
+import java.util.Collections;
+import java.util.function.Function;
+
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Tests for {@code AvaticaResultSet} relative to close behavior
+ */
+@RunWith(Parameterized.class)
+public class AvaticaClosedResultSetWithNullStatmentTest extends AvaticaClosedTestBase<ResultSet> {
+  // Mapping between Connection method and the verifier to check close behavior
+  private static final Function<Method, MethodVerifier> METHOD_MAPPING = method -> {

Review comment:
       Please use the regular Java method instead of Function field.
   
   For instance: `private static MethodVerifier methodVerifier(Method method)`




-- 
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:
users@infra.apache.org



[GitHub] [calcite-avatica] asfgit closed pull request #141: [CALCITE-4573] Fix close AvaticaResultSet will throw NPE bug

Posted by GitBox <gi...@apache.org>.
asfgit closed pull request #141:
URL: https://github.com/apache/calcite-avatica/pull/141


   


-- 
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.

To unsubscribe, e-mail: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [calcite-avatica] chenyuzhi459 edited a comment on pull request #141: [CALCITE-4573] Fix close AvaticaResultSet will throw NPE bug

Posted by GitBox <gi...@apache.org>.
chenyuzhi459 edited a comment on pull request #141:
URL: https://github.com/apache/calcite-avatica/pull/141#issuecomment-816721610


   > Thanks for the fix. It seems there are code style violations.
   > Is there a Jira ticket for this issue?
   
   I have crate jira ticket  [\[CALCITE-4573\]](https://issues.apache.org/jira/browse/CALCITE-4573) for this pr.


-- 
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:
users@infra.apache.org



[GitHub] [calcite-avatica] chenyuzhi459 commented on pull request #141: Fix close AvaticaResultSet will throw NPE bug

Posted by GitBox <gi...@apache.org>.
chenyuzhi459 commented on pull request #141:
URL: https://github.com/apache/calcite-avatica/pull/141#issuecomment-816721610


   > Thanks for the fix. It seems there are code style violations.
   > Is there a Jira ticket for this issue?
   
   Thanks for remindig me, I have fixed the code style violations using `./gradlew autostyleApply`.  I'd like to know how to create a  Jira ticket for this issue, beause it's I have no expirence for this yet? 


-- 
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:
users@infra.apache.org



[GitHub] [calcite-avatica] rubenada commented on pull request #141: Fix close AvaticaResultSet will throw NPE bug

Posted by GitBox <gi...@apache.org>.
rubenada commented on pull request #141:
URL: https://github.com/apache/calcite-avatica/pull/141#issuecomment-816694828


   Thanks for the fix. It seems there are code style violations.
   Is there a Jira ticket for this issue?


-- 
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:
users@infra.apache.org