diff --git a/README.md b/README.md index cb206b3a..439f71be 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Pgx supports many additional features beyond what is available through database/ * Full TLS connection control * Binary format support for custom types (can be much faster) * Copy protocol support for faster bulk data loads -* Logging support +* Extendable logging support including builtin support for log15 and logrus * Configurable connection pool with after connect hooks to do arbitrary connection setup * PostgreSQL array to Go slice mapping for integers, floats, and strings * Hstore support diff --git a/doc.go b/doc.go index 0be66a05..6e26b8b9 100644 --- a/doc.go +++ b/doc.go @@ -117,11 +117,11 @@ particular: Null Mapping -pgx can map nulls in two ways. The first is Null* types that have a data field -and a valid field. They work in a similar fashion to database/sql. The second -is to use a pointer to a pointer. +pgx can map nulls in two ways. The first is package pgtype provides types that +have a data field and a null indicator field. They work in a similar fashion to +database/sql. The second is to use a pointer to a pointer. - var foo pgx.NullString + var foo pgtype.Varchar var bar *string err := conn.QueryRow("select foo, bar from widgets where id=$1", 42).Scan(&a, &b) if err != nil { @@ -133,13 +133,8 @@ Array Mapping pgx maps between int16, int32, int64, float32, float64, and string Go slices and the equivalent PostgreSQL array type. Go slices of native types do not support nulls, so if a PostgreSQL array that contains a null is read into a -native Go slice an error will occur. - -Hstore Mapping - -pgx includes an Hstore type and a NullHstore type. Hstore is simply a -map[string]string and is preferred when the hstore contains no nulls. NullHstore -follows the Null* pattern and supports null values. +native Go slice an error will occur. The pgtype package includes many more +array types for PostgreSQL types that do not directly map to native Go types. JSON and JSONB Mapping