package pgproto3
import (
"bytes"
"encoding/json"
"github.com/jackc/pgx/v5/internal/pgio"
)
type ParameterStatus struct {
Name string
Value string
}
func (*ParameterStatus ) Backend () {}
func (dst *ParameterStatus ) Decode (src []byte ) error {
buf := bytes .NewBuffer (src )
b , err := buf .ReadBytes (0 )
if err != nil {
return err
}
name := string (b [:len (b )-1 ])
b , err = buf .ReadBytes (0 )
if err != nil {
return err
}
value := string (b [:len (b )-1 ])
*dst = ParameterStatus {Name : name , Value : value }
return nil
}
func (src *ParameterStatus ) Encode (dst []byte ) []byte {
dst = append (dst , 'S' )
sp := len (dst )
dst = pgio .AppendInt32 (dst , -1 )
dst = append (dst , src .Name ...)
dst = append (dst , 0 )
dst = append (dst , src .Value ...)
dst = append (dst , 0 )
pgio .SetInt32 (dst [sp :], int32 (len (dst [sp :])))
return dst
}
func (ps ParameterStatus ) MarshalJSON () ([]byte , error ) {
return json .Marshal (struct {
Type string
Name string
Value string
}{
Type : "ParameterStatus" ,
Name : ps .Name ,
Value : ps .Value ,
})
}
The pages are generated with Golds v0.6.7 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds .