diff --git a/connection.go b/connection.go index 7d32238e..2c824809 100644 --- a/connection.go +++ b/connection.go @@ -499,7 +499,7 @@ func (c *Connection) Execute(sql string, arguments ...interface{}) (commandTag s case dataRow: case bindComplete: case commandComplete: - commandTag = r.ReadString() + commandTag = r.ReadCString() default: if e := c.processContextFreeMsg(t, r); e != nil && err == nil { err = e @@ -623,7 +623,7 @@ func (c *Connection) rxAuthenticationX(r *MessageReader) (err error) { case 3: // AuthenticationCleartextPassword c.txPasswordMessage(c.parameters.Password) case 5: // AuthenticationMD5Password - salt := r.ReadByteString(4) + salt := r.ReadString(4) digestedPassword := "md5" + hexMD5(hexMD5(c.parameters.Password+c.parameters.User)+salt) c.txPasswordMessage(digestedPassword) default: @@ -640,8 +640,8 @@ func hexMD5(s string) string { } func (c *Connection) rxParameterStatus(r *MessageReader) { - key := r.ReadString() - value := r.ReadString() + key := r.ReadCString() + value := r.ReadCString() c.RuntimeParams[key] = value } @@ -649,15 +649,15 @@ func (c *Connection) rxErrorResponse(r *MessageReader) (err PgError) { for { switch r.ReadByte() { case 'S': - err.Severity = r.ReadString() + err.Severity = r.ReadCString() case 'C': - err.Code = r.ReadString() + err.Code = r.ReadCString() case 'M': - err.Message = r.ReadString() + err.Message = r.ReadCString() case 0: // End of error message return default: // Ignore other error fields - r.ReadString() + r.ReadCString() } } } @@ -676,7 +676,7 @@ func (c *Connection) rxRowDescription(r *MessageReader) (fields []FieldDescripti fields = make([]FieldDescription, fieldCount) for i := int16(0); i < fieldCount; i++ { f := &fields[i] - f.Name = r.ReadString() + f.Name = r.ReadCString() f.Table = r.ReadOid() f.AttributeNumber = r.ReadInt16() f.DataType = r.ReadOid() @@ -707,14 +707,14 @@ func (c *Connection) rxDataRow(r *DataRowReader) (row map[string]interface{}) { } func (c *Connection) rxCommandComplete(r *MessageReader) string { - return r.ReadString() + return r.ReadCString() } func (c *Connection) rxNotificationResponse(r *MessageReader) (err error) { n := new(Notification) n.Pid = r.ReadInt32() - n.Channel = r.ReadString() - n.Payload = r.ReadString() + n.Channel = r.ReadCString() + n.Payload = r.ReadCString() c.notifications = append(c.notifications, n) return } diff --git a/data_row_reader.go b/data_row_reader.go index dd557361..1e6f199f 100644 --- a/data_row_reader.go +++ b/data_row_reader.go @@ -37,7 +37,7 @@ func (r *DataRowReader) ReadValue() interface{} { panic("Unknown format") } } else { - return r.mr.ReadByteString(size) + return r.mr.ReadString(size) } } else { return nil diff --git a/example_value_transcoder_test.go b/example_value_transcoder_test.go index af37f12d..662c2658 100644 --- a/example_value_transcoder_test.go +++ b/example_value_transcoder_test.go @@ -32,7 +32,7 @@ func Example_customValueTranscoder() { } func decodePointFromText(mr *pgx.MessageReader, size int32) interface{} { - s := mr.ReadByteString(size) + s := mr.ReadString(size) match := pointRegexp.FindStringSubmatch(s) if match == nil { panic(fmt.Sprintf("Received invalid point: %v", s)) diff --git a/message_reader.go b/message_reader.go index cc1eb87e..eabb03d2 100644 --- a/message_reader.go +++ b/message_reader.go @@ -85,7 +85,7 @@ func (r *MessageReader) ReadOid() (oid Oid) { } // ReadString reads a null terminated string -func (r *MessageReader) ReadString() (s string) { +func (r *MessageReader) ReadCString() (s string) { if r.Err != nil { return } @@ -99,8 +99,8 @@ func (r *MessageReader) ReadString() (s string) { return string(b[:len(b)-1]) } -// ReadByteString reads count bytes and return as string -func (r *MessageReader) ReadByteString(count int32) (s string) { +// ReadString reads count bytes and returns as string +func (r *MessageReader) ReadString(count int32) (s string) { if r.Err != nil { return } diff --git a/value_transcoder.go b/value_transcoder.go index 40419356..e990774b 100644 --- a/value_transcoder.go +++ b/value_transcoder.go @@ -105,7 +105,7 @@ func init() { } func decodeBoolFromText(mr *MessageReader, size int32) interface{} { - s := mr.ReadByteString(size) + s := mr.ReadString(size) switch s { case "t": return true @@ -135,7 +135,7 @@ func encodeBool(w *MessageWriter, value interface{}) { } func decodeInt8FromText(mr *MessageReader, size int32) interface{} { - s := mr.ReadByteString(size) + s := mr.ReadString(size) n, err := strconv.ParseInt(s, 10, 64) if err != nil { panic(fmt.Sprintf("Received invalid int8: %v", s)) @@ -157,7 +157,7 @@ func encodeInt8(w *MessageWriter, value interface{}) { } func decodeInt2FromText(mr *MessageReader, size int32) interface{} { - s := mr.ReadByteString(size) + s := mr.ReadString(size) n, err := strconv.ParseInt(s, 10, 16) if err != nil { panic(fmt.Sprintf("Received invalid int2: %v", s)) @@ -179,7 +179,7 @@ func encodeInt2(w *MessageWriter, value interface{}) { } func decodeInt4FromText(mr *MessageReader, size int32) interface{} { - s := mr.ReadByteString(size) + s := mr.ReadString(size) n, err := strconv.ParseInt(s, 10, 32) if err != nil { panic(fmt.Sprintf("Received invalid int4: %v", s)) @@ -201,7 +201,7 @@ func encodeInt4(w *MessageWriter, value interface{}) { } func decodeFloat4FromText(mr *MessageReader, size int32) interface{} { - s := mr.ReadByteString(size) + s := mr.ReadString(size) n, err := strconv.ParseFloat(s, 32) if err != nil { panic(fmt.Sprintf("Received invalid float4: %v", s)) @@ -226,7 +226,7 @@ func encodeFloat4(w *MessageWriter, value interface{}) { } func decodeFloat8FromText(mr *MessageReader, size int32) interface{} { - s := mr.ReadByteString(size) + s := mr.ReadString(size) v, err := strconv.ParseFloat(s, 64) if err != nil { panic(fmt.Sprintf("Received invalid float8: %v", s)) @@ -251,7 +251,7 @@ func encodeFloat8(w *MessageWriter, value interface{}) { } func decodeTextFromText(mr *MessageReader, size int32) interface{} { - return mr.ReadByteString(size) + return mr.ReadString(size) } func encodeText(w *MessageWriter, value interface{}) { @@ -261,7 +261,7 @@ func encodeText(w *MessageWriter, value interface{}) { } func decodeByteaFromText(mr *MessageReader, size int32) interface{} { - s := mr.ReadByteString(size) + s := mr.ReadString(size) b, err := hex.DecodeString(s[2:]) if err != nil { panic("Can't decode byte array") @@ -276,7 +276,7 @@ func encodeBytea(w *MessageWriter, value interface{}) { } func decodeDateFromText(mr *MessageReader, size int32) interface{} { - s := mr.ReadByteString(size) + s := mr.ReadString(size) t, err := time.ParseInLocation("2006-01-02", s, time.Local) if err != nil { panic("Can't decode date") @@ -292,7 +292,7 @@ func encodeDate(w *MessageWriter, value interface{}) { } func decodeTimestampTzFromText(mr *MessageReader, size int32) interface{} { - s := mr.ReadByteString(size) + s := mr.ReadString(size) t, err := time.Parse("2006-01-02 15:04:05.999999-07", s) if err != nil { panic(fmt.Sprintf("Can't decode timestamptz: %v", err))