mirror of https://github.com/jackc/pgx.git
Add driver.RowsColumnTypeDatabaseTypeName support to stdlib.Rows
parent
5ee76a26c8
commit
f9cb22e4b8
|
@ -71,6 +71,7 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"github.com/jackc/pgx"
|
||||
|
@ -405,6 +406,10 @@ func (r *Rows) Columns() []string {
|
|||
return names
|
||||
}
|
||||
|
||||
func (r *Rows) ColumnTypeDatabaseTypeName(index int) string {
|
||||
return strings.ToUpper(r.rows.FieldDescriptions()[index].DataTypeName)
|
||||
}
|
||||
|
||||
func (r *Rows) Close() error {
|
||||
r.rows.Close()
|
||||
return nil
|
||||
|
|
|
@ -1073,3 +1073,30 @@ func TestConnQueryContextCancel(t *testing.T) {
|
|||
t.Errorf("mock server err: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRowsColumnTypeDatabaseTypeName(t *testing.T) {
|
||||
db := openDB(t)
|
||||
defer closeDB(t, db)
|
||||
|
||||
rows, err := db.Query("select * from generate_series(1,10) n")
|
||||
if err != nil {
|
||||
t.Fatalf("db.Query failed: %v", err)
|
||||
}
|
||||
|
||||
columnTypes, err := rows.ColumnTypes()
|
||||
if err != nil {
|
||||
t.Fatalf("rows.ColumnTypes failed: %v", err)
|
||||
}
|
||||
|
||||
if len(columnTypes) != 1 {
|
||||
t.Fatalf("len(columnTypes) => %v, want %v", len(columnTypes), 1)
|
||||
}
|
||||
|
||||
if columnTypes[0].DatabaseTypeName() != "INT4" {
|
||||
t.Errorf("columnTypes[0].DatabaseTypeName() => %v, want %v", columnTypes[0].DatabaseTypeName(), "INT4")
|
||||
}
|
||||
|
||||
rows.Close()
|
||||
|
||||
ensureConnValid(t, db)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue