1package pgproto3
2
3import (
4	"encoding/json"
5)
6
7type EmptyQueryResponse struct{}
8
9// Backend identifies this message as sendable by the PostgreSQL backend.
10func (*EmptyQueryResponse) Backend() {}
11
12// Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message
13// type identifier and 4 byte message length.
14func (dst *EmptyQueryResponse) Decode(src []byte) error {
15	if len(src) != 0 {
16		return &invalidMessageLenErr{messageType: "EmptyQueryResponse", expectedLen: 0, actualLen: len(src)}
17	}
18
19	return nil
20}
21
22// Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
23func (src *EmptyQueryResponse) Encode(dst []byte) []byte {
24	return append(dst, 'I', 0, 0, 0, 4)
25}
26
27// MarshalJSON implements encoding/json.Marshaler.
28func (src EmptyQueryResponse) MarshalJSON() ([]byte, error) {
29	return json.Marshal(struct {
30		Type string
31	}{
32		Type: "EmptyQueryResponse",
33	})
34}
35