本文整理汇总了Golang中github.com/youtube/vitess/go/vt/vterrors.WithSuffix函数的典型用法代码示例。如果您正苦于以下问题:Golang WithSuffix函数的具体用法?Golang WithSuffix怎么用?Golang WithSuffix使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了WithSuffix函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: formatError
func formatError(err error) error {
if err == nil {
return nil
}
s := fmt.Sprintf(", vtgate: %v", servenv.ListeningURL.String())
return vterrors.WithSuffix(err, s)
}
示例2: handleExecuteError
func handleExecuteError(err error, statsKey []string, query map[string]interface{}, logger *logutil.ThrottledLogger) {
s := fmt.Sprintf(", vtgate: %v", servenv.ListeningURL.String())
newErr := vterrors.WithSuffix(err, s)
errStr := newErr.Error()
if strings.Contains(errStr, errDupKey) {
infoErrors.Add("DupKey", 1)
} else if strings.Contains(errStr, errOutOfRange) {
infoErrors.Add("OutOfRange", 1)
} else if strings.Contains(errStr, errTxPoolFull) {
normalErrors.Add(statsKey, 1)
} else {
normalErrors.Add(statsKey, 1)
logError(err, query, logger)
}
}
示例3: handleExecuteError
func handleExecuteError(err error, statsKey []string, query map[string]interface{}, logger *logutil.ThrottledLogger) error {
// First we log in the right category.
ec := vterrors.RecoverVtErrorCode(err)
switch ec {
case vtrpcpb.ErrorCode_INTEGRITY_ERROR:
// Duplicate key error, no need to log.
infoErrors.Add("DupKey", 1)
case vtrpcpb.ErrorCode_RESOURCE_EXHAUSTED, vtrpcpb.ErrorCode_BAD_INPUT:
// Tx pool full error, or bad input, no need to log.
normalErrors.Add(statsKey, 1)
default:
// Regular error, we will log if caused by vtgate.
normalErrors.Add(statsKey, 1)
logError(err, query, logger)
}
// Then we suffix the error with our address.
s := fmt.Sprintf(", vtgate: %v", servenv.ListeningURL.String())
return vterrors.WithSuffix(err, s)
}