From 18e7e777be8bcae5c1bc24d4fb86f5d497012575 Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Sat, 8 Jun 2019 10:26:26 -0500 Subject: [PATCH] Import PortalSuspended from pgx v3 0ab6f80f9929384a8cf6cfc299b43233534eb705 --- frontend.go | 3 +++ portal_suspended.go | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 portal_suspended.go diff --git a/frontend.go b/frontend.go index 6fa03bce..a0a5b493 100644 --- a/frontend.go +++ b/frontend.go @@ -34,6 +34,7 @@ type Frontend struct { parseComplete ParseComplete readyForQuery ReadyForQuery rowDescription RowDescription + portalSuspended PortalSuspended bodyLen int msgType byte @@ -95,6 +96,8 @@ func (b *Frontend) Receive() (BackendMessage, error) { msg = &b.noticeResponse case 'R': msg = &b.authentication + case 's': + msg = &b.portalSuspended case 'S': msg = &b.parameterStatus case 't': diff --git a/portal_suspended.go b/portal_suspended.go new file mode 100644 index 00000000..dc81b027 --- /dev/null +++ b/portal_suspended.go @@ -0,0 +1,29 @@ +package pgproto3 + +import ( + "encoding/json" +) + +type PortalSuspended struct{} + +func (*PortalSuspended) Backend() {} + +func (dst *PortalSuspended) Decode(src []byte) error { + if len(src) != 0 { + return &invalidMessageLenErr{messageType: "PortalSuspended", expectedLen: 0, actualLen: len(src)} + } + + return nil +} + +func (src *PortalSuspended) Encode(dst []byte) []byte { + return append(dst, 's', 0, 0, 0, 4) +} + +func (src *PortalSuspended) MarshalJSON() ([]byte, error) { + return json.Marshal(struct { + Type string + }{ + Type: "PortalSuspended", + }) +}