This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 11903d29a1ed244e104ad2c08328928823a54547
Author: zy-kkk <[email protected]>
AuthorDate: Tue Mar 5 15:53:52 2024 +0800

    [fix](jdbc catalog) fix close abort in sqlserver (#31718)
---
 .../org/apache/doris/jdbc/SQLServerJdbcExecutor.java     | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git 
a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/SQLServerJdbcExecutor.java
 
b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/SQLServerJdbcExecutor.java
index ec5d0e3d725..655217fd07e 100644
--- 
a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/SQLServerJdbcExecutor.java
+++ 
b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/SQLServerJdbcExecutor.java
@@ -22,7 +22,11 @@ import org.apache.doris.common.jni.vec.ColumnType.Type;
 import org.apache.doris.common.jni.vec.ColumnValueConverter;
 import org.apache.doris.common.jni.vec.VectorTable;
 
+import com.google.common.util.concurrent.MoreExecutors;
+
+import java.sql.Connection;
 import java.sql.Date;
+import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Timestamp;
 import java.time.LocalDate;
@@ -33,6 +37,18 @@ public class SQLServerJdbcExecutor extends BaseJdbcExecutor {
         super(thriftParams);
     }
 
+    @Override
+    protected boolean abortReadConnection(Connection connection, ResultSet 
resultSet)
+            throws SQLException {
+        if (!resultSet.isAfterLast()) {
+            // Abort connection before closing. Without this, the SQLServer 
driver
+            // attempts to drain the connection by reading all the results.
+            connection.abort(MoreExecutors.directExecutor());
+            return true;
+        }
+        return false;
+    }
+
     @Override
     protected void initializeBlock(int columnCount, String[] 
replaceStringList, int batchSizeNum,
             VectorTable outputTable) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to