mirror of https://github.com/jackc/pgx.git
Use Go casing convention for ACLItem
parent
6688466123
commit
24fb04edb5
|
@ -5,7 +5,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Aclitem is used for PostgreSQL's aclitem data type. A sample aclitem
|
// ACLItem is used for PostgreSQL's aclitem data type. A sample aclitem
|
||||||
// might look like this:
|
// might look like this:
|
||||||
//
|
//
|
||||||
// postgres=arwdDxt/postgres
|
// postgres=arwdDxt/postgres
|
||||||
|
@ -17,32 +17,32 @@ import (
|
||||||
//
|
//
|
||||||
// postgres=arwdDxt/"role with spaces"
|
// postgres=arwdDxt/"role with spaces"
|
||||||
//
|
//
|
||||||
type Aclitem struct {
|
type ACLItem struct {
|
||||||
String string
|
String string
|
||||||
Status Status
|
Status Status
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dst *Aclitem) Set(src interface{}) error {
|
func (dst *ACLItem) Set(src interface{}) error {
|
||||||
switch value := src.(type) {
|
switch value := src.(type) {
|
||||||
case string:
|
case string:
|
||||||
*dst = Aclitem{String: value, Status: Present}
|
*dst = ACLItem{String: value, Status: Present}
|
||||||
case *string:
|
case *string:
|
||||||
if value == nil {
|
if value == nil {
|
||||||
*dst = Aclitem{Status: Null}
|
*dst = ACLItem{Status: Null}
|
||||||
} else {
|
} else {
|
||||||
*dst = Aclitem{String: *value, Status: Present}
|
*dst = ACLItem{String: *value, Status: Present}
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
if originalSrc, ok := underlyingStringType(src); ok {
|
if originalSrc, ok := underlyingStringType(src); ok {
|
||||||
return dst.Set(originalSrc)
|
return dst.Set(originalSrc)
|
||||||
}
|
}
|
||||||
return fmt.Errorf("cannot convert %v to Aclitem", value)
|
return fmt.Errorf("cannot convert %v to ACLItem", value)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dst *Aclitem) Get() interface{} {
|
func (dst *ACLItem) Get() interface{} {
|
||||||
switch dst.Status {
|
switch dst.Status {
|
||||||
case Present:
|
case Present:
|
||||||
return dst.String
|
return dst.String
|
||||||
|
@ -53,7 +53,7 @@ func (dst *Aclitem) Get() interface{} {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (src *Aclitem) AssignTo(dst interface{}) error {
|
func (src *ACLItem) AssignTo(dst interface{}) error {
|
||||||
switch src.Status {
|
switch src.Status {
|
||||||
case Present:
|
case Present:
|
||||||
switch v := dst.(type) {
|
switch v := dst.(type) {
|
||||||
|
@ -72,17 +72,17 @@ func (src *Aclitem) AssignTo(dst interface{}) error {
|
||||||
return fmt.Errorf("cannot decode %v into %T", src, dst)
|
return fmt.Errorf("cannot decode %v into %T", src, dst)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dst *Aclitem) DecodeText(ci *ConnInfo, src []byte) error {
|
func (dst *ACLItem) DecodeText(ci *ConnInfo, src []byte) error {
|
||||||
if src == nil {
|
if src == nil {
|
||||||
*dst = Aclitem{Status: Null}
|
*dst = ACLItem{Status: Null}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
*dst = Aclitem{String: string(src), Status: Present}
|
*dst = ACLItem{String: string(src), Status: Present}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (src *Aclitem) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error) {
|
func (src *ACLItem) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error) {
|
||||||
switch src.Status {
|
switch src.Status {
|
||||||
case Null:
|
case Null:
|
||||||
return nil, nil
|
return nil, nil
|
||||||
|
@ -94,9 +94,9 @@ func (src *Aclitem) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scan implements the database/sql Scanner interface.
|
// Scan implements the database/sql Scanner interface.
|
||||||
func (dst *Aclitem) Scan(src interface{}) error {
|
func (dst *ACLItem) Scan(src interface{}) error {
|
||||||
if src == nil {
|
if src == nil {
|
||||||
*dst = Aclitem{Status: Null}
|
*dst = ACLItem{Status: Null}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,7 +113,7 @@ func (dst *Aclitem) Scan(src interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Value implements the database/sql/driver Valuer interface.
|
// Value implements the database/sql/driver Valuer interface.
|
||||||
func (src *Aclitem) Value() (driver.Value, error) {
|
func (src *ACLItem) Value() (driver.Value, error) {
|
||||||
switch src.Status {
|
switch src.Status {
|
||||||
case Present:
|
case Present:
|
||||||
return src.String, nil
|
return src.String, nil
|
||||||
|
|
|
@ -5,28 +5,28 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
)
|
)
|
||||||
|
|
||||||
type AclitemArray struct {
|
type ACLItemArray struct {
|
||||||
Elements []Aclitem
|
Elements []ACLItem
|
||||||
Dimensions []ArrayDimension
|
Dimensions []ArrayDimension
|
||||||
Status Status
|
Status Status
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dst *AclitemArray) Set(src interface{}) error {
|
func (dst *ACLItemArray) Set(src interface{}) error {
|
||||||
switch value := src.(type) {
|
switch value := src.(type) {
|
||||||
|
|
||||||
case []string:
|
case []string:
|
||||||
if value == nil {
|
if value == nil {
|
||||||
*dst = AclitemArray{Status: Null}
|
*dst = ACLItemArray{Status: Null}
|
||||||
} else if len(value) == 0 {
|
} else if len(value) == 0 {
|
||||||
*dst = AclitemArray{Status: Present}
|
*dst = ACLItemArray{Status: Present}
|
||||||
} else {
|
} else {
|
||||||
elements := make([]Aclitem, len(value))
|
elements := make([]ACLItem, len(value))
|
||||||
for i := range value {
|
for i := range value {
|
||||||
if err := elements[i].Set(value[i]); err != nil {
|
if err := elements[i].Set(value[i]); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*dst = AclitemArray{
|
*dst = ACLItemArray{
|
||||||
Elements: elements,
|
Elements: elements,
|
||||||
Dimensions: []ArrayDimension{{Length: int32(len(elements)), LowerBound: 1}},
|
Dimensions: []ArrayDimension{{Length: int32(len(elements)), LowerBound: 1}},
|
||||||
Status: Present,
|
Status: Present,
|
||||||
|
@ -37,13 +37,13 @@ func (dst *AclitemArray) Set(src interface{}) error {
|
||||||
if originalSrc, ok := underlyingSliceType(src); ok {
|
if originalSrc, ok := underlyingSliceType(src); ok {
|
||||||
return dst.Set(originalSrc)
|
return dst.Set(originalSrc)
|
||||||
}
|
}
|
||||||
return fmt.Errorf("cannot convert %v to Aclitem", value)
|
return fmt.Errorf("cannot convert %v to ACLItem", value)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dst *AclitemArray) Get() interface{} {
|
func (dst *ACLItemArray) Get() interface{} {
|
||||||
switch dst.Status {
|
switch dst.Status {
|
||||||
case Present:
|
case Present:
|
||||||
return dst
|
return dst
|
||||||
|
@ -54,7 +54,7 @@ func (dst *AclitemArray) Get() interface{} {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (src *AclitemArray) AssignTo(dst interface{}) error {
|
func (src *ACLItemArray) AssignTo(dst interface{}) error {
|
||||||
switch src.Status {
|
switch src.Status {
|
||||||
case Present:
|
case Present:
|
||||||
switch v := dst.(type) {
|
switch v := dst.(type) {
|
||||||
|
@ -80,9 +80,9 @@ func (src *AclitemArray) AssignTo(dst interface{}) error {
|
||||||
return fmt.Errorf("cannot decode %v into %T", src, dst)
|
return fmt.Errorf("cannot decode %v into %T", src, dst)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dst *AclitemArray) DecodeText(ci *ConnInfo, src []byte) error {
|
func (dst *ACLItemArray) DecodeText(ci *ConnInfo, src []byte) error {
|
||||||
if src == nil {
|
if src == nil {
|
||||||
*dst = AclitemArray{Status: Null}
|
*dst = ACLItemArray{Status: Null}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,13 +91,13 @@ func (dst *AclitemArray) DecodeText(ci *ConnInfo, src []byte) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
var elements []Aclitem
|
var elements []ACLItem
|
||||||
|
|
||||||
if len(uta.Elements) > 0 {
|
if len(uta.Elements) > 0 {
|
||||||
elements = make([]Aclitem, len(uta.Elements))
|
elements = make([]ACLItem, len(uta.Elements))
|
||||||
|
|
||||||
for i, s := range uta.Elements {
|
for i, s := range uta.Elements {
|
||||||
var elem Aclitem
|
var elem ACLItem
|
||||||
var elemSrc []byte
|
var elemSrc []byte
|
||||||
if s != "NULL" {
|
if s != "NULL" {
|
||||||
elemSrc = []byte(s)
|
elemSrc = []byte(s)
|
||||||
|
@ -111,12 +111,12 @@ func (dst *AclitemArray) DecodeText(ci *ConnInfo, src []byte) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*dst = AclitemArray{Elements: elements, Dimensions: uta.Dimensions, Status: Present}
|
*dst = ACLItemArray{Elements: elements, Dimensions: uta.Dimensions, Status: Present}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (src *AclitemArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error) {
|
func (src *ACLItemArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error) {
|
||||||
switch src.Status {
|
switch src.Status {
|
||||||
case Null:
|
case Null:
|
||||||
return nil, nil
|
return nil, nil
|
||||||
|
@ -174,7 +174,7 @@ func (src *AclitemArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scan implements the database/sql Scanner interface.
|
// Scan implements the database/sql Scanner interface.
|
||||||
func (dst *AclitemArray) Scan(src interface{}) error {
|
func (dst *ACLItemArray) Scan(src interface{}) error {
|
||||||
if src == nil {
|
if src == nil {
|
||||||
return dst.DecodeText(nil, nil)
|
return dst.DecodeText(nil, nil)
|
||||||
}
|
}
|
||||||
|
@ -192,7 +192,7 @@ func (dst *AclitemArray) Scan(src interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Value implements the database/sql/driver Valuer interface.
|
// Value implements the database/sql/driver Valuer interface.
|
||||||
func (src *AclitemArray) Value() (driver.Value, error) {
|
func (src *ACLItemArray) Value() (driver.Value, error) {
|
||||||
buf, err := src.EncodeText(nil, nil)
|
buf, err := src.EncodeText(nil, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
@ -8,40 +8,40 @@ import (
|
||||||
"github.com/jackc/pgx/pgtype/testutil"
|
"github.com/jackc/pgx/pgtype/testutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestAclitemArrayTranscode(t *testing.T) {
|
func TestACLItemArrayTranscode(t *testing.T) {
|
||||||
testutil.TestSuccessfulTranscode(t, "aclitem[]", []interface{}{
|
testutil.TestSuccessfulTranscode(t, "aclitem[]", []interface{}{
|
||||||
&pgtype.AclitemArray{
|
&pgtype.ACLItemArray{
|
||||||
Elements: nil,
|
Elements: nil,
|
||||||
Dimensions: nil,
|
Dimensions: nil,
|
||||||
Status: pgtype.Present,
|
Status: pgtype.Present,
|
||||||
},
|
},
|
||||||
&pgtype.AclitemArray{
|
&pgtype.ACLItemArray{
|
||||||
Elements: []pgtype.Aclitem{
|
Elements: []pgtype.ACLItem{
|
||||||
pgtype.Aclitem{String: "=r/postgres", Status: pgtype.Present},
|
pgtype.ACLItem{String: "=r/postgres", Status: pgtype.Present},
|
||||||
pgtype.Aclitem{Status: pgtype.Null},
|
pgtype.ACLItem{Status: pgtype.Null},
|
||||||
},
|
},
|
||||||
Dimensions: []pgtype.ArrayDimension{{Length: 2, LowerBound: 1}},
|
Dimensions: []pgtype.ArrayDimension{{Length: 2, LowerBound: 1}},
|
||||||
Status: pgtype.Present,
|
Status: pgtype.Present,
|
||||||
},
|
},
|
||||||
&pgtype.AclitemArray{Status: pgtype.Null},
|
&pgtype.ACLItemArray{Status: pgtype.Null},
|
||||||
&pgtype.AclitemArray{
|
&pgtype.ACLItemArray{
|
||||||
Elements: []pgtype.Aclitem{
|
Elements: []pgtype.ACLItem{
|
||||||
pgtype.Aclitem{String: "=r/postgres", Status: pgtype.Present},
|
pgtype.ACLItem{String: "=r/postgres", Status: pgtype.Present},
|
||||||
pgtype.Aclitem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present},
|
pgtype.ACLItem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present},
|
||||||
pgtype.Aclitem{String: `postgres=arwdDxt/" tricky, ' } "" \ test user "`, Status: pgtype.Present},
|
pgtype.ACLItem{String: `postgres=arwdDxt/" tricky, ' } "" \ test user "`, Status: pgtype.Present},
|
||||||
pgtype.Aclitem{String: "=r/postgres", Status: pgtype.Present},
|
pgtype.ACLItem{String: "=r/postgres", Status: pgtype.Present},
|
||||||
pgtype.Aclitem{Status: pgtype.Null},
|
pgtype.ACLItem{Status: pgtype.Null},
|
||||||
pgtype.Aclitem{String: "=r/postgres", Status: pgtype.Present},
|
pgtype.ACLItem{String: "=r/postgres", Status: pgtype.Present},
|
||||||
},
|
},
|
||||||
Dimensions: []pgtype.ArrayDimension{{Length: 3, LowerBound: 1}, {Length: 2, LowerBound: 1}},
|
Dimensions: []pgtype.ArrayDimension{{Length: 3, LowerBound: 1}, {Length: 2, LowerBound: 1}},
|
||||||
Status: pgtype.Present,
|
Status: pgtype.Present,
|
||||||
},
|
},
|
||||||
&pgtype.AclitemArray{
|
&pgtype.ACLItemArray{
|
||||||
Elements: []pgtype.Aclitem{
|
Elements: []pgtype.ACLItem{
|
||||||
pgtype.Aclitem{String: "=r/postgres", Status: pgtype.Present},
|
pgtype.ACLItem{String: "=r/postgres", Status: pgtype.Present},
|
||||||
pgtype.Aclitem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present},
|
pgtype.ACLItem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present},
|
||||||
pgtype.Aclitem{String: "=r/postgres", Status: pgtype.Present},
|
pgtype.ACLItem{String: "=r/postgres", Status: pgtype.Present},
|
||||||
pgtype.Aclitem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present},
|
pgtype.ACLItem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present},
|
||||||
},
|
},
|
||||||
Dimensions: []pgtype.ArrayDimension{
|
Dimensions: []pgtype.ArrayDimension{
|
||||||
{Length: 2, LowerBound: 4},
|
{Length: 2, LowerBound: 4},
|
||||||
|
@ -52,26 +52,26 @@ func TestAclitemArrayTranscode(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAclitemArraySet(t *testing.T) {
|
func TestACLItemArraySet(t *testing.T) {
|
||||||
successfulTests := []struct {
|
successfulTests := []struct {
|
||||||
source interface{}
|
source interface{}
|
||||||
result pgtype.AclitemArray
|
result pgtype.ACLItemArray
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
source: []string{"=r/postgres"},
|
source: []string{"=r/postgres"},
|
||||||
result: pgtype.AclitemArray{
|
result: pgtype.ACLItemArray{
|
||||||
Elements: []pgtype.Aclitem{{String: "=r/postgres", Status: pgtype.Present}},
|
Elements: []pgtype.ACLItem{{String: "=r/postgres", Status: pgtype.Present}},
|
||||||
Dimensions: []pgtype.ArrayDimension{{LowerBound: 1, Length: 1}},
|
Dimensions: []pgtype.ArrayDimension{{LowerBound: 1, Length: 1}},
|
||||||
Status: pgtype.Present},
|
Status: pgtype.Present},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: (([]string)(nil)),
|
source: (([]string)(nil)),
|
||||||
result: pgtype.AclitemArray{Status: pgtype.Null},
|
result: pgtype.ACLItemArray{Status: pgtype.Null},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, tt := range successfulTests {
|
for i, tt := range successfulTests {
|
||||||
var r pgtype.AclitemArray
|
var r pgtype.ACLItemArray
|
||||||
err := r.Set(tt.source)
|
err := r.Set(tt.source)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("%d: %v", i, err)
|
t.Errorf("%d: %v", i, err)
|
||||||
|
@ -83,19 +83,19 @@ func TestAclitemArraySet(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAclitemArrayAssignTo(t *testing.T) {
|
func TestACLItemArrayAssignTo(t *testing.T) {
|
||||||
var stringSlice []string
|
var stringSlice []string
|
||||||
type _stringSlice []string
|
type _stringSlice []string
|
||||||
var namedStringSlice _stringSlice
|
var namedStringSlice _stringSlice
|
||||||
|
|
||||||
simpleTests := []struct {
|
simpleTests := []struct {
|
||||||
src pgtype.AclitemArray
|
src pgtype.ACLItemArray
|
||||||
dst interface{}
|
dst interface{}
|
||||||
expected interface{}
|
expected interface{}
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
src: pgtype.AclitemArray{
|
src: pgtype.ACLItemArray{
|
||||||
Elements: []pgtype.Aclitem{{String: "=r/postgres", Status: pgtype.Present}},
|
Elements: []pgtype.ACLItem{{String: "=r/postgres", Status: pgtype.Present}},
|
||||||
Dimensions: []pgtype.ArrayDimension{{LowerBound: 1, Length: 1}},
|
Dimensions: []pgtype.ArrayDimension{{LowerBound: 1, Length: 1}},
|
||||||
Status: pgtype.Present,
|
Status: pgtype.Present,
|
||||||
},
|
},
|
||||||
|
@ -103,8 +103,8 @@ func TestAclitemArrayAssignTo(t *testing.T) {
|
||||||
expected: []string{"=r/postgres"},
|
expected: []string{"=r/postgres"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
src: pgtype.AclitemArray{
|
src: pgtype.ACLItemArray{
|
||||||
Elements: []pgtype.Aclitem{{String: "=r/postgres", Status: pgtype.Present}},
|
Elements: []pgtype.ACLItem{{String: "=r/postgres", Status: pgtype.Present}},
|
||||||
Dimensions: []pgtype.ArrayDimension{{LowerBound: 1, Length: 1}},
|
Dimensions: []pgtype.ArrayDimension{{LowerBound: 1, Length: 1}},
|
||||||
Status: pgtype.Present,
|
Status: pgtype.Present,
|
||||||
},
|
},
|
||||||
|
@ -112,7 +112,7 @@ func TestAclitemArrayAssignTo(t *testing.T) {
|
||||||
expected: _stringSlice{"=r/postgres"},
|
expected: _stringSlice{"=r/postgres"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
src: pgtype.AclitemArray{Status: pgtype.Null},
|
src: pgtype.ACLItemArray{Status: pgtype.Null},
|
||||||
dst: &stringSlice,
|
dst: &stringSlice,
|
||||||
expected: (([]string)(nil)),
|
expected: (([]string)(nil)),
|
||||||
},
|
},
|
||||||
|
@ -130,12 +130,12 @@ func TestAclitemArrayAssignTo(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
errorTests := []struct {
|
errorTests := []struct {
|
||||||
src pgtype.AclitemArray
|
src pgtype.ACLItemArray
|
||||||
dst interface{}
|
dst interface{}
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
src: pgtype.AclitemArray{
|
src: pgtype.ACLItemArray{
|
||||||
Elements: []pgtype.Aclitem{{Status: pgtype.Null}},
|
Elements: []pgtype.ACLItem{{Status: pgtype.Null}},
|
||||||
Dimensions: []pgtype.ArrayDimension{{LowerBound: 1, Length: 1}},
|
Dimensions: []pgtype.ArrayDimension{{LowerBound: 1, Length: 1}},
|
||||||
Status: pgtype.Present,
|
Status: pgtype.Present,
|
||||||
},
|
},
|
||||||
|
|
|
@ -8,25 +8,25 @@ import (
|
||||||
"github.com/jackc/pgx/pgtype/testutil"
|
"github.com/jackc/pgx/pgtype/testutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestAclitemTranscode(t *testing.T) {
|
func TestACLItemTranscode(t *testing.T) {
|
||||||
testutil.TestSuccessfulTranscode(t, "aclitem", []interface{}{
|
testutil.TestSuccessfulTranscode(t, "aclitem", []interface{}{
|
||||||
&pgtype.Aclitem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present},
|
&pgtype.ACLItem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present},
|
||||||
&pgtype.Aclitem{String: `postgres=arwdDxt/" tricky, ' } "" \ test user "`, Status: pgtype.Present},
|
&pgtype.ACLItem{String: `postgres=arwdDxt/" tricky, ' } "" \ test user "`, Status: pgtype.Present},
|
||||||
&pgtype.Aclitem{Status: pgtype.Null},
|
&pgtype.ACLItem{Status: pgtype.Null},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAclitemSet(t *testing.T) {
|
func TestACLItemSet(t *testing.T) {
|
||||||
successfulTests := []struct {
|
successfulTests := []struct {
|
||||||
source interface{}
|
source interface{}
|
||||||
result pgtype.Aclitem
|
result pgtype.ACLItem
|
||||||
}{
|
}{
|
||||||
{source: "postgres=arwdDxt/postgres", result: pgtype.Aclitem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present}},
|
{source: "postgres=arwdDxt/postgres", result: pgtype.ACLItem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present}},
|
||||||
{source: (*string)(nil), result: pgtype.Aclitem{Status: pgtype.Null}},
|
{source: (*string)(nil), result: pgtype.ACLItem{Status: pgtype.Null}},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, tt := range successfulTests {
|
for i, tt := range successfulTests {
|
||||||
var d pgtype.Aclitem
|
var d pgtype.ACLItem
|
||||||
err := d.Set(tt.source)
|
err := d.Set(tt.source)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("%d: %v", i, err)
|
t.Errorf("%d: %v", i, err)
|
||||||
|
@ -38,17 +38,17 @@ func TestAclitemSet(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAclitemAssignTo(t *testing.T) {
|
func TestACLItemAssignTo(t *testing.T) {
|
||||||
var s string
|
var s string
|
||||||
var ps *string
|
var ps *string
|
||||||
|
|
||||||
simpleTests := []struct {
|
simpleTests := []struct {
|
||||||
src pgtype.Aclitem
|
src pgtype.ACLItem
|
||||||
dst interface{}
|
dst interface{}
|
||||||
expected interface{}
|
expected interface{}
|
||||||
}{
|
}{
|
||||||
{src: pgtype.Aclitem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present}, dst: &s, expected: "postgres=arwdDxt/postgres"},
|
{src: pgtype.ACLItem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present}, dst: &s, expected: "postgres=arwdDxt/postgres"},
|
||||||
{src: pgtype.Aclitem{Status: pgtype.Null}, dst: &ps, expected: ((*string)(nil))},
|
{src: pgtype.ACLItem{Status: pgtype.Null}, dst: &ps, expected: ((*string)(nil))},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, tt := range simpleTests {
|
for i, tt := range simpleTests {
|
||||||
|
@ -63,11 +63,11 @@ func TestAclitemAssignTo(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
pointerAllocTests := []struct {
|
pointerAllocTests := []struct {
|
||||||
src pgtype.Aclitem
|
src pgtype.ACLItem
|
||||||
dst interface{}
|
dst interface{}
|
||||||
expected interface{}
|
expected interface{}
|
||||||
}{
|
}{
|
||||||
{src: pgtype.Aclitem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present}, dst: &ps, expected: "postgres=arwdDxt/postgres"},
|
{src: pgtype.ACLItem{String: "postgres=arwdDxt/postgres", Status: pgtype.Present}, dst: &ps, expected: "postgres=arwdDxt/postgres"},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, tt := range pointerAllocTests {
|
for i, tt := range pointerAllocTests {
|
||||||
|
@ -82,10 +82,10 @@ func TestAclitemAssignTo(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
errorTests := []struct {
|
errorTests := []struct {
|
||||||
src pgtype.Aclitem
|
src pgtype.ACLItem
|
||||||
dst interface{}
|
dst interface{}
|
||||||
}{
|
}{
|
||||||
{src: pgtype.Aclitem{Status: pgtype.Null}, dst: &s},
|
{src: pgtype.ACLItem{Status: pgtype.Null}, dst: &s},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, tt := range errorTests {
|
for i, tt := range errorTests {
|
||||||
|
|
|
@ -35,8 +35,8 @@ const (
|
||||||
Int8ArrayOID = 1016
|
Int8ArrayOID = 1016
|
||||||
Float4ArrayOID = 1021
|
Float4ArrayOID = 1021
|
||||||
Float8ArrayOID = 1022
|
Float8ArrayOID = 1022
|
||||||
AclitemOID = 1033
|
ACLItemOID = 1033
|
||||||
AclitemArrayOID = 1034
|
ACLItemArrayOID = 1034
|
||||||
InetArrayOID = 1041
|
InetArrayOID = 1041
|
||||||
VarcharOID = 1043
|
VarcharOID = 1043
|
||||||
DateOID = 1082
|
DateOID = 1082
|
||||||
|
@ -206,7 +206,7 @@ var nameValues map[string]Value
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
nameValues = map[string]Value{
|
nameValues = map[string]Value{
|
||||||
"_aclitem": &AclitemArray{},
|
"_aclitem": &ACLItemArray{},
|
||||||
"_bool": &BoolArray{},
|
"_bool": &BoolArray{},
|
||||||
"_bytea": &ByteaArray{},
|
"_bytea": &ByteaArray{},
|
||||||
"_cidr": &CidrArray{},
|
"_cidr": &CidrArray{},
|
||||||
|
@ -222,7 +222,7 @@ func init() {
|
||||||
"_timestamp": &TimestampArray{},
|
"_timestamp": &TimestampArray{},
|
||||||
"_timestamptz": &TimestamptzArray{},
|
"_timestamptz": &TimestamptzArray{},
|
||||||
"_varchar": &VarcharArray{},
|
"_varchar": &VarcharArray{},
|
||||||
"aclitem": &Aclitem{},
|
"aclitem": &ACLItem{},
|
||||||
"bool": &Bool{},
|
"bool": &Bool{},
|
||||||
"box": &Box{},
|
"box": &Box{},
|
||||||
"bytea": &Bytea{},
|
"bytea": &Bytea{},
|
||||||
|
|
|
@ -12,7 +12,7 @@ erb pgtype_array_type=CidrArray pgtype_element_type=Cidr go_array_types=[]*net.I
|
||||||
erb pgtype_array_type=TextArray pgtype_element_type=Text go_array_types=[]string element_type_name=text text_null='"NULL"' binary_format=true typed_array.go.erb > text_array.go
|
erb pgtype_array_type=TextArray pgtype_element_type=Text go_array_types=[]string element_type_name=text text_null='"NULL"' binary_format=true typed_array.go.erb > text_array.go
|
||||||
erb pgtype_array_type=VarcharArray pgtype_element_type=Varchar go_array_types=[]string element_type_name=varchar text_null='"NULL"' binary_format=true typed_array.go.erb > varchar_array.go
|
erb pgtype_array_type=VarcharArray pgtype_element_type=Varchar go_array_types=[]string element_type_name=varchar text_null='"NULL"' binary_format=true typed_array.go.erb > varchar_array.go
|
||||||
erb pgtype_array_type=ByteaArray pgtype_element_type=Bytea go_array_types=[][]byte element_type_name=bytea text_null=NULL binary_format=true typed_array.go.erb > bytea_array.go
|
erb pgtype_array_type=ByteaArray pgtype_element_type=Bytea go_array_types=[][]byte element_type_name=bytea text_null=NULL binary_format=true typed_array.go.erb > bytea_array.go
|
||||||
erb pgtype_array_type=AclitemArray pgtype_element_type=Aclitem go_array_types=[]string element_type_name=aclitem text_null=NULL binary_format=false typed_array.go.erb > aclitem_array.go
|
erb pgtype_array_type=ACLItemArray pgtype_element_type=ACLItem go_array_types=[]string element_type_name=aclitem text_null=NULL binary_format=false typed_array.go.erb > aclitem_array.go
|
||||||
erb pgtype_array_type=HstoreArray pgtype_element_type=Hstore go_array_types=[]map[string]string element_type_name=hstore text_null=NULL binary_format=true typed_array.go.erb > hstore_array.go
|
erb pgtype_array_type=HstoreArray pgtype_element_type=Hstore go_array_types=[]map[string]string element_type_name=hstore text_null=NULL binary_format=true typed_array.go.erb > hstore_array.go
|
||||||
erb pgtype_array_type=NumericArray pgtype_element_type=Numeric go_array_types=[]float32,[]float64 element_type_name=numeric text_null=NULL binary_format=true typed_array.go.erb > numeric_array.go
|
erb pgtype_array_type=NumericArray pgtype_element_type=Numeric go_array_types=[]float32,[]float64 element_type_name=numeric text_null=NULL binary_format=true typed_array.go.erb > numeric_array.go
|
||||||
goimports -w *_array.go
|
goimports -w *_array.go
|
||||||
|
|
Loading…
Reference in New Issue