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 narrowTestDataLoaded = true
} }
func removeBinaryEncoders() (encoders map[oid]func(*MessageReader, int32) interface{}) { func removeBinaryEncoders() (encoders map[Oid]func(*MessageReader, int32) interface{}) {
encoders = make(map[oid]func(*MessageReader, int32) interface{}) encoders = make(map[Oid]func(*MessageReader, int32) interface{})
for k, v := range valueTranscoders { for k, v := range valueTranscoders {
encoders[k] = v.DecodeBinary encoders[k] = v.DecodeBinary
valueTranscoders[k].DecodeBinary = nil valueTranscoders[k].DecodeBinary = nil
@ -55,7 +55,7 @@ func removeBinaryEncoders() (encoders map[oid]func(*MessageReader, int32) interf
return return
} }
func restoreBinaryEncoders(encoders map[oid]func(*MessageReader, int32) interface{}) { func restoreBinaryEncoders(encoders map[Oid]func(*MessageReader, int32) interface{}) {
for k, v := range encoders { for k, v := range encoders {
valueTranscoders[k].DecodeBinary = v valueTranscoders[k].DecodeBinary = v
} }

View File

@ -41,7 +41,7 @@ type Connection struct {
type preparedStatement struct { type preparedStatement struct {
Name string Name string
FieldDescriptions []FieldDescription FieldDescriptions []FieldDescription
ParameterOids []oid ParameterOids []Oid
} }
// NotSingleRowError is returned when exactly 1 row is expected, but 0 or more than // 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 return
} }
func (c *Connection) rxParameterDescription(r *MessageReader) (parameters []oid) { func (c *Connection) rxParameterDescription(r *MessageReader) (parameters []Oid) {
parameterCount := r.ReadInt16() parameterCount := r.ReadInt16()
parameters = make([]oid, 0, parameterCount) parameters = make([]Oid, 0, parameterCount)
for i := int16(0); i < parameterCount; i++ { for i := int16(0); i < parameterCount; i++ {
parameters = append(parameters, r.ReadOid()) 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))) return int64(binary.BigEndian.Uint64(r.buf.Next(8)))
} }
func (r *MessageReader) ReadOid() oid { func (r *MessageReader) ReadOid() Oid {
return oid(binary.BigEndian.Uint32(r.buf.Next(4))) return Oid(binary.BigEndian.Uint32(r.buf.Next(4)))
} }
func (r *MessageReader) ReadString() string { func (r *MessageReader) ReadString() string {

View File

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

View File

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