diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcTable.java index d937008d44..835e3c1a3c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcTable.java @@ -274,7 +274,7 @@ public class OdbcTable extends Table { "utf8"); break; case POSTGRESQL: - connectString = String.format("Driver=%s;Server=%s;Port=%s;DataBase=%s;Uid=%s;Pwd=%s;charset=%s", + connectString = String.format("Driver=%s;Server=%s;Port=%s;DataBase=%s;Uid=%s;Pwd=%s;charset=%s;UseDeclareFetch=1;Fetch=4096", getOdbcDriver(), getHost(), getPort(), @@ -282,6 +282,7 @@ public class OdbcTable extends Table { getUserName(), getPasswd(), "utf8"); + break; case MYSQL: connectString = String.format("Driver=%s;Server=%s;Port=%s;DataBase=%s;Uid=%s;Pwd=%s;charset=%s;forward_cursor=1;no_cache=1", getOdbcDriver(), diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlProto.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlProto.java index 3120eab648..5aa9eb234c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlProto.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlProto.java @@ -172,7 +172,10 @@ public class MysqlProto { // with password. // So Doris support the Protocol::AuthSwitchRequest to tell client to keep the default password plugin // which Doris is using now. - if (!handshakePacket.checkAuthPluginSameAsDoris(authPacket.getPluginName())) { + // Note: Check the authPacket whether support plugin auth firstly, before we check AuthPlugin between doris and client + // to compatible with older version: like mysql 5.1 + if (authPacket.getCapability().isPluginAuth() && + !handshakePacket.checkAuthPluginSameAsDoris(authPacket.getPluginName())) { // 1. clear the serializer serializer.reset(); // 2. build the auth switch request and send to the client