Make Oid public

pgx-vs-pq
Jack Christensen 2013-07-15 08:28:33 -05:00
parent 1d1d836207
commit df0a537f59
5 changed files with 23 additions and 23 deletions

View File

@ -46,8 +46,8 @@ func createNarrowTestData(b *testing.B, conn *Connection) {
narrowTestDataLoaded = true
}
func removeBinaryEncoders() (encoders map[oid]func(*MessageReader, int32) interface{}) {
encoders = make(map[oid]func(*MessageReader, int32) interface{})
func removeBinaryEncoders() (encoders map[Oid]func(*MessageReader, int32) interface{}) {
encoders = make(map[Oid]func(*MessageReader, int32) interface{})
for k, v := range valueTranscoders {
encoders[k] = v.DecodeBinary
valueTranscoders[k].DecodeBinary = nil
@ -55,7 +55,7 @@ func removeBinaryEncoders() (encoders map[oid]func(*MessageReader, int32) interf
return
}
func restoreBinaryEncoders(encoders map[oid]func(*MessageReader, int32) interface{}) {
func restoreBinaryEncoders(encoders map[Oid]func(*MessageReader, int32) interface{}) {
for k, v := range encoders {
valueTranscoders[k].DecodeBinary = v
}

View File

@ -41,7 +41,7 @@ type Connection struct {
type preparedStatement struct {
Name string
FieldDescriptions []FieldDescription
ParameterOids []oid
ParameterOids []Oid
}
// NotSingleRowError is returned when exactly 1 row is expected, but 0 or more than
@ -638,9 +638,9 @@ func (c *Connection) rxRowDescription(r *MessageReader) (fields []FieldDescripti
return
}
func (c *Connection) rxParameterDescription(r *MessageReader) (parameters []oid) {
func (c *Connection) rxParameterDescription(r *MessageReader) (parameters []Oid) {
parameterCount := r.ReadInt16()
parameters = make([]oid, 0, parameterCount)
parameters = make([]Oid, 0, parameterCount)
for i := int16(0); i < parameterCount; i++ {
parameters = append(parameters, r.ReadOid())
}

View File

@ -33,8 +33,8 @@ func (r *MessageReader) ReadInt64() int64 {
return int64(binary.BigEndian.Uint64(r.buf.Next(8)))
}
func (r *MessageReader) ReadOid() oid {
return oid(binary.BigEndian.Uint32(r.buf.Next(4)))
func (r *MessageReader) ReadOid() Oid {
return Oid(binary.BigEndian.Uint32(r.buf.Next(4)))
}
func (r *MessageReader) ReadString() string {

View File

@ -44,13 +44,13 @@ func (self *startupMessage) Bytes() (buf []byte) {
return buf
}
type oid int32
type Oid int32
type FieldDescription struct {
Name string
Table oid
Table Oid
AttributeNumber int16
DataType oid
DataType Oid
DataTypeSize int16
Modifier int32
FormatCode int16

View File

@ -14,70 +14,70 @@ type valueTranscoder struct {
EncodeFormat int16
}
var valueTranscoders map[oid]*valueTranscoder
var valueTranscoders map[Oid]*valueTranscoder
var defaultTranscoder *valueTranscoder
func init() {
valueTranscoders = make(map[oid]*valueTranscoder)
valueTranscoders = make(map[Oid]*valueTranscoder)
// bool
valueTranscoders[oid(16)] = &valueTranscoder{
valueTranscoders[Oid(16)] = &valueTranscoder{
DecodeText: decodeBoolFromText,
DecodeBinary: decodeBoolFromBinary,
EncodeTo: encodeBool,
EncodeFormat: 1}
// bytea
valueTranscoders[oid(17)] = &valueTranscoder{
valueTranscoders[Oid(17)] = &valueTranscoder{
DecodeText: decodeByteaFromText,
EncodeTo: encodeBytea,
EncodeFormat: 1}
// int8
valueTranscoders[oid(20)] = &valueTranscoder{
valueTranscoders[Oid(20)] = &valueTranscoder{
DecodeText: decodeInt8FromText,
DecodeBinary: decodeInt8FromBinary,
EncodeTo: encodeInt8,
EncodeFormat: 1}
// int2
valueTranscoders[oid(21)] = &valueTranscoder{
valueTranscoders[Oid(21)] = &valueTranscoder{
DecodeText: decodeInt2FromText,
DecodeBinary: decodeInt2FromBinary,
EncodeTo: encodeInt2,
EncodeFormat: 1}
// int4
valueTranscoders[oid(23)] = &valueTranscoder{
valueTranscoders[Oid(23)] = &valueTranscoder{
DecodeText: decodeInt4FromText,
DecodeBinary: decodeInt4FromBinary,
EncodeTo: encodeInt4,
EncodeFormat: 1}
// text
valueTranscoders[oid(25)] = &valueTranscoder{
valueTranscoders[Oid(25)] = &valueTranscoder{
DecodeText: decodeTextFromText,
EncodeTo: encodeText}
// float4
valueTranscoders[oid(700)] = &valueTranscoder{
valueTranscoders[Oid(700)] = &valueTranscoder{
DecodeText: decodeFloat4FromText,
DecodeBinary: decodeFloat4FromBinary,
EncodeTo: encodeFloat4,
EncodeFormat: 1}
// float8
valueTranscoders[oid(701)] = &valueTranscoder{
valueTranscoders[Oid(701)] = &valueTranscoder{
DecodeText: decodeFloat8FromText,
DecodeBinary: decodeFloat8FromBinary,
EncodeTo: encodeFloat8,
EncodeFormat: 1}
// varchar -- same as text
valueTranscoders[oid(1043)] = valueTranscoders[oid(25)]
valueTranscoders[Oid(1043)] = valueTranscoders[Oid(25)]
// use text transcoder for anything we don't understand
defaultTranscoder = valueTranscoders[oid(25)]
defaultTranscoder = valueTranscoders[Oid(25)]
}
func decodeBoolFromText(mr *MessageReader, size int32) interface{} {