本文整理汇总了Golang中github.com/jackc/pgx.ValueReader.Err方法的典型用法代码示例。如果您正苦于以下问题:Golang ValueReader.Err方法的具体用法?Golang ValueReader.Err怎么用?Golang ValueReader.Err使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/jackc/pgx.ValueReader
的用法示例。
在下文中一共展示了ValueReader.Err方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Scan
func (f *Formatted) Scan(r *pgx.ValueReader) error {
if r.Len() == -1 {
return nil
}
*f = Formatted(r.ReadString(r.Len()))
return r.Err()
}
示例2: Scan
func (attr *Bytes) Scan(vr *pgx.ValueReader) error {
if vr.Len() == -1 {
attr.Value = nil
attr.Status = Null
return nil
}
attr.Value = vr.ReadBytes(vr.Len())
attr.Status = Present
return vr.Err()
}
示例3: Scan
func (p *NullPoint) Scan(vr *pgx.ValueReader) error {
if vr.Type().DataTypeName != "point" {
return pgx.SerializationError(fmt.Sprintf("NullPoint.Scan cannot decode %s (OID %d)", vr.Type().DataTypeName, vr.Type().DataType))
}
if vr.Len() == -1 {
p.X, p.Y, p.Valid = 0, 0, false
return nil
}
switch vr.Type().FormatCode {
case pgx.TextFormatCode:
s := vr.ReadString(vr.Len())
match := pointRegexp.FindStringSubmatch(s)
if match == nil {
return pgx.SerializationError(fmt.Sprintf("Received invalid point: %v", s))
}
var err error
p.X, err = strconv.ParseFloat(match[1], 64)
if err != nil {
return pgx.SerializationError(fmt.Sprintf("Received invalid point: %v", s))
}
p.Y, err = strconv.ParseFloat(match[2], 64)
if err != nil {
return pgx.SerializationError(fmt.Sprintf("Received invalid point: %v", s))
}
case pgx.BinaryFormatCode:
return errors.New("binary format not implemented")
default:
return fmt.Errorf("unknown format %v", vr.Type().FormatCode)
}
p.Valid = true
return vr.Err()
}