本文整理匯總了Golang中github.com/youtube/vitess/go/sqltypes.Result.Extras方法的典型用法代碼示例。如果您正苦於以下問題:Golang Result.Extras方法的具體用法?Golang Result.Extras怎麽用?Golang Result.Extras使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/youtube/vitess/go/sqltypes.Result
的用法示例。
在下文中一共展示了Result.Extras方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: appendResult
func appendResult(qr, innerqr *sqltypes.Result) {
if innerqr.RowsAffected == 0 && len(innerqr.Fields) == 0 {
return
}
if qr.Fields == nil {
qr.Fields = innerqr.Fields
}
qr.RowsAffected += innerqr.RowsAffected
if innerqr.InsertID != 0 {
qr.InsertID = innerqr.InsertID
}
if len(qr.Rows) == 0 {
// we haven't gotten any result yet, just save the new extras.
qr.Extras = innerqr.Extras
} else {
// Merge the EventTokens / Fresher flags within Extras.
if innerqr.Extras == nil {
// We didn't get any from innerq. Have to clear any
// we'd have gotten already.
if qr.Extras != nil {
qr.Extras.EventToken = nil
qr.Extras.Fresher = false
}
} else {
// We may have gotten an EventToken from
// innerqr. If we also got one earlier, merge
// it. If we didn't get one earlier, we
// discard the new one.
if qr.Extras != nil {
// Note if any of the two is nil, we get nil.
qr.Extras.EventToken = eventtoken.Minimum(qr.Extras.EventToken, innerqr.Extras.EventToken)
qr.Extras.Fresher = qr.Extras.Fresher && innerqr.Extras.Fresher
}
}
}
qr.Rows = append(qr.Rows, innerqr.Rows...)
}