Use writeBuf more

This commit is contained in:
Jack Christensen 2014-07-04 13:29:23 -05:00
parent 9ab8fb4877
commit 81cc33f1ed

30
conn.go
View File

@ -416,29 +416,21 @@ func (c *Conn) Prepare(name, sql string) (ps *PreparedStatement, err error) {
}() }()
// parse // parse
buf := c.getBuf() wbuf := newWriteBuf(c.wbuf[0:0], 'P')
buf.WriteString(name) wbuf.WriteCString(name)
buf.WriteByte(0) wbuf.WriteCString(sql)
buf.WriteString(sql) wbuf.WriteInt16(0)
buf.WriteByte(0)
binary.Write(buf, binary.BigEndian, int16(0))
err = c.txMsg('P', buf)
if err != nil {
return nil, err
}
// describe // describe
buf = c.getBuf() wbuf.startMsg('D')
buf.WriteByte('S') wbuf.WriteByte('S')
buf.WriteString(name) wbuf.WriteCString(name)
buf.WriteByte(0)
err = c.txMsg('D', buf)
if err != nil {
return nil, err
}
// sync // sync
err = c.txMsg('S', c.getBuf()) wbuf.startMsg('S')
wbuf.closeMsg()
_, err = c.conn.Write(wbuf.buf)
if err != nil { if err != nil {
return nil, err return nil, err
} }