diff --git a/messages.go b/messages.go index 01b799b2..e98197d0 100644 --- a/messages.go +++ b/messages.go @@ -24,7 +24,7 @@ type FieldDescription struct { DataType pgtype.OID DataTypeSize int16 DataTypeName string - Modifier uint32 + Modifier int32 FormatCode int16 } diff --git a/pgmock/pgmock.go b/pgmock/pgmock.go index fec0d3f6..4d15f7b8 100644 --- a/pgmock/pgmock.go +++ b/pgmock/pgmock.go @@ -229,7 +229,7 @@ where ( TableAttributeNumber: 65534, DataTypeOID: 26, DataTypeSize: 4, - TypeModifier: 4294967295, + TypeModifier: -1, Format: 0, }, {Name: "typname", @@ -237,7 +237,7 @@ where ( TableAttributeNumber: 1, DataTypeOID: 19, DataTypeSize: 64, - TypeModifier: 4294967295, + TypeModifier: -1, Format: 0, }, }, @@ -455,7 +455,7 @@ where ( TableAttributeNumber: 65534, DataTypeOID: 26, DataTypeSize: 4, - TypeModifier: 4294967295, + TypeModifier: -1, Format: 0, }, {Name: "typname", @@ -463,7 +463,7 @@ where ( TableAttributeNumber: 1, DataTypeOID: 19, DataTypeSize: 64, - TypeModifier: 4294967295, + TypeModifier: -1, Format: 0, }, }, @@ -496,7 +496,7 @@ where ( TableAttributeNumber: 65534, DataTypeOID: 26, DataTypeSize: 4, - TypeModifier: 4294967295, + TypeModifier: -1, Format: 0, }, {Name: "typname", @@ -504,7 +504,7 @@ where ( TableAttributeNumber: 1, DataTypeOID: 19, DataTypeSize: 64, - TypeModifier: 4294967295, + TypeModifier: -1, Format: 0, }, {Name: "typbasetype", @@ -512,7 +512,7 @@ where ( TableAttributeNumber: 65534, DataTypeOID: 26, DataTypeSize: 4, - TypeModifier: 4294967295, + TypeModifier: -1, Format: 0, }, }, diff --git a/pgproto3/row_description.go b/pgproto3/row_description.go index d0df11b0..3c5a6faa 100644 --- a/pgproto3/row_description.go +++ b/pgproto3/row_description.go @@ -19,7 +19,7 @@ type FieldDescription struct { TableAttributeNumber uint16 DataTypeOID uint32 DataTypeSize int16 - TypeModifier uint32 + TypeModifier int32 Format int16 } @@ -57,7 +57,7 @@ func (dst *RowDescription) Decode(src []byte) error { fd.TableAttributeNumber = binary.BigEndian.Uint16(buf.Next(2)) fd.DataTypeOID = binary.BigEndian.Uint32(buf.Next(4)) fd.DataTypeSize = int16(binary.BigEndian.Uint16(buf.Next(2))) - fd.TypeModifier = binary.BigEndian.Uint32(buf.Next(4)) + fd.TypeModifier = int32(binary.BigEndian.Uint32(buf.Next(4))) fd.Format = int16(binary.BigEndian.Uint16(buf.Next(2))) dst.Fields[i] = fd @@ -80,7 +80,7 @@ func (src *RowDescription) Encode(dst []byte) []byte { dst = pgio.AppendUint16(dst, fd.TableAttributeNumber) dst = pgio.AppendUint32(dst, fd.DataTypeOID) dst = pgio.AppendInt16(dst, fd.DataTypeSize) - dst = pgio.AppendUint32(dst, fd.TypeModifier) + dst = pgio.AppendInt32(dst, fd.TypeModifier) dst = pgio.AppendInt16(dst, fd.Format) } diff --git a/stdlib/sql_test.go b/stdlib/sql_test.go index 02b0655f..78f3e6d4 100644 --- a/stdlib/sql_test.go +++ b/stdlib/sql_test.go @@ -1030,7 +1030,7 @@ func TestConnQueryContextCancel(t *testing.T) { Name: "n", DataTypeOID: 23, DataTypeSize: 4, - TypeModifier: 4294967295, + TypeModifier: -1, }, }, }), @@ -1206,7 +1206,7 @@ func TestStmtQueryContextCancel(t *testing.T) { Name: "n", DataTypeOID: 23, DataTypeSize: 4, - TypeModifier: 4294967295, + TypeModifier: -1, }, }, }),