66// "License"); you may not use this file except in compliance
77// with the License. You may obtain a copy of the License at
88//
9- // http://www.apache.org/licenses/LICENSE-2.0
9+ // http://www.apache.org/licenses/LICENSE-2.0
1010//
1111// Unless required by applicable law or agreed to in writing,
1212// software distributed under the License is distributed on an
@@ -30,80 +30,80 @@ import (
3030 "github.com/jmoiron/sqlx"
3131)
3232
33- //Client provides abstractions that access doris cluster methods.
33+ // Client provides abstractions that access doris cluster methods.
3434type Client interface {
35- ShowFrontends () ([]* cmdtypes.Frontend , error )
36- ShowBackends () ([]* cmdtypes.Backend , error )
35+ ShowFrontends () ([]* cmdtypes.Frontend , error )
36+ ShowBackends () ([]* cmdtypes.Backend , error )
3737}
3838
3939var _ Client = & DorisClient {}
4040
4141type DorisClient struct {
42- db * sqlx.DB
42+ db * sqlx.DB
4343}
4444
45- func NewDorisClient (dc * DorisConfig ) (* DorisClient , error ) {
45+ func NewDorisClient (dc * DorisConfig ) (* DorisClient , error ) {
4646 user := dc .User
4747 password := dc .Password
4848 host := dc .FeHost
4949 queryPort := strconv .Itoa (dc .QueryPort )
50- dsn := fmt .Sprintf ("%s:%s@tcp(%s:%s)/%s" , user , password , host , queryPort , "mysql" )
50+ dsn := fmt .Sprintf ("%s:%s@tcp(%s:%s)/%s" , user , password , host , queryPort , "mysql" )
5151 rootCertPool := x509 .NewCertPool ()
52- if dc .SSLCaPath != "" {
53- pem , err := os .ReadFile (dc .SSLCaPath )
54- if err != nil {
55- return nil , errors .New ("read root ca cert failed," + err .Error ())
56- }
52+ if dc .SSLCaPath != "" {
53+ pem , err := os .ReadFile (dc .SSLCaPath )
54+ if err != nil {
55+ return nil , errors .New ("read root ca cert failed," + err .Error ())
56+ }
5757
58- if ok := rootCertPool .AppendCertsFromPEM (pem ); ! ok {
59- return nil , errors .New ("Failed to append ca cert or pem failed." )
60- }
58+ if ok := rootCertPool .AppendCertsFromPEM (pem ); ! ok {
59+ return nil , errors .New ("Failed to append ca cert or pem failed." )
60+ }
6161
62- clientCerts := make ([]tls.Certificate , 0 , 1 )
63- cCert , err := tls .LoadX509KeyPair (dc .SSLCrtPath , dc .SSLKeyPath )
64- if err != nil {
65- return nil , errors .New ("load x509 key pair failed," + err .Error ())
66- }
62+ clientCerts := make ([]tls.Certificate , 0 , 1 )
63+ cCert , err := tls .LoadX509KeyPair (dc .SSLCrtPath , dc .SSLKeyPath )
64+ if err != nil {
65+ return nil , errors .New ("load x509 key pair failed," + err .Error ())
66+ }
6767
68- clientCerts = append (clientCerts , cCert )
69- if err = mysql .RegisterTLSConfig ("doris" , & tls.Config {
70- RootCAs : rootCertPool ,
71- Certificates : clientCerts ,
72- }); err != nil {
73- return nil , errors .New ("register tls config failed," + err .Error ())
74- }
75- dsn = dsn + "?tls=doris"
76- }
68+ clientCerts = append (clientCerts , cCert )
69+ if err = mysql .RegisterTLSConfig ("doris" , & tls.Config {
70+ RootCAs : rootCertPool ,
71+ Certificates : clientCerts ,
72+ }); err != nil {
73+ return nil , errors .New ("register tls config failed," + err .Error ())
74+ }
75+ dsn = dsn + "?tls=doris"
76+ }
7777 db , err := sqlx .Open ("mysql" , dsn )
7878 if err != nil {
7979 return nil , errors .New ("NewDorisSqlDB sqlx.Open failed open doris sql client connection, err: " + err .Error ())
8080 }
8181
82- return & DorisClient {
83- db :db ,
84- }, nil
82+ return & DorisClient {
83+ db : db ,
84+ }, nil
8585}
8686
87- func (dc * DorisClient ) ShowFrontends ()([]* cmdtypes.Frontend , error ) {
88- if err := dc .db .Ping (); err != nil {
89- return nil , err
90- }
87+ func (dc * DorisClient ) ShowFrontends () ([]* cmdtypes.Frontend , error ) {
88+ if err := dc .db .Ping (); err != nil {
89+ return nil , err
90+ }
9191
92- var fs []* cmdtypes.Frontend
93- if err := dc .db .Select (& fs , "show frontends" ); err != nil {
94- return fs , err
95- }
96- return fs , nil
92+ var fs []* cmdtypes.Frontend
93+ if err := dc .db . Unsafe () .Select (& fs , "show frontends" ); err != nil {
94+ return fs , err
95+ }
96+ return fs , nil
9797}
9898
99- func (dc * DorisClient ) ShowBackends ()([]* cmdtypes.Backend , error ) {
100- if err := dc .db .Ping (); err != nil {
101- return nil , err
102- }
99+ func (dc * DorisClient ) ShowBackends () ([]* cmdtypes.Backend , error ) {
100+ if err := dc .db .Ping (); err != nil {
101+ return nil , err
102+ }
103103
104- var bs []* cmdtypes.Backend
105- if err := dc .db .Select (& bs , "show backends" ); err != nil {
106- return bs , err
107- }
108- return bs , nil
104+ var bs []* cmdtypes.Backend
105+ if err := dc .db . Unsafe () .Select (& bs , "show backends" ); err != nil {
106+ return bs , err
107+ }
108+ return bs , nil
109109}
0 commit comments