func writeStartupMsg(buf *pool.Buffer, user, database string) { buf.StartMessage(0) buf.WriteInt32(196608) buf.WriteString("user") buf.WriteString(user) buf.WriteString("database") buf.WriteString(database) buf.WriteString("") buf.FinishMessage() }
// Writes BIND, EXECUTE and SYNC messages. func writeBindExecuteMsg(buf *pool.Buffer, name string, params ...interface{}) error { const paramLenWidth = 4 buf.StartMessage(bindMsg) buf.WriteString("") buf.WriteString(name) buf.WriteInt16(0) buf.WriteInt16(int16(len(params))) for _, param := range params { buf.StartParam() bytes := types.Append(buf.Bytes, param, false) if bytes != nil { buf.Bytes = bytes buf.FinishParam() } else { buf.FinishNullParam() } } buf.WriteInt16(0) buf.FinishMessage() buf.StartMessage(executeMsg) buf.WriteString("") buf.WriteInt32(0) buf.FinishMessage() buf.StartMessage(syncMsg) buf.FinishMessage() return nil }
func writeParseDescribeSyncMsg(buf *pool.Buffer, name, q string) { buf.StartMessage(parseMsg) buf.WriteString(name) buf.WriteString(q) buf.WriteInt16(0) buf.FinishMessage() buf.StartMessage(describeMsg) buf.WriteByte('S') buf.WriteString(name) buf.FinishMessage() buf.StartMessage(syncMsg) buf.FinishMessage() }
func writePasswordMsg(buf *pool.Buffer, password string) { buf.StartMessage(passwordMessageMsg) buf.WriteString(password) buf.FinishMessage() }