فهرست منبع

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()
 	flight.wg.Done()
+
+	if err != nil {
+		c.prepMu.Lock()
+		delete(c.prep, stmt)
+		c.prepMu.Unlock()
+	}
+
 	return flight.info, flight.err
 	return flight.info, flight.err
 }
 }