[Groonga-commit] groonga/grnci at d1a5a46 [master] Simplify DB.Status.

Back to archive index

Susumu Yata null+****@clear*****
Tue Sep 12 16:29:19 JST 2017


Susumu Yata	2017-09-12 16:29:19 +0900 (Tue, 12 Sep 2017)

  New Revision: d1a5a461e689a22406b65ca9e15b2156517a562d
  https://github.com/groonga/grnci/commit/d1a5a461e689a22406b65ca9e15b2156517a562d

  Message:
    Simplify DB.Status.
    
    Ref: #42

  Modified files:
    v2/db.go
    v2/libgrn/db_test.go

  Modified: v2/db.go (+46 -45)
===================================================================
--- v2/db.go    2017-09-12 16:26:13 +0900 (48b21f8)
+++ v2/db.go    2017-09-12 16:29:19 +0900 (07d96af)
@@ -2103,72 +2103,73 @@ type DBStatus struct {
 }
 
 // Status executes status.
-func (db *DB) Status() (*DBStatus, Response, error) {
+func (db *DB) Status() (*DBStatus, error) {
 	resp, err := db.Invoke("status", nil, nil)
 	if err != nil {
-		return nil, nil, err
+		return nil, err
 	}
 	defer resp.Close()
 	jsonData, err := ioutil.ReadAll(resp)
 	if err != nil {
-		return nil, resp, err
+		return nil, err
 	}
 	var data map[string]interface{}
-	if err := json.Unmarshal(jsonData, &data); err != nil {
-		if resp.Err() != nil {
-			return nil, resp, nil
+	if len(jsonData) != 0 {
+		if err := json.Unmarshal(jsonData, &data); err != nil {
+			return nil, NewError(ResponseError, "json.Unmarshal failed.", map[string]interface{}{
+				"error": err.Error(),
+			})
 		}
-		return nil, resp, NewError(ResponseError, "json.Unmarshal failed.", map[string]interface{}{
-			"error": err.Error(),
-		})
 	}
 	var result DBStatus
-	if v, ok := data["alloc_count"]; ok {
-		if v, ok := v.(float64); ok {
-			result.AllocCount = int(v)
+	if data != nil {
+		if v, ok := data["alloc_count"]; ok {
+			if v, ok := v.(float64); ok {
+				result.AllocCount = int(v)
+			}
 		}
-	}
-	if v, ok := data["cache_hit_rate"]; ok {
-		if v, ok := v.(float64); ok {
-			result.CacheHitRate = v
+		if v, ok := data["cache_hit_rate"]; ok {
+			if v, ok := v.(float64); ok {
+				result.CacheHitRate = v
+			}
 		}
-	}
-	if v, ok := data["command_version"]; ok {
-		if v, ok := v.(float64); ok {
-			result.CommandVersion = int(v)
+		if v, ok := data["command_version"]; ok {
+			if v, ok := v.(float64); ok {
+				result.CommandVersion = int(v)
+			}
 		}
-	}
-	if v, ok := data["default_command_version"]; ok {
-		if v, ok := v.(float64); ok {
-			result.DefaultCommandVersion = int(v)
+		if v, ok := data["default_command_version"]; ok {
+			if v, ok := v.(float64); ok {
+				result.DefaultCommandVersion = int(v)
+			}
 		}
-	}
-	if v, ok := data["max_command_version"]; ok {
-		if v, ok := v.(float64); ok {
-			result.MaxCommandVersion = int(v)
+		if v, ok := data["max_command_version"]; ok {
+			if v, ok := v.(float64); ok {
+				result.MaxCommandVersion = int(v)
+			}
 		}
-	}
-	if v, ok := data["n_queries"]; ok {
-		if v, ok := v.(float64); ok {
-			result.NQueries = int(v)
+		if v, ok := data["n_queries"]; ok {
+			if v, ok := v.(float64); ok {
+				result.NQueries = int(v)
+			}
 		}
-	}
-	if v, ok := data["start_time"]; ok {
-		if v, ok := v.(float64); ok {
-			result.StartTime = time.Unix(int64(v), 0)
+		if v, ok := data["start_time"]; ok {
+			if v, ok := v.(float64); ok {
+				result.StartTime = time.Unix(int64(v), 0)
+			}
 		}
-	}
-	if v, ok := data["uptime"]; ok {
-		if v, ok := v.(float64); ok {
-			result.Uptime = time.Duration(time.Duration(v) * time.Second)
+		if v, ok := data["uptime"]; ok {
+			if v, ok := v.(float64); ok {
+				result.Uptime = time.Duration(time.Duration(v) * time.Second)
+			}
 		}
-	}
-	if v, ok := data["version"]; ok {
-		if v, ok := v.(string); ok {
-			result.Version = v
+		if v, ok := data["version"]; ok {
+			if v, ok := v.(string); ok {
+				result.Version = v
+			}
 		}
 	}
-	return &result, resp, nil
+	return &result, resp.Err()
 }
 
 // TableCopy executes table_copy.

  Modified: v2/libgrn/db_test.go (+1 -4)
===================================================================
--- v2/libgrn/db_test.go    2017-09-12 16:26:13 +0900 (90ba0aa)
+++ v2/libgrn/db_test.go    2017-09-12 16:29:19 +0900 (d85a682)
@@ -857,10 +857,7 @@ func TestDBStatus(t *testing.T) {
 	db, dir := makeDB(t)
 	defer removeDB(db, dir)
 
-	result, resp, err := db.Status()
-	if err == nil {
-		err = resp.Err()
-	}
+	result, err := db.Status()
 	if err != nil {
 		t.Fatalf("db.Status failed: %v", err)
 	}
-------------- next part --------------
HTML����������������������������...
URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20170912/39744e81/attachment-0001.htm 



More information about the Groonga-commit mailing list
Back to archive index