[Groonga-commit] groonga/grnci at 16a7245 [master] Use NewError2 in type.go.

Back to archive index

Susumu Yata null+****@clear*****
Wed Aug 2 16:36:32 JST 2017


Susumu Yata	2017-08-02 16:36:32 +0900 (Wed, 02 Aug 2017)

  New Revision: 16a72453699eea588e733cf17aaa5317c17fd4ea
  https://github.com/groonga/grnci/commit/16a72453699eea588e733cf17aaa5317c17fd4ea

  Message:
    Use NewError2 in type.go.

  Modified files:
    v2/type.go

  Modified: v2/type.go (+39 -60)
===================================================================
--- v2/type.go    2017-08-02 16:22:40 +0900 (9104bc5)
+++ v2/type.go    2017-08-02 16:36:32 +0900 (2cfacbf)
@@ -45,21 +45,18 @@ type ColumnField struct {
 func checkTableName(s string) error {
 	switch s {
 	case "":
-		return NewError(TypeError, map[string]interface{}{
-			"name":  s,
-			"error": "A table name must not be empty.",
+		return NewError2(TypeError, "A table name must not be empty.", map[string]interface{}{
+			"name": s,
 		})
 	case "Bool", "Int8", "Int16", "Int32", "Int64", "UInt8", "UInt16", "UInt32", "UInt64",
 		"Float", "ShortText", "Text", "LongText", "Time", "WGS84GeoPoint", "TokyoGeoPoint":
-		return NewError(TypeError, map[string]interface{}{
-			"name":  s,
-			"error": "The name specifies a built-in type and not available as a table name.",
+		return NewError2(TypeError, "The name specifies a built-in type and not available as a table name.", map[string]interface{}{
+			"name": s,
 		})
 	}
 	if s[0] == '_' {
-		return NewError(TypeError, map[string]interface{}{
-			"name":  s,
-			"error": "A table name must not start with '_'.",
+		return NewError2(TypeError, "A table name must not start with '_'.", map[string]interface{}{
+			"name": s,
 		})
 	}
 	for _, c := range s {
@@ -69,9 +66,8 @@ func checkTableName(s string) error {
 		case c >= 'a' && c <= 'z':
 		case c == '_':
 		default:
-			return NewError(TypeError, map[string]interface{}{
-				"name":  s,
-				"error": "A table name must consist of [0-9A-Za-z_].",
+			return NewError2(TypeError, "A table name must consist of [0-9A-Za-z_].", map[string]interface{}{
+				"name": s,
 			})
 		}
 	}
@@ -81,10 +77,9 @@ func checkTableName(s string) error {
 // parseIDOptions parses options of _id.
 func (cf *ColumnField) parseIDOptions(options []string) error {
 	if len(options) > 1 {
-		return NewError(TypeError, map[string]interface{}{
+		return NewError2(TypeError, "The tag must not contain more than one option.", map[string]interface{}{
 			"name":    cf.Name,
 			"options": options,
-			"error":   "The tag must not contain more than one option.",
 		})
 	}
 	if len(options) > 0 {
@@ -95,9 +90,8 @@ func (cf *ColumnField) parseIDOptions(options []string) error {
 		cf.Type = "UInt32"
 	case "UInt32":
 	default:
-		return NewError(TypeError, map[string]interface{}{
-			"type":  cf.Type,
-			"error": "The type is not supported as _id.",
+		return NewError2(TypeError, "The type is not supported as _id.", map[string]interface{}{
+			"type": cf.Type,
 		})
 	}
 	return nil
@@ -141,18 +135,16 @@ func (cf *ColumnField) checkKeyType() error {
 			}
 		}
 		if cf.Type == "" {
-			return NewError(TypeError, map[string]interface{}{
-				"type":  reflect.TypeOf(cf.Field.Type).Name(),
-				"error": "The type is not supported as _key.",
+			return NewError2(TypeError, "The type is not supported as _key.", map[string]interface{}{
+				"type": reflect.TypeOf(cf.Field.Type).Name(),
 			})
 		}
 	case "Bool", "Int8", "Int16", "Int32", "Int64", "UInt8", "UInt16", "UInt32", "UInt64",
 		"Float", "ShortText", "Time", "WGS84GeoPoint", "TokyoGeoPoint":
 	default:
 		if err := checkTableName(cf.Type); err != nil {
-			return NewError(TypeError, map[string]interface{}{
-				"type":  cf.Type,
-				"error": "The type is not supported as _key.",
+			return NewError2(TypeError, "The type is not supported as _key.", map[string]interface{}{
+				"type": cf.Type,
 			})
 		}
 	}
@@ -237,17 +229,15 @@ func (cf *ColumnField) checkValue() error {
 			}
 		}
 		if cf.Type == "" {
-			return NewError(TypeError, map[string]interface{}{
-				"type":  reflect.TypeOf(cf.Field.Type).Name(),
-				"error": "The type is not supported as _value.",
+			return NewError2(TypeError, "The type is not supported as _value.", map[string]interface{}{
+				"type": reflect.TypeOf(cf.Field.Type).Name(),
 			})
 		}
 	case "Bool", "Int8", "Int16", "Int32", "Int64", "UInt8", "UInt16", "UInt32", "UInt64",
 		"Float", "Time", "WGS84GeoPoint", "TokyoGeoPoint":
 	default:
-		return NewError(TypeError, map[string]interface{}{
-			"type":  cf.Type,
-			"error": "The type is not supported as _value.",
+		return NewError2(TypeError, "The type is not supported as _value.", map[string]interface{}{
+			"type": cf.Type,
 		})
 	}
 	return nil
@@ -256,10 +246,9 @@ func (cf *ColumnField) checkValue() error {
 // parseValueOptions parses options of _value.
 func (cf *ColumnField) parseValueOptions(options []string) error {
 	if len(options) > 1 {
-		return NewError(TypeError, map[string]interface{}{
+		return NewError2(TypeError, "The tag must not contain more than one option.", map[string]interface{}{
 			"name":    cf.Name,
 			"options": options,
-			"error":   "The tag must not contain more than one option.",
 		})
 	}
 	if len(options) > 0 {
@@ -275,10 +264,9 @@ func (cf *ColumnField) parseValueOptions(options []string) error {
 // parseScoreOptions parses options of _score.
 func (cf *ColumnField) parseScoreOptions(options []string) error {
 	if len(options) > 1 {
-		return NewError(TypeError, map[string]interface{}{
+		return NewError2(TypeError, "The tag must not contain more than one option.", map[string]interface{}{
 			"name":    cf.Name,
 			"options": options,
-			"error":   "The tag must not contain more than one option.",
 		})
 	}
 	if len(options) > 0 {
@@ -291,9 +279,8 @@ func (cf *ColumnField) parseScoreOptions(options []string) error {
 		cf.Type = "Float"
 	case "Int32", "Float":
 	default:
-		return NewError(TypeError, map[string]interface{}{
-			"type":  cf.Type,
-			"error": "The type is not supported as _score.",
+		return NewError2(TypeError, "The type is not supported as _score.", map[string]interface{}{
+			"type": cf.Type,
 		})
 	}
 	return nil
@@ -347,9 +334,8 @@ Loop:
 		}
 	}
 	if cf.Type == "" {
-		return NewError(TypeError, map[string]interface{}{
-			"type":  reflect.TypeOf(cf.Field.Type).Name(),
-			"error": "The type is not supported as a column.",
+		return NewError2(TypeError, "The type is not supported as a column.", map[string]interface{}{
+			"type": reflect.TypeOf(cf.Field.Type).Name(),
 		})
 	}
 	cf.Type = strings.Repeat("[]", dim) + cf.Type
@@ -372,9 +358,8 @@ func (cf *ColumnField) checkColumnType() error {
 		"Float", "ShortText", "Text", "LongText", "Time", "WGS84GeoPoint", "TokyoGeoPoint":
 	default:
 		if err := checkTableName(typ); err != nil {
-			return NewError(TypeError, map[string]interface{}{
-				"type":  cf.Type,
-				"error": "The type is not supported as a column.",
+			return NewError2(TypeError, "The type is not supported as a column.", map[string]interface{}{
+				"type": cf.Type,
 			})
 		}
 	}
@@ -386,15 +371,13 @@ func (cf *ColumnField) checkColumnType() error {
 func (cf *ColumnField) checkColumnName() error {
 	s := cf.Name
 	if s == "" {
-		return NewError(TypeError, map[string]interface{}{
-			"name":  s,
-			"error": "A column name must not be empty.",
+		return NewError2(TypeError, "A column name must not be empty.", map[string]interface{}{
+			"name": s,
 		})
 	}
 	if s[0] == '_' {
-		return NewError(TypeError, map[string]interface{}{
-			"name":  s,
-			"error": "A column name must not start with '_'.",
+		return NewError2(TypeError, "A column name must not start with '_'.", map[string]interface{}{
+			"name": s,
 		})
 	}
 	loadable := true
@@ -433,10 +416,9 @@ func (cf *ColumnField) checkColumn() error {
 // parseColumnOptions parses options of a column.
 func (cf *ColumnField) parseColumnOptions(options []string) error {
 	if len(options) > 2 {
-		return NewError(TypeError, map[string]interface{}{
+		return NewError2(TypeError, "The tag must not contain more than 2 options.", map[string]interface{}{
 			"name":    cf.Name,
 			"options": options,
-			"error":   "The tag must not contain more than 2 options.",
 		})
 	}
 	if len(options) > 0 {
@@ -468,10 +450,9 @@ func (cf *ColumnField) parseOptions(options []string) error {
 func newColumnField(field *reflect.StructField, index int) (*ColumnField, error) {
 	tag := field.Tag.Get(columnFieldTagKey)
 	if tag == "" {
-		return nil, NewError(TypeError, map[string]interface{}{
-			"name":  field.Name,
-			"tag":   field.Tag,
-			"error": "The struct field must have a non-empty " + columnFieldTagKey + " tag.",
+		return nil, NewError2(TypeError, "The struct field must have a non-empty "+columnFieldTagKey+" tag.", map[string]interface{}{
+			"name": field.Name,
+			"tag":  field.Tag,
 		})
 	}
 	values := strings.Split(tag, columnFieldTagDelim)
@@ -508,9 +489,8 @@ Loop:
 		case reflect.Struct:
 			break Loop
 		default:
-			return nil, NewError(TypeError, map[string]interface{}{
-				"type":  reflect.TypeOf(v).Name(),
-				"error": "The type is not supported as a row struct.",
+			return nil, NewError2(TypeError, "The type is not supported as a row struct.", map[string]interface{}{
+				"type": reflect.TypeOf(v).Name(),
 			})
 		}
 	}
@@ -539,9 +519,8 @@ Loop:
 			cfs = append(cfs, cf)
 		}
 		if _, ok := cfsByName[cf.Name]; ok {
-			return nil, NewError(TypeError, map[string]interface{}{
-				"name":  cf.Name,
-				"error": "The name appears more than once.",
+			return nil, NewError2(TypeError, "The name appears more than once.", map[string]interface{}{
+				"name": cf.Name,
 			})
 		}
 		cfsByName[cf.Name] = cf
-------------- next part --------------
HTML����������������������������...
Download 



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