[Bug] Optimize querying from PostgreSQL and MySQL compatibility (#5741)
1. Use the param `UseDeclareFetch` to fix the memory consumption of PostgreSQL Driver 2. Fix the bug of mysql client 5.1 query failed Doris
This commit is contained in:
@ -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(),
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user