Skip to content

Commit 5b47f75

Browse files
committed
update constants and client error from 8.0
1 parent 44520a1 commit 5b47f75

File tree

2 files changed

+94
-45
lines changed

2 files changed

+94
-45
lines changed

lib/mysql/constants.rb

Lines changed: 84 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# coding: ascii-8bit
2-
# Copyright (C) 2003-2008 TOMITA Masahiro
2+
# Copyright (C) 2003 TOMITA Masahiro
33
44

55
class Mysql
@@ -36,6 +36,7 @@ class Mysql
3636
COM_DAEMON = 29
3737
COM_BINLOG_DUMP_GTID = 30
3838
COM_RESET_CONNECTION = 31
39+
COM_CLONE = 32
3940

4041
# Client flag
4142
CLIENT_LONG_PASSWORD = 1 # new more secure passwords
@@ -63,32 +64,57 @@ class Mysql
6364
CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS = 1 << 22 # Don't close the connection for a connection with expired password.
6465
CLIENT_SESSION_TRACK = 1 << 23 # Capable of handling server state change information. Its a hint to the server to include the state change information in Ok packet.
6566
CLIENT_DEPRECATE_EOF = 1 << 24 # Client no longer needs EOF packet
66-
CLIENT_SSL_VERIFY_SERVER_CERT = 1 << 30
67-
CLIENT_REMEMBER_OPTIONS = 1 << 31
67+
CLIENT_OPTIONAL_RESULTSET_METADATA = 1 << 25 # The client can handle optional metadata information in the resultset.
68+
CLIENT_ZSTD_COMPRESSION_ALGORITHM = 1 << 26 # Compression protocol extended to support zstd compression method
69+
CLIENT_CAPABILITY_EXTENSION = 1 << 29 # This flag will be reserved to extend the 32bit capabilities structure to 64bits.
70+
CLIENT_SSL_VERIFY_SERVER_CERT = 1 << 30 # Verify server certificate.
71+
CLIENT_REMEMBER_OPTIONS = 1 << 31 # Don't reset the options after an unsuccessful connect
6872

6973
# Connection Option
70-
OPT_CONNECT_TIMEOUT = 0
71-
OPT_COMPRESS = 1
72-
OPT_NAMED_PIPE = 2
73-
INIT_COMMAND = 3
74-
READ_DEFAULT_FILE = 4
75-
READ_DEFAULT_GROUP = 5
76-
SET_CHARSET_DIR = 6
77-
SET_CHARSET_NAME = 7
78-
OPT_LOCAL_INFILE = 8
79-
OPT_PROTOCOL = 9
80-
SHARED_MEMORY_BASE_NAME = 10
81-
OPT_READ_TIMEOUT = 11
82-
OPT_WRITE_TIMEOUT = 12
83-
OPT_USE_RESULT = 13
84-
OPT_USE_REMOTE_CONNECTION = 14
85-
OPT_USE_EMBEDDED_CONNECTION = 15
86-
OPT_GUESS_CONNECTION = 16
87-
SET_CLIENT_IP = 17
88-
SECURE_AUTH = 18
89-
REPORT_DATA_TRUNCATION = 19
90-
OPT_RECONNECT = 20
91-
OPT_SSL_VERIFY_SERVER_CERT = 21
74+
OPT_CONNECT_TIMEOUT = 0
75+
OPT_COMPRESS = 1
76+
OPT_NAMED_PIPE = 2
77+
INIT_COMMAND = 3
78+
READ_DEFAULT_FILE = 4
79+
READ_DEFAULT_GROUP = 5
80+
SET_CHARSET_DIR = 6
81+
SET_CHARSET_NAME = 7
82+
OPT_LOCAL_INFILE = 8
83+
OPT_PROTOCOL = 9
84+
SHARED_MEMORY_BASE_NAME = 10
85+
OPT_READ_TIMEOUT = 11
86+
OPT_WRITE_TIMEOUT = 12
87+
OPT_USE_RESULT = 13
88+
REPORT_DATA_TRUNCATION = 14
89+
OPT_RECONNECT = 15
90+
PLUGIN_DIR = 16
91+
DEFAULT_AUTH = 17
92+
OPT_BIND = 18
93+
OPT_SSL_KEY = 19
94+
OPT_SSL_CERT = 20
95+
OPT_SSL_CA = 21
96+
OPT_SSL_CAPATH = 22
97+
OPT_SSL_CIPHER = 23
98+
OPT_SSL_CRL = 24
99+
OPT_SSL_CRLPATH = 25
100+
OPT_CONNECT_ATTR_RESET = 26
101+
OPT_CONNECT_ATTR_ADD = 27
102+
OPT_CONNECT_ATTR_DELETE = 28
103+
SERVER_PUBLIC_KEY = 29
104+
ENABLE_CLEARTEXT_PLUGIN = 30
105+
OPT_CAN_HANDLE_EXPIRED_PASSWORDS = 31
106+
OPT_MAX_ALLOWED_PACKET = 32
107+
OPT_NET_BUFFER_LENGTH = 33
108+
OPT_TLS_VERSION = 34
109+
OPT_SSL_MODE = 35
110+
OPT_GET_SERVER_PUBLIC_KEY = 36
111+
OPT_RETRY_COUNT = 37
112+
OPT_OPTIONAL_RESULTSET_METADATA = 38
113+
OPT_SSL_FIPS_MODE = 39
114+
OPT_TLS_CIPHERSUITES = 40
115+
OPT_COMPRESSION_ALGORITHMS = 41
116+
OPT_ZSTD_COMPRESSION_LEVEL = 42
117+
OPT_LOAD_DATA_LOCAL_DIR = 43
92118

93119
# Server Option
94120
OPTION_MULTI_STATEMENTS_ON = 0
@@ -133,6 +159,7 @@ class Mysql
133159
REFRESH_USER_RESOURCES = 1 << 19
134160
REFRESH_FOR_EXPORT = 1 << 20
135161
REFRESH_OPTIMIZER_COSTS = 1 << 21
162+
REFRESH_PERSIST = 1 << 22
136163

137164
class Field
138165
# Field type
@@ -156,6 +183,9 @@ class Field
156183
TYPE_TIMESTAMP2 = 17
157184
TYPE_DATETIME2 = 18
158185
TYPE_TIME2 = 19
186+
TYPE_TYPED_ARRAY = 20
187+
TYPE_INVALID = 243
188+
TYPE_BOOL = 244
159189
TYPE_JSON = 245
160190
TYPE_NEWDECIMAL = 246
161191
TYPE_ENUM = 247
@@ -171,25 +201,35 @@ class Field
171201
TYPE_INTERVAL = TYPE_ENUM
172202

173203
# Flag
174-
NOT_NULL_FLAG = 1
175-
PRI_KEY_FLAG = 2
176-
UNIQUE_KEY_FLAG = 4
177-
MULTIPLE_KEY_FLAG = 8
178-
BLOB_FLAG = 16
179-
UNSIGNED_FLAG = 32
180-
ZEROFILL_FLAG = 64
181-
BINARY_FLAG = 128
182-
ENUM_FLAG = 256
183-
AUTO_INCREMENT_FLAG = 512
184-
TIMESTAMP_FLAG = 1024
185-
SET_FLAG = 2048
186-
NO_DEFAULT_VALUE_FLAG = 4096
187-
ON_UPDATE_NOW_FLAG = 8192
188-
NUM_FLAG = 32768
189-
PART_KEY_FLAG = 16384
190-
GROUP_FLAG = 32768
191-
UNIQUE_FLAG = 65536
192-
BINCMP_FLAG = 131072
204+
NOT_NULL_FLAG = 1
205+
PRI_KEY_FLAG = 2
206+
UNIQUE_KEY_FLAG = 4
207+
MULTIPLE_KEY_FLAG = 8
208+
BLOB_FLAG = 16
209+
UNSIGNED_FLAG = 32
210+
ZEROFILL_FLAG = 64
211+
BINARY_FLAG = 128
212+
ENUM_FLAG = 256
213+
AUTO_INCREMENT_FLAG = 512
214+
TIMESTAMP_FLAG = 1024
215+
SET_FLAG = 2048
216+
NO_DEFAULT_VALUE_FLAG = 4096
217+
ON_UPDATE_NOW_FLAG = 8192
218+
NUM_FLAG = 32768
219+
PART_KEY_FLAG = 16384
220+
GROUP_FLAG = 32768
221+
UNIQUE_FLAG = 65536
222+
BINCMP_FLAG = 131072
223+
GET_FIXED_FIELDS_FLAG = 1 << 18
224+
FIELD_IN_PART_FUNC_FLAG = 1 << 19
225+
FIELD_IN_ADD_INDEX = 1 << 20
226+
FIELD_IS_RENAMED = 1 << 21
227+
FIELD_FLAGS_STORAGE_MEDIA_MASK = 3 << 22
228+
FIELD_FLAGS_COLUMN_FORMAT_MASK = 3 << 24
229+
FIELD_IS_DROPPED = 1 << 26
230+
EXPLICIT_NULL_FLAG = 1 << 27
231+
FIELD_IS_MARKED = 1 << 28
232+
NOT_SECONDARY_FLAG = 1 << 29
193233
end
194234

195235
class Stmt

lib/mysql/error.rb

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,16 @@ class ClientError < Error
977977
CR_AUTH_PLUGIN_CANNOT_LOAD = 2059
978978
CR_DUPLICATE_CONNECTION_ATTR = 2060
979979
CR_AUTH_PLUGIN_ERR = 2061
980-
CR_ERROR_LAST = 2061
980+
CR_INSECURE_API_ERR = 2062
981+
CR_FILE_NAME_TOO_LONG = 2063
982+
CR_SSL_FIPS_MODE_ERR = 2064
983+
CR_DEPRECATED_COMPRESSION_NOT_SUPPORTED = 2065
984+
CR_COMPRESSION_WRONGLY_CONFIGURED = 2066
985+
CR_KERBEROS_USER_NOT_FOUND = 2067
986+
CR_LOAD_DATA_LOCAL_INFILE_REJECTED = 2068
987+
CR_LOAD_DATA_LOCAL_INFILE_REALPATH_FAIL = 2069
988+
CR_DNS_SRV_LOOKUP_FAILED = 2070
989+
CR_ERROR_LAST = 2070
981990
end
982991

983992
ClientError.define_error_class(/\ACR_/)

0 commit comments

Comments
 (0)