Sfoglia il codice sorgente

unmask AffectedRows

Julien Schmidt 12 anni fa
parent
commit
d571cdaa30
2 ha cambiato i file con 18 aggiunte e 32 eliminazioni
  1. 2 11
      connection.go
  2. 16 21
      statement.go

+ 2 - 11
connection.go

@@ -158,22 +158,13 @@ func (mc *mysqlConn) exec(query string) (err error) {
 	// Read Result
 	var resLen int
 	resLen, err = mc.readResultSetHeaderPacket()
-	if err != nil {
-		return
-	}
-
-	if resLen > 0 {
+	if err == nil && resLen > 0 {
 		_, err = mc.readUntilEOF()
 		if err != nil {
 			return
 		}
 
-		if mc.affectedRows > 0 {
-			_, err = mc.readUntilEOF()
-			return
-		}
-
-		mc.affectedRows, err = mc.readUntilEOF()
+		_, err = mc.readUntilEOF()
 	}
 
 	return

+ 16 - 21
statement.go

@@ -43,31 +43,26 @@ func (stmt *mysqlStmt) Exec(args []driver.Value) (driver.Result, error) {
 	// Read Result
 	var resLen int
 	resLen, err = stmt.mc.readResultSetHeaderPacket()
-	if err != nil {
-		return nil, err
-	}
-
-	if resLen > 0 {
-		// Columns
-		_, err = stmt.mc.readUntilEOF()
-		if err != nil {
-			return nil, err
+	if err == nil {
+		if resLen > 0 {
+			// Columns
+			_, err = stmt.mc.readUntilEOF()
+			if err != nil {
+				return nil, err
+			}
+
+			// Rows
+			_, err = stmt.mc.readUntilEOF()
 		}
-
-		// Rows
-		stmt.mc.affectedRows, err = stmt.mc.readUntilEOF()
-		if err != nil {
-			return nil, err
+		if err == nil {
+			return &mysqlResult{
+				affectedRows: int64(stmt.mc.affectedRows),
+				insertId:     int64(stmt.mc.insertId),
+			}, nil
 		}
 	}
-	if err != nil {
-		return nil, err
-	}
 
-	return &mysqlResult{
-		affectedRows: int64(stmt.mc.affectedRows),
-		insertId:     int64(stmt.mc.insertId),
-	}, nil
+	return nil, err
 }
 
 func (stmt *mysqlStmt) Query(args []driver.Value) (driver.Rows, error) {