mysql-pr 2.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,324 @@
1
+ # Copyright (C) 2008-2012 TOMITA Masahiro
2
+ # mailto:tommy@tmtm.org
3
+
4
+ #
5
+ class MysqlPR
6
+ # @!attribute [r] number
7
+ # @private
8
+ # @!attribute [r] name
9
+ # @return [String] charset name
10
+ # @!attribute [r] csname
11
+ # @return [String] collation name
12
+ class Charset
13
+ # @private
14
+ # @param [Integer] number
15
+ # @param [String] name
16
+ # @param [String] csname
17
+ def initialize(number, name, csname)
18
+ @number, @name, @csname = number, name, csname
19
+ @unsafe = false
20
+ end
21
+
22
+ attr_reader :number, :name, :csname
23
+
24
+ # @private
25
+ attr_accessor :unsafe
26
+
27
+ # [[charset_number, charset_name, collation_name, default], ...]
28
+ # @private
29
+ CHARSETS = [
30
+ [ 1, "big5", "big5_chinese_ci", true ],
31
+ [ 2, "latin2", "latin2_czech_cs", false],
32
+ [ 3, "dec8", "dec8_swedish_ci", true ],
33
+ [ 4, "cp850", "cp850_general_ci", true ],
34
+ [ 5, "latin1", "latin1_german1_ci", false],
35
+ [ 6, "hp8", "hp8_english_ci", true ],
36
+ [ 7, "koi8r", "koi8r_general_ci", true ],
37
+ [ 8, "latin1", "latin1_swedish_ci", true ],
38
+ [ 9, "latin2", "latin2_general_ci", true ],
39
+ [ 10, "swe7", "swe7_swedish_ci", true ],
40
+ [ 11, "ascii", "ascii_general_ci", true ],
41
+ [ 12, "ujis", "ujis_japanese_ci", true ],
42
+ [ 13, "sjis", "sjis_japanese_ci", true ],
43
+ [ 14, "cp1251", "cp1251_bulgarian_ci", false],
44
+ [ 15, "latin1", "latin1_danish_ci", false],
45
+ [ 16, "hebrew", "hebrew_general_ci", true ],
46
+ [ 17, "filename", "filename", true ],
47
+ [ 18, "tis620", "tis620_thai_ci", true ],
48
+ [ 19, "euckr", "euckr_korean_ci", true ],
49
+ [ 20, "latin7", "latin7_estonian_cs", false],
50
+ [ 21, "latin2", "latin2_hungarian_ci", false],
51
+ [ 22, "koi8u", "koi8u_general_ci", true ],
52
+ [ 23, "cp1251", "cp1251_ukrainian_ci", false],
53
+ [ 24, "gb2312", "gb2312_chinese_ci", true ],
54
+ [ 25, "greek", "greek_general_ci", true ],
55
+ [ 26, "cp1250", "cp1250_general_ci", true ],
56
+ [ 27, "latin2", "latin2_croatian_ci", false],
57
+ [ 28, "gbk", "gbk_chinese_ci", true ],
58
+ [ 29, "cp1257", "cp1257_lithuanian_ci", false],
59
+ [ 30, "latin5", "latin5_turkish_ci", true ],
60
+ [ 31, "latin1", "latin1_german2_ci", false],
61
+ [ 32, "armscii8", "armscii8_general_ci", true ],
62
+ [ 33, "utf8", "utf8_general_ci", true ],
63
+ [ 34, "cp1250", "cp1250_czech_cs", false],
64
+ [ 35, "ucs2", "ucs2_general_ci", true ],
65
+ [ 36, "cp866", "cp866_general_ci", true ],
66
+ [ 37, "keybcs2", "keybcs2_general_ci", true ],
67
+ [ 38, "macce", "macce_general_ci", true ],
68
+ [ 39, "macroman", "macroman_general_ci", true ],
69
+ [ 40, "cp852", "cp852_general_ci", true ],
70
+ [ 41, "latin7", "latin7_general_ci", true ],
71
+ [ 42, "latin7", "latin7_general_cs", false],
72
+ [ 43, "macce", "macce_bin", false],
73
+ [ 44, "cp1250", "cp1250_croatian_ci", false],
74
+ [ 45, "utf8mb4", "utf8mb4_general_ci", true ],
75
+ [ 46, "utf8mb4", "utf8mb4_bin", false],
76
+ [ 47, "latin1", "latin1_bin", false],
77
+ [ 48, "latin1", "latin1_general_ci", false],
78
+ [ 49, "latin1", "latin1_general_cs", false],
79
+ [ 50, "cp1251", "cp1251_bin", false],
80
+ [ 51, "cp1251", "cp1251_general_ci", true ],
81
+ [ 52, "cp1251", "cp1251_general_cs", false],
82
+ [ 53, "macroman", "macroman_bin", false],
83
+ [ 57, "cp1256", "cp1256_general_ci", true ],
84
+ [ 58, "cp1257", "cp1257_bin", false],
85
+ [ 59, "cp1257", "cp1257_general_ci", true ],
86
+ [ 63, "binary", "binary", true ],
87
+ [ 64, "armscii8", "armscii8_bin", false],
88
+ [ 65, "ascii", "ascii_bin", false],
89
+ [ 66, "cp1250", "cp1250_bin", false],
90
+ [ 67, "cp1256", "cp1256_bin", false],
91
+ [ 68, "cp866", "cp866_bin", false],
92
+ [ 69, "dec8", "dec8_bin", false],
93
+ [ 70, "greek", "greek_bin", false],
94
+ [ 71, "hebrew", "hebrew_bin", false],
95
+ [ 72, "hp8", "hp8_bin", false],
96
+ [ 73, "keybcs2", "keybcs2_bin", false],
97
+ [ 74, "koi8r", "koi8r_bin", false],
98
+ [ 75, "koi8u", "koi8u_bin", false],
99
+ [ 77, "latin2", "latin2_bin", false],
100
+ [ 78, "latin5", "latin5_bin", false],
101
+ [ 79, "latin7", "latin7_bin", false],
102
+ [ 80, "cp850", "cp850_bin", false],
103
+ [ 81, "cp852", "cp852_bin", false],
104
+ [ 82, "swe7", "swe7_bin", false],
105
+ [ 83, "utf8", "utf8_bin", false],
106
+ [ 84, "big5", "big5_bin", false],
107
+ [ 85, "euckr", "euckr_bin", false],
108
+ [ 86, "gb2312", "gb2312_bin", false],
109
+ [ 87, "gbk", "gbk_bin", false],
110
+ [ 88, "sjis", "sjis_bin", false],
111
+ [ 89, "tis620", "tis620_bin", false],
112
+ [ 90, "ucs2", "ucs2_bin", false],
113
+ [ 91, "ujis", "ujis_bin", false],
114
+ [ 92, "geostd8", "geostd8_general_ci", true ],
115
+ [ 93, "geostd8", "geostd8_bin", false],
116
+ [ 94, "latin1", "latin1_spanish_ci", false],
117
+ [ 95, "cp932", "cp932_japanese_ci", true ],
118
+ [ 96, "cp932", "cp932_bin", false],
119
+ [ 97, "eucjpms", "eucjpms_japanese_ci", true ],
120
+ [ 98, "eucjpms", "eucjpms_bin", false],
121
+ [ 99, "cp1250", "cp1250_polish_ci", false],
122
+ [128, "ucs2", "ucs2_unicode_ci", false],
123
+ [129, "ucs2", "ucs2_icelandic_ci", false],
124
+ [130, "ucs2", "ucs2_latvian_ci", false],
125
+ [131, "ucs2", "ucs2_romanian_ci", false],
126
+ [132, "ucs2", "ucs2_slovenian_ci", false],
127
+ [133, "ucs2", "ucs2_polish_ci", false],
128
+ [134, "ucs2", "ucs2_estonian_ci", false],
129
+ [135, "ucs2", "ucs2_spanish_ci", false],
130
+ [136, "ucs2", "ucs2_swedish_ci", false],
131
+ [137, "ucs2", "ucs2_turkish_ci", false],
132
+ [138, "ucs2", "ucs2_czech_ci", false],
133
+ [139, "ucs2", "ucs2_danish_ci", false],
134
+ [140, "ucs2", "ucs2_lithuanian_ci", false],
135
+ [141, "ucs2", "ucs2_slovak_ci", false],
136
+ [142, "ucs2", "ucs2_spanish2_ci", false],
137
+ [143, "ucs2", "ucs2_roman_ci", false],
138
+ [144, "ucs2", "ucs2_persian_ci", false],
139
+ [145, "ucs2", "ucs2_esperanto_ci", false],
140
+ [146, "ucs2", "ucs2_hungarian_ci", false],
141
+ [192, "utf8", "utf8_unicode_ci", false],
142
+ [193, "utf8", "utf8_icelandic_ci", false],
143
+ [194, "utf8", "utf8_latvian_ci", false],
144
+ [195, "utf8", "utf8_romanian_ci", false],
145
+ [196, "utf8", "utf8_slovenian_ci", false],
146
+ [197, "utf8", "utf8_polish_ci", false],
147
+ [198, "utf8", "utf8_estonian_ci", false],
148
+ [199, "utf8", "utf8_spanish_ci", false],
149
+ [200, "utf8", "utf8_swedish_ci", false],
150
+ [201, "utf8", "utf8_turkish_ci", false],
151
+ [202, "utf8", "utf8_czech_ci", false],
152
+ [203, "utf8", "utf8_danish_ci", false],
153
+ [204, "utf8", "utf8_lithuanian_ci", false],
154
+ [205, "utf8", "utf8_slovak_ci", false],
155
+ [206, "utf8", "utf8_spanish2_ci", false],
156
+ [207, "utf8", "utf8_roman_ci", false],
157
+ [208, "utf8", "utf8_persian_ci", false],
158
+ [209, "utf8", "utf8_esperanto_ci", false],
159
+ [210, "utf8", "utf8_hungarian_ci", false],
160
+ [211, "utf8", "utf8_sinhala_ci", false],
161
+ [224, "utf8mb4", "utf8mb4_unicode_ci", false],
162
+ [225, "utf8mb4", "utf8mb4_icelandic_ci", false],
163
+ [226, "utf8mb4", "utf8mb4_latvian_ci", false],
164
+ [227, "utf8mb4", "utf8mb4_romanian_ci", false],
165
+ [228, "utf8mb4", "utf8mb4_slovenian_ci", false],
166
+ [229, "utf8mb4", "utf8mb4_polish_ci", false],
167
+ [230, "utf8mb4", "utf8mb4_estonian_ci", false],
168
+ [231, "utf8mb4", "utf8mb4_spanish_ci", false],
169
+ [232, "utf8mb4", "utf8mb4_swedish_ci", false],
170
+ [233, "utf8mb4", "utf8mb4_turkish_ci", false],
171
+ [234, "utf8mb4", "utf8mb4_czech_ci", false],
172
+ [235, "utf8mb4", "utf8mb4_danish_ci", false],
173
+ [236, "utf8mb4", "utf8mb4_lithuanian_ci", false],
174
+ [237, "utf8mb4", "utf8mb4_slovak_ci", false],
175
+ [238, "utf8mb4", "utf8mb4_spanish2_ci", false],
176
+ [239, "utf8mb4", "utf8mb4_roman_ci", false],
177
+ [240, "utf8mb4", "utf8mb4_persian_ci", false],
178
+ [241, "utf8mb4", "utf8mb4_esperanto_ci", false],
179
+ [242, "utf8mb4", "utf8mb4_hungarian_ci", false],
180
+ [243, "utf8mb4", "utf8mb4_sinhala_ci", false],
181
+ [254, "utf8", "utf8_general_cs", false],
182
+ ]
183
+
184
+ # @private
185
+ UNSAFE_CHARSET = [
186
+ "big5", "sjis", "filename", "gbk", "ucs2", "cp932",
187
+ ]
188
+
189
+ # @private
190
+ NUMBER_TO_CHARSET = {}
191
+ # @private
192
+ COLLATION_TO_CHARSET = {}
193
+ # @private
194
+ CHARSET_DEFAULT = {}
195
+ CHARSETS.each do |number, csname, clname, default|
196
+ cs = Charset.new number, csname, clname
197
+ cs.unsafe = true if UNSAFE_CHARSET.include? csname
198
+ NUMBER_TO_CHARSET[number] = cs
199
+ COLLATION_TO_CHARSET[clname] = cs
200
+ CHARSET_DEFAULT[csname] = cs if default
201
+ end
202
+
203
+ # @private
204
+ BINARY_CHARSET_NUMBER = CHARSET_DEFAULT['binary'].number
205
+
206
+ # @private
207
+ # @param [Integer] n
208
+ # @return [Mysql::Charset]
209
+ def self.by_number(n)
210
+ raise ClientError, "unknown charset number: #{n}" unless NUMBER_TO_CHARSET.key? n
211
+ NUMBER_TO_CHARSET[n]
212
+ end
213
+
214
+ # @private
215
+ # @param [String] str
216
+ # @return [Mysql::Charset]
217
+ def self.by_name(str)
218
+ ret = COLLATION_TO_CHARSET[str] || CHARSET_DEFAULT[str]
219
+ raise ClientError, "unknown charset: #{str}" unless ret
220
+ ret
221
+ end
222
+
223
+ if defined? Encoding
224
+
225
+ # @private
226
+ # MySQL Charset -> Ruby's Encodeing
227
+ CHARSET_ENCODING = {
228
+ "armscii8" => nil,
229
+ "ascii" => Encoding::US_ASCII,
230
+ "big5" => Encoding::Big5,
231
+ "binary" => Encoding::ASCII_8BIT,
232
+ "cp1250" => Encoding::Windows_1250,
233
+ "cp1251" => Encoding::Windows_1251,
234
+ "cp1256" => Encoding::Windows_1256,
235
+ "cp1257" => Encoding::Windows_1257,
236
+ "cp850" => Encoding::CP850,
237
+ "cp852" => Encoding::CP852,
238
+ "cp866" => Encoding::IBM866,
239
+ "cp932" => Encoding::Windows_31J,
240
+ "dec8" => nil,
241
+ "eucjpms" => Encoding::EucJP_ms,
242
+ "euckr" => Encoding::EUC_KR,
243
+ "gb2312" => Encoding::EUC_CN,
244
+ "gbk" => Encoding::GBK,
245
+ "geostd8" => nil,
246
+ "greek" => Encoding::ISO_8859_7,
247
+ "hebrew" => Encoding::ISO_8859_8,
248
+ "hp8" => nil,
249
+ "keybcs2" => nil,
250
+ "koi8r" => Encoding::KOI8_R,
251
+ "koi8u" => Encoding::KOI8_U,
252
+ "latin1" => Encoding::ISO_8859_1,
253
+ "latin2" => Encoding::ISO_8859_2,
254
+ "latin5" => Encoding::ISO_8859_9,
255
+ "latin7" => Encoding::ISO_8859_13,
256
+ "macce" => Encoding::MacCentEuro,
257
+ "macroman" => Encoding::MacRoman,
258
+ "sjis" => Encoding::SHIFT_JIS,
259
+ "swe7" => nil,
260
+ "tis620" => Encoding::TIS_620,
261
+ "ucs2" => Encoding::UTF_16BE,
262
+ "ujis" => Encoding::EucJP_ms,
263
+ "utf8" => Encoding::UTF_8,
264
+ "utf8mb4" => Encoding::UTF_8,
265
+ }
266
+
267
+ # @private
268
+ # @param [String] value
269
+ # @return [String]
270
+ def self.to_binary(value)
271
+ value.force_encoding Encoding::ASCII_8BIT
272
+ end
273
+
274
+ # @private
275
+ # convert raw to encoding and convert to Encoding.default_internal
276
+ # @param [String] raw
277
+ # @param [Encoding] encoding
278
+ # @return [String] result
279
+ def self.convert_encoding(raw, encoding)
280
+ raw.force_encoding(encoding).encode
281
+ end
282
+
283
+ # @private
284
+ # retrun corresponding Ruby encoding
285
+ # @return [Encoding] encoding
286
+ def encoding
287
+ enc = CHARSET_ENCODING[@name.downcase]
288
+ raise Mysql::ClientError, "unsupported charset: #{@name}" unless enc
289
+ enc
290
+ end
291
+
292
+ # @private
293
+ # convert encoding to corrensponding to MySQL charset
294
+ # @param [String] value
295
+ # @return [String]
296
+ def convert(value)
297
+ if value.is_a? String and value.encoding != Encoding::ASCII_8BIT
298
+ value = value.encode encoding
299
+ end
300
+ value
301
+ end
302
+
303
+ else
304
+ # for Ruby 1.8
305
+
306
+ def self.to_binary(value)
307
+ value
308
+ end
309
+
310
+ def self.convert_encoding(raw, encoding)
311
+ raw
312
+ end
313
+
314
+ def encoding
315
+ nil
316
+ end
317
+
318
+ def convert(value)
319
+ value
320
+ end
321
+
322
+ end
323
+ end
324
+ end
@@ -0,0 +1,164 @@
1
+ # Copyright (C) 2003-2008 TOMITA Masahiro
2
+ # mailto:tommy@tmtm.org
3
+
4
+ class MysqlPR
5
+ # Command
6
+ COM_SLEEP = 0
7
+ COM_QUIT = 1
8
+ COM_INIT_DB = 2
9
+ COM_QUERY = 3
10
+ COM_FIELD_LIST = 4
11
+ COM_CREATE_DB = 5
12
+ COM_DROP_DB = 6
13
+ COM_REFRESH = 7
14
+ COM_SHUTDOWN = 8
15
+ COM_STATISTICS = 9
16
+ COM_PROCESS_INFO = 10
17
+ COM_CONNECT = 11
18
+ COM_PROCESS_KILL = 12
19
+ COM_DEBUG = 13
20
+ COM_PING = 14
21
+ COM_TIME = 15
22
+ COM_DELAYED_INSERT = 16
23
+ COM_CHANGE_USER = 17
24
+ COM_BINLOG_DUMP = 18
25
+ COM_TABLE_DUMP = 19
26
+ COM_CONNECT_OUT = 20
27
+ COM_REGISTER_SLAVE = 21
28
+ COM_STMT_PREPARE = 22
29
+ COM_STMT_EXECUTE = 23
30
+ COM_STMT_SEND_LONG_DATA = 24
31
+ COM_STMT_CLOSE = 25
32
+ COM_STMT_RESET = 26
33
+ COM_SET_OPTION = 27
34
+ COM_STMT_FETCH = 28
35
+
36
+ # Client flag
37
+ CLIENT_LONG_PASSWORD = 1 # new more secure passwords
38
+ CLIENT_FOUND_ROWS = 1 << 1 # Found instead of affected rows
39
+ CLIENT_LONG_FLAG = 1 << 2 # Get all column flags
40
+ CLIENT_CONNECT_WITH_DB = 1 << 3 # One can specify db on connect
41
+ CLIENT_NO_SCHEMA = 1 << 4 # Don't allow database.table.column
42
+ CLIENT_COMPRESS = 1 << 5 # Can use compression protocol
43
+ CLIENT_ODBC = 1 << 6 # Odbc client
44
+ CLIENT_LOCAL_FILES = 1 << 7 # Can use LOAD DATA LOCAL
45
+ CLIENT_IGNORE_SPACE = 1 << 8 # Ignore spaces before '('
46
+ CLIENT_PROTOCOL_41 = 1 << 9 # New 4.1 protocol
47
+ CLIENT_INTERACTIVE = 1 << 10 # This is an interactive client
48
+ CLIENT_SSL = 1 << 11 # Switch to SSL after handshake
49
+ CLIENT_IGNORE_SIGPIPE = 1 << 12 # IGNORE sigpipes
50
+ CLIENT_TRANSACTIONS = 1 << 13 # Client knows about transactions
51
+ CLIENT_RESERVED = 1 << 14 # Old flag for 4.1 protocol
52
+ CLIENT_SECURE_CONNECTION = 1 << 15 # New 4.1 authentication
53
+ CLIENT_MULTI_STATEMENTS = 1 << 16 # Enable/disable multi-stmt support
54
+ CLIENT_MULTI_RESULTS = 1 << 17 # Enable/disable multi-results
55
+
56
+ # Connection Option
57
+ OPT_CONNECT_TIMEOUT = 0
58
+ OPT_COMPRESS = 1
59
+ OPT_NAMED_PIPE = 2
60
+ INIT_COMMAND = 3
61
+ READ_DEFAULT_FILE = 4
62
+ READ_DEFAULT_GROUP = 5
63
+ SET_CHARSET_DIR = 6
64
+ SET_CHARSET_NAME = 7
65
+ OPT_LOCAL_INFILE = 8
66
+ OPT_PROTOCOL = 9
67
+ SHARED_MEMORY_BASE_NAME = 10
68
+ OPT_READ_TIMEOUT = 11
69
+ OPT_WRITE_TIMEOUT = 12
70
+ OPT_USE_RESULT = 13
71
+ OPT_USE_REMOTE_CONNECTION = 14
72
+ OPT_USE_EMBEDDED_CONNECTION = 15
73
+ OPT_GUESS_CONNECTION = 16
74
+ SET_CLIENT_IP = 17
75
+ SECURE_AUTH = 18
76
+ REPORT_DATA_TRUNCATION = 19
77
+ OPT_RECONNECT = 20
78
+ OPT_SSL_VERIFY_SERVER_CERT = 21
79
+
80
+ # Server Option
81
+ OPTION_MULTI_STATEMENTS_ON = 0
82
+ OPTION_MULTI_STATEMENTS_OFF = 1
83
+
84
+ # Server Status
85
+ SERVER_STATUS_IN_TRANS = 1
86
+ SERVER_STATUS_AUTOCOMMIT = 1 << 1
87
+ SERVER_MORE_RESULTS_EXISTS = 1 << 3
88
+ SERVER_QUERY_NO_GOOD_INDEX_USED = 1 << 4
89
+ SERVER_QUERY_NO_INDEX_USED = 1 << 5
90
+ SERVER_STATUS_CURSOR_EXISTS = 1 << 6
91
+ SERVER_STATUS_LAST_ROW_SENT = 1 << 7
92
+ SERVER_STATUS_DB_DROPPED = 1 << 8
93
+ SERVER_STATUS_NO_BACKSLASH_ESCAPES = 1 << 9
94
+
95
+ # Refresh parameter
96
+ REFRESH_GRANT = 1
97
+ REFRESH_LOG = 1 << 1
98
+ REFRESH_TABLES = 1 << 2
99
+ REFRESH_HOSTS = 1 << 3
100
+ REFRESH_STATUS = 1 << 4
101
+ REFRESH_THREADS = 1 << 5
102
+ REFRESH_SLAVE = 1 << 6
103
+ REFRESH_MASTER = 1 << 7
104
+ REFRESH_READ_LOCK = 1 << 14
105
+ REFRESH_FAST = 1 << 15
106
+
107
+ class Field
108
+ # Field type
109
+ TYPE_DECIMAL = 0
110
+ TYPE_TINY = 1
111
+ TYPE_SHORT = 2
112
+ TYPE_LONG = 3
113
+ TYPE_FLOAT = 4
114
+ TYPE_DOUBLE = 5
115
+ TYPE_NULL = 6
116
+ TYPE_TIMESTAMP = 7
117
+ TYPE_LONGLONG = 8
118
+ TYPE_INT24 = 9
119
+ TYPE_DATE = 10
120
+ TYPE_TIME = 11
121
+ TYPE_DATETIME = 12
122
+ TYPE_YEAR = 13
123
+ TYPE_NEWDATE = 14
124
+ TYPE_VARCHAR = 15
125
+ TYPE_BIT = 16
126
+ TYPE_NEWDECIMAL = 246
127
+ TYPE_ENUM = 247
128
+ TYPE_SET = 248
129
+ TYPE_TINY_BLOB = 249
130
+ TYPE_MEDIUM_BLOB = 250
131
+ TYPE_LONG_BLOB = 251
132
+ TYPE_BLOB = 252
133
+ TYPE_VAR_STRING = 253
134
+ TYPE_STRING = 254
135
+ TYPE_GEOMETRY = 255
136
+ TYPE_CHAR = TYPE_TINY
137
+ TYPE_INTERVAL = TYPE_ENUM
138
+
139
+ # Flag
140
+ NOT_NULL_FLAG = 1
141
+ PRI_KEY_FLAG = 2
142
+ UNIQUE_KEY_FLAG = 4
143
+ MULTIPLE_KEY_FLAG = 8
144
+ BLOB_FLAG = 16
145
+ UNSIGNED_FLAG = 32
146
+ ZEROFILL_FLAG = 64
147
+ BINARY_FLAG = 128
148
+ ENUM_FLAG = 256
149
+ AUTO_INCREMENT_FLAG = 512
150
+ TIMESTAMP_FLAG = 1024
151
+ SET_FLAG = 2048
152
+ NUM_FLAG = 32768
153
+ PART_KEY_FLAG = 16384
154
+ GROUP_FLAG = 32768
155
+ UNIQUE_FLAG = 65536
156
+ BINCMP_FLAG = 131072
157
+ end
158
+
159
+ class Stmt
160
+ # Cursor type
161
+ CURSOR_TYPE_NO_CURSOR = 0
162
+ CURSOR_TYPE_READ_ONLY = 1
163
+ end
164
+ end