2
0

Add pgtype GenericText and GenericBinary

Rows.Values uses this for unknown types.
This commit is contained in:
Jack Christensen
2017-03-11 20:28:14 -06:00
parent aac8fd66f2
commit 3391818847
3 changed files with 60 additions and 7 deletions
+2 -7
View File
@@ -325,16 +325,11 @@ func (rows *Rows) Values() ([]interface{}, error) {
continue
}
pgVal := rows.conn.oidPgtypeValues[vr.Type().DataType].(pgtype.TextDecoder)
if pgVal == nil {
panic("need GenericText or GenericBinary")
}
switch vr.Type().FormatCode {
case TextFormatCode:
decoder := rows.conn.oidPgtypeValues[vr.Type().DataType].(pgtype.TextDecoder)
if decoder == nil {
panic("need GenericText")
decoder = &pgtype.GenericText{}
}
err := decoder.DecodeText(vr.bytes())
if err != nil {
@@ -344,7 +339,7 @@ func (rows *Rows) Values() ([]interface{}, error) {
case BinaryFormatCode:
decoder := rows.conn.oidPgtypeValues[vr.Type().DataType].(pgtype.BinaryDecoder)
if decoder == nil {
panic("need GenericBinary")
decoder = &pgtype.GenericBinary{}
}
err := decoder.DecodeBinary(vr.bytes())
if err != nil {