@@ -123,7 +123,7 @@ func (c *Conn) getConn(n *Node, isSelect bool) (co *client.SqlConn, err error) {
123123 return
124124}
125125
126- func (c * Conn ) getShardConns (stmt sqlparser.Statement , bindVars map [string ]interface {}) ([]* client.SqlConn , error ) {
126+ func (c * Conn ) getShardConns (isSelect bool , stmt sqlparser.Statement , bindVars map [string ]interface {}) ([]* client.SqlConn , error ) {
127127 nodes , err := c .getShardList (stmt , bindVars )
128128 if err != nil {
129129 return nil , err
@@ -135,7 +135,7 @@ func (c *Conn) getShardConns(stmt sqlparser.Statement, bindVars map[string]inter
135135
136136 var co * client.SqlConn
137137 for _ , n := range nodes {
138- co , err = c .getConn (n , true )
138+ co , err = c .getConn (n , isSelect )
139139 if err != nil {
140140 break
141141 }
@@ -236,7 +236,7 @@ func makeBindVars(args []interface{}) map[string]interface{} {
236236func (c * Conn ) handleSelect (stmt * sqlparser.Select , sql string , args []interface {}) error {
237237 bindVars := makeBindVars (args )
238238
239- conns , err := c .getShardConns (stmt , bindVars )
239+ conns , err := c .getShardConns (true , stmt , bindVars )
240240 if err != nil {
241241 return err
242242 } else if conns == nil {
@@ -288,7 +288,7 @@ func (c *Conn) commitShardConns(conns []*client.SqlConn) error {
288288func (c * Conn ) handleExec (stmt sqlparser.Statement , sql string , args []interface {}) error {
289289 bindVars := makeBindVars (args )
290290
291- conns , err := c .getShardConns (stmt , bindVars )
291+ conns , err := c .getShardConns (false , stmt , bindVars )
292292 if err != nil {
293293 return err
294294 } else if conns == nil {
0 commit comments