浏览代码

Delete the prep info struct if it failed to prepare

Chris Bannister 12 年之前
父节点
当前提交
e80fdd993e
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      conn.go

+ 7 - 0
conn.go

@@ -279,6 +279,13 @@ func (c *Conn) prepareStatement(stmt string, trace Tracer) (*queryInfo, error) {
 	}
 
 	flight.wg.Done()
+
+	if err != nil {
+		c.prepMu.Lock()
+		delete(c.prep, stmt)
+		c.prepMu.Unlock()
+	}
+
 	return flight.info, flight.err
 }