forked from maddyblue/sqlfmt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
msg.go
executable file
·91 lines (80 loc) · 3.61 KB
/
msg.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// Copyright 2015 The Cockroach Authors.
//
// Use of this software is governed by the Business Source License
// included in the file licenses/BSL.txt.
//
// As of the Change Date specified in that file, in accordance with
// the Business Source License, use of this software will be governed
// by the Apache License, Version 2.0, included in the file
// licenses/APL.txt.
package pgwirebase
import "math"
//ClientMessageType represents a client pgwire message.
//go:generate stringer -type=ClientMessageType
type ClientMessageType byte
//ServerMessageType represents a server pgwire message.
//go:generate stringer -type=ServerMessageType
type ServerMessageType byte
// http://www.postgresql.org/docs/9.4/static/protocol-message-formats.html
const (
ClientMsgBind ClientMessageType = 'B'
ClientMsgClose ClientMessageType = 'C'
ClientMsgCopyData ClientMessageType = 'd'
ClientMsgCopyDone ClientMessageType = 'c'
ClientMsgCopyFail ClientMessageType = 'f'
ClientMsgDescribe ClientMessageType = 'D'
ClientMsgExecute ClientMessageType = 'E'
ClientMsgFlush ClientMessageType = 'H'
ClientMsgParse ClientMessageType = 'P'
ClientMsgPassword ClientMessageType = 'p'
ClientMsgSimpleQuery ClientMessageType = 'Q'
ClientMsgSync ClientMessageType = 'S'
ClientMsgTerminate ClientMessageType = 'X'
ServerMsgAuth ServerMessageType = 'R'
ServerMsgBackendKeyData ServerMessageType = 'K'
ServerMsgBindComplete ServerMessageType = '2'
ServerMsgCommandComplete ServerMessageType = 'C'
ServerMsgCloseComplete ServerMessageType = '3'
ServerMsgCopyInResponse ServerMessageType = 'G'
ServerMsgDataRow ServerMessageType = 'D'
ServerMsgEmptyQuery ServerMessageType = 'I'
ServerMsgErrorResponse ServerMessageType = 'E'
ServerMsgNoticeResponse ServerMessageType = 'N'
ServerMsgNoData ServerMessageType = 'n'
ServerMsgParameterDescription ServerMessageType = 't'
ServerMsgParameterStatus ServerMessageType = 'S'
ServerMsgParseComplete ServerMessageType = '1'
ServerMsgPortalSuspended ServerMessageType = 's'
ServerMsgReady ServerMessageType = 'Z'
ServerMsgRowDescription ServerMessageType = 'T'
)
// ServerErrFieldType represents the error fields.
//go:generate stringer -type=ServerErrFieldType
type ServerErrFieldType byte
// http://www.postgresql.org/docs/current/static/protocol-error-fields.html
const (
ServerErrFieldSeverity ServerErrFieldType = 'S'
ServerErrFieldSQLState ServerErrFieldType = 'C'
ServerErrFieldMsgPrimary ServerErrFieldType = 'M'
ServerErrFieldDetail ServerErrFieldType = 'D'
ServerErrFieldHint ServerErrFieldType = 'H'
ServerErrFieldSrcFile ServerErrFieldType = 'F'
ServerErrFieldSrcLine ServerErrFieldType = 'L'
ServerErrFieldSrcFunction ServerErrFieldType = 'R'
ServerErrFieldConstraintName ServerErrFieldType = 'n'
)
// PrepareType represents a subtype for prepare messages.
//go:generate stringer -type=PrepareType
type PrepareType byte
const (
// PrepareStatement represents a prepared statement.
PrepareStatement PrepareType = 'S'
// PreparePortal represents a portal.
PreparePortal PrepareType = 'P'
)
// MaxPreparedStatementArgs is the maximum number of arguments a prepared
// statement can have when prepared via the Postgres wire protocol. This is not
// documented by Postgres, but is a consequence of the fact that a 16-bit
// integer in the wire format is used to indicate the number of values to bind
// during prepared statement execution.
const MaxPreparedStatementArgs = math.MaxUint16