520 lines
26 KiB
Ruby
520 lines
26 KiB
Ruby
# Copyright (C) 2003-2008 TOMITA Masahiro
|
|
# mailto:tommy@tmtm.org
|
|
|
|
class RbMysql
|
|
class Error < StandardError
|
|
end
|
|
|
|
class ServerError < Error
|
|
ERRNO = 0
|
|
def initialize(message, sqlstate=nil)
|
|
@sqlstate = sqlstate
|
|
@error = message
|
|
super message
|
|
end
|
|
attr_reader :sqlstate, :error
|
|
|
|
def errno
|
|
self.class::ERRNO
|
|
end
|
|
|
|
ERROR_MAP = {}
|
|
|
|
ER_HASHCHK = 1000
|
|
ER_NISAMCHK = 1001
|
|
ER_NO = 1002
|
|
ER_YES = 1003
|
|
ER_CANT_CREATE_FILE = 1004
|
|
ER_CANT_CREATE_TABLE = 1005
|
|
ER_CANT_CREATE_DB = 1006
|
|
ER_DB_CREATE_EXISTS = 1007
|
|
ER_DB_DROP_EXISTS = 1008
|
|
ER_DB_DROP_DELETE = 1009
|
|
ER_DB_DROP_RMDIR = 1010
|
|
ER_CANT_DELETE_FILE = 1011
|
|
ER_CANT_FIND_SYSTEM_REC = 1012
|
|
ER_CANT_GET_STAT = 1013
|
|
ER_CANT_GET_WD = 1014
|
|
ER_CANT_LOCK = 1015
|
|
ER_CANT_OPEN_FILE = 1016
|
|
ER_FILE_NOT_FOUND = 1017
|
|
ER_CANT_READ_DIR = 1018
|
|
ER_CANT_SET_WD = 1019
|
|
ER_CHECKREAD = 1020
|
|
ER_DISK_FULL = 1021
|
|
ER_DUP_KEY = 1022
|
|
ER_ERROR_ON_CLOSE = 1023
|
|
ER_ERROR_ON_READ = 1024
|
|
ER_ERROR_ON_RENAME = 1025
|
|
ER_ERROR_ON_WRITE = 1026
|
|
ER_FILE_USED = 1027
|
|
ER_FILSORT_ABORT = 1028
|
|
ER_FORM_NOT_FOUND = 1029
|
|
ER_GET_ERRNO = 1030
|
|
ER_ILLEGAL_HA = 1031
|
|
ER_KEY_NOT_FOUND = 1032
|
|
ER_NOT_FORM_FILE = 1033
|
|
ER_NOT_KEYFILE = 1034
|
|
ER_OLD_KEYFILE = 1035
|
|
ER_OPEN_AS_READONLY = 1036
|
|
ER_OUTOFMEMORY = 1037
|
|
ER_OUT_OF_SORTMEMORY = 1038
|
|
ER_UNEXPECTED_EOF = 1039
|
|
ER_CON_COUNT_ERROR = 1040
|
|
ER_OUT_OF_RESOURCES = 1041
|
|
ER_BAD_HOST_ERROR = 1042
|
|
ER_HANDSHAKE_ERROR = 1043
|
|
ER_DBACCESS_DENIED_ERROR = 1044
|
|
ER_ACCESS_DENIED_ERROR = 1045
|
|
ER_NO_DB_ERROR = 1046
|
|
ER_UNKNOWN_COM_ERROR = 1047
|
|
ER_BAD_NULL_ERROR = 1048
|
|
ER_BAD_DB_ERROR = 1049
|
|
ER_TABLE_EXISTS_ERROR = 1050
|
|
ER_BAD_TABLE_ERROR = 1051
|
|
ER_NON_UNIQ_ERROR = 1052
|
|
ER_SERVER_SHUTDOWN = 1053
|
|
ER_BAD_FIELD_ERROR = 1054
|
|
ER_WRONG_FIELD_WITH_GROUP = 1055
|
|
ER_WRONG_GROUP_FIELD = 1056
|
|
ER_WRONG_SUM_SELECT = 1057
|
|
ER_WRONG_VALUE_COUNT = 1058
|
|
ER_TOO_LONG_IDENT = 1059
|
|
ER_DUP_FIELDNAME = 1060
|
|
ER_DUP_KEYNAME = 1061
|
|
ER_DUP_ENTRY = 1062
|
|
ER_WRONG_FIELD_SPEC = 1063
|
|
ER_PARSE_ERROR = 1064
|
|
ER_EMPTY_QUERY = 1065
|
|
ER_NONUNIQ_TABLE = 1066
|
|
ER_INVALID_DEFAULT = 1067
|
|
ER_MULTIPLE_PRI_KEY = 1068
|
|
ER_TOO_MANY_KEYS = 1069
|
|
ER_TOO_MANY_KEY_PARTS = 1070
|
|
ER_TOO_LONG_KEY = 1071
|
|
ER_KEY_COLUMN_DOES_NOT_EXITS = 1072
|
|
ER_BLOB_USED_AS_KEY = 1073
|
|
ER_TOO_BIG_FIELDLENGTH = 1074
|
|
ER_WRONG_AUTO_KEY = 1075
|
|
ER_READY = 1076
|
|
ER_NORMAL_SHUTDOWN = 1077
|
|
ER_GOT_SIGNAL = 1078
|
|
ER_SHUTDOWN_COMPLETE = 1079
|
|
ER_FORCING_CLOSE = 1080
|
|
ER_IPSOCK_ERROR = 1081
|
|
ER_NO_SUCH_INDEX = 1082
|
|
ER_WRONG_FIELD_TERMINATORS = 1083
|
|
ER_BLOBS_AND_NO_TERMINATED = 1084
|
|
ER_TEXTFILE_NOT_READABLE = 1085
|
|
ER_FILE_EXISTS_ERROR = 1086
|
|
ER_LOAD_INFO = 1087
|
|
ER_ALTER_INFO = 1088
|
|
ER_WRONG_SUB_KEY = 1089
|
|
ER_CANT_REMOVE_ALL_FIELDS = 1090
|
|
ER_CANT_DROP_FIELD_OR_KEY = 1091
|
|
ER_INSERT_INFO = 1092
|
|
ER_UPDATE_TABLE_USED = 1093
|
|
ER_NO_SUCH_THREAD = 1094
|
|
ER_KILL_DENIED_ERROR = 1095
|
|
ER_NO_TABLES_USED = 1096
|
|
ER_TOO_BIG_SET = 1097
|
|
ER_NO_UNIQUE_LOGFILE = 1098
|
|
ER_TABLE_NOT_LOCKED_FOR_WRITE = 1099
|
|
ER_TABLE_NOT_LOCKED = 1100
|
|
ER_BLOB_CANT_HAVE_DEFAULT = 1101
|
|
ER_WRONG_DB_NAME = 1102
|
|
ER_WRONG_TABLE_NAME = 1103
|
|
ER_TOO_BIG_SELECT = 1104
|
|
ER_UNKNOWN_ERROR = 1105
|
|
ER_UNKNOWN_PROCEDURE = 1106
|
|
ER_WRONG_PARAMCOUNT_TO_PROCEDURE = 1107
|
|
ER_WRONG_PARAMETERS_TO_PROCEDURE = 1108
|
|
ER_UNKNOWN_TABLE = 1109
|
|
ER_FIELD_SPECIFIED_TWICE = 1110
|
|
ER_INVALID_GROUP_FUNC_USE = 1111
|
|
ER_UNSUPPORTED_EXTENSION = 1112
|
|
ER_TABLE_MUST_HAVE_COLUMNS = 1113
|
|
ER_RECORD_FILE_FULL = 1114
|
|
ER_UNKNOWN_CHARACTER_SET = 1115
|
|
ER_TOO_MANY_TABLES = 1116
|
|
ER_TOO_MANY_FIELDS = 1117
|
|
ER_TOO_BIG_ROWSIZE = 1118
|
|
ER_STACK_OVERRUN = 1119
|
|
ER_WRONG_OUTER_JOIN = 1120
|
|
ER_NULL_COLUMN_IN_INDEX = 1121
|
|
ER_CANT_FIND_UDF = 1122
|
|
ER_CANT_INITIALIZE_UDF = 1123
|
|
ER_UDF_NO_PATHS = 1124
|
|
ER_UDF_EXISTS = 1125
|
|
ER_CANT_OPEN_LIBRARY = 1126
|
|
ER_CANT_FIND_DL_ENTRY = 1127
|
|
ER_FUNCTION_NOT_DEFINED = 1128
|
|
ER_HOST_IS_BLOCKED = 1129
|
|
ER_HOST_NOT_PRIVILEGED = 1130
|
|
ER_PASSWORD_ANONYMOUS_USER = 1131
|
|
ER_PASSWORD_NOT_ALLOWED = 1132
|
|
ER_PASSWORD_NO_MATCH = 1133
|
|
ER_UPDATE_INFO = 1134
|
|
ER_CANT_CREATE_THREAD = 1135
|
|
ER_WRONG_VALUE_COUNT_ON_ROW = 1136
|
|
ER_CANT_REOPEN_TABLE = 1137
|
|
ER_INVALID_USE_OF_NULL = 1138
|
|
ER_REGEXP_ERROR = 1139
|
|
ER_MIX_OF_GROUP_FUNC_AND_FIELDS = 1140
|
|
ER_NONEXISTING_GRANT = 1141
|
|
ER_TABLEACCESS_DENIED_ERROR = 1142
|
|
ER_COLUMNACCESS_DENIED_ERROR = 1143
|
|
ER_ILLEGAL_GRANT_FOR_TABLE = 1144
|
|
ER_GRANT_WRONG_HOST_OR_USER = 1145
|
|
ER_NO_SUCH_TABLE = 1146
|
|
ER_NONEXISTING_TABLE_GRANT = 1147
|
|
ER_NOT_ALLOWED_COMMAND = 1148
|
|
ER_SYNTAX_ERROR = 1149
|
|
ER_DELAYED_CANT_CHANGE_LOCK = 1150
|
|
ER_TOO_MANY_DELAYED_THREADS = 1151
|
|
ER_ABORTING_CONNECTION = 1152
|
|
ER_NET_PACKET_TOO_LARGE = 1153
|
|
ER_NET_READ_ERROR_FROM_PIPE = 1154
|
|
ER_NET_FCNTL_ERROR = 1155
|
|
ER_NET_PACKETS_OUT_OF_ORDER = 1156
|
|
ER_NET_UNCOMPRESS_ERROR = 1157
|
|
ER_NET_READ_ERROR = 1158
|
|
ER_NET_READ_INTERRUPTED = 1159
|
|
ER_NET_ERROR_ON_WRITE = 1160
|
|
ER_NET_WRITE_INTERRUPTED = 1161
|
|
ER_TOO_LONG_STRING = 1162
|
|
ER_TABLE_CANT_HANDLE_BLOB = 1163
|
|
ER_TABLE_CANT_HANDLE_AUTO_INCREMENT = 1164
|
|
ER_DELAYED_INSERT_TABLE_LOCKED = 1165
|
|
ER_WRONG_COLUMN_NAME = 1166
|
|
ER_WRONG_KEY_COLUMN = 1167
|
|
ER_WRONG_MRG_TABLE = 1168
|
|
ER_DUP_UNIQUE = 1169
|
|
ER_BLOB_KEY_WITHOUT_LENGTH = 1170
|
|
ER_PRIMARY_CANT_HAVE_NULL = 1171
|
|
ER_TOO_MANY_ROWS = 1172
|
|
ER_REQUIRES_PRIMARY_KEY = 1173
|
|
ER_NO_RAID_COMPILED = 1174
|
|
ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE = 1175
|
|
ER_KEY_DOES_NOT_EXITS = 1176
|
|
ER_CHECK_NO_SUCH_TABLE = 1177
|
|
ER_CHECK_NOT_IMPLEMENTED = 1178
|
|
ER_CANT_DO_THIS_DURING_AN_TRANSACTION = 1179
|
|
ER_ERROR_DURING_COMMIT = 1180
|
|
ER_ERROR_DURING_ROLLBACK = 1181
|
|
ER_ERROR_DURING_FLUSH_LOGS = 1182
|
|
ER_ERROR_DURING_CHECKPOINT = 1183
|
|
ER_NEW_ABORTING_CONNECTION = 1184
|
|
ER_DUMP_NOT_IMPLEMENTED = 1185
|
|
ER_FLUSH_MASTER_BINLOG_CLOSED = 1186
|
|
ER_INDEX_REBUILD = 1187
|
|
ER_MASTER = 1188
|
|
ER_MASTER_NET_READ = 1189
|
|
ER_MASTER_NET_WRITE = 1190
|
|
ER_FT_MATCHING_KEY_NOT_FOUND = 1191
|
|
ER_LOCK_OR_ACTIVE_TRANSACTION = 1192
|
|
ER_UNKNOWN_SYSTEM_VARIABLE = 1193
|
|
ER_CRASHED_ON_USAGE = 1194
|
|
ER_CRASHED_ON_REPAIR = 1195
|
|
ER_WARNING_NOT_COMPLETE_ROLLBACK = 1196
|
|
ER_TRANS_CACHE_FULL = 1197
|
|
ER_SLAVE_MUST_STOP = 1198
|
|
ER_SLAVE_NOT_RUNNING = 1199
|
|
ER_BAD_SLAVE = 1200
|
|
ER_MASTER_INFO = 1201
|
|
ER_SLAVE_THREAD = 1202
|
|
ER_TOO_MANY_USER_CONNECTIONS = 1203
|
|
ER_SET_CONSTANTS_ONLY = 1204
|
|
ER_LOCK_WAIT_TIMEOUT = 1205
|
|
ER_LOCK_TABLE_FULL = 1206
|
|
ER_READ_ONLY_TRANSACTION = 1207
|
|
ER_DROP_DB_WITH_READ_LOCK = 1208
|
|
ER_CREATE_DB_WITH_READ_LOCK = 1209
|
|
ER_WRONG_ARGUMENTS = 1210
|
|
ER_NO_PERMISSION_TO_CREATE_USER = 1211
|
|
ER_UNION_TABLES_IN_DIFFERENT_DIR = 1212
|
|
ER_LOCK_DEADLOCK = 1213
|
|
ER_TABLE_CANT_HANDLE_FT = 1214
|
|
ER_CANNOT_ADD_FOREIGN = 1215
|
|
ER_NO_REFERENCED_ROW = 1216
|
|
ER_ROW_IS_REFERENCED = 1217
|
|
ER_CONNECT_TO_MASTER = 1218
|
|
ER_QUERY_ON_MASTER = 1219
|
|
ER_ERROR_WHEN_EXECUTING_COMMAND = 1220
|
|
ER_WRONG_USAGE = 1221
|
|
ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT = 1222
|
|
ER_CANT_UPDATE_WITH_READLOCK = 1223
|
|
ER_MIXING_NOT_ALLOWED = 1224
|
|
ER_DUP_ARGUMENT = 1225
|
|
ER_USER_LIMIT_REACHED = 1226
|
|
ER_SPECIFIC_ACCESS_DENIED_ERROR = 1227
|
|
ER_LOCAL_VARIABLE = 1228
|
|
ER_GLOBAL_VARIABLE = 1229
|
|
ER_NO_DEFAULT = 1230
|
|
ER_WRONG_VALUE_FOR_VAR = 1231
|
|
ER_WRONG_TYPE_FOR_VAR = 1232
|
|
ER_VAR_CANT_BE_READ = 1233
|
|
ER_CANT_USE_OPTION_HERE = 1234
|
|
ER_NOT_SUPPORTED_YET = 1235
|
|
ER_MASTER_FATAL_ERROR_READING_BINLOG = 1236
|
|
ER_SLAVE_IGNORED_TABLE = 1237
|
|
ER_INCORRECT_GLOBAL_LOCAL_VAR = 1238
|
|
ER_WRONG_FK_DEF = 1239
|
|
ER_KEY_REF_DO_NOT_MATCH_TABLE_REF = 1240
|
|
ER_OPERAND_COLUMNS = 1241
|
|
ER_SUBQUERY_NO_1_ROW = 1242
|
|
ER_UNKNOWN_STMT_HANDLER = 1243
|
|
ER_CORRUPT_HELP_DB = 1244
|
|
ER_CYCLIC_REFERENCE = 1245
|
|
ER_AUTO_CONVERT = 1246
|
|
ER_ILLEGAL_REFERENCE = 1247
|
|
ER_DERIVED_MUST_HAVE_ALIAS = 1248
|
|
ER_SELECT_REDUCED = 1249
|
|
ER_TABLENAME_NOT_ALLOWED_HERE = 1250
|
|
ER_NOT_SUPPORTED_AUTH_MODE = 1251
|
|
ER_SPATIAL_CANT_HAVE_NULL = 1252
|
|
ER_COLLATION_CHARSET_MISMATCH = 1253
|
|
ER_SLAVE_WAS_RUNNING = 1254
|
|
ER_SLAVE_WAS_NOT_RUNNING = 1255
|
|
ER_TOO_BIG_FOR_UNCOMPRESS = 1256
|
|
ER_ZLIB_Z_MEM_ERROR = 1257
|
|
ER_ZLIB_Z_BUF_ERROR = 1258
|
|
ER_ZLIB_Z_DATA_ERROR = 1259
|
|
ER_CUT_VALUE_GROUP_CONCAT = 1260
|
|
ER_WARN_TOO_FEW_RECORDS = 1261
|
|
ER_WARN_TOO_MANY_RECORDS = 1262
|
|
ER_WARN_NULL_TO_NOTNULL = 1263
|
|
ER_WARN_DATA_OUT_OF_RANGE = 1264
|
|
WARN_DATA_TRUNCATED = 1265
|
|
ER_WARN_USING_OTHER_HANDLER = 1266
|
|
ER_CANT_AGGREGATE_2COLLATIONS = 1267
|
|
ER_DROP_USER = 1268
|
|
ER_REVOKE_GRANTS = 1269
|
|
ER_CANT_AGGREGATE_3COLLATIONS = 1270
|
|
ER_CANT_AGGREGATE_NCOLLATIONS = 1271
|
|
ER_VARIABLE_IS_NOT_STRUCT = 1272
|
|
ER_UNKNOWN_COLLATION = 1273
|
|
ER_SLAVE_IGNORED_SSL_PARAMS = 1274
|
|
ER_SERVER_IS_IN_SECURE_AUTH_MODE = 1275
|
|
ER_WARN_FIELD_RESOLVED = 1276
|
|
ER_BAD_SLAVE_UNTIL_COND = 1277
|
|
ER_MISSING_SKIP_SLAVE = 1278
|
|
ER_UNTIL_COND_IGNORED = 1279
|
|
ER_WRONG_NAME_FOR_INDEX = 1280
|
|
ER_WRONG_NAME_FOR_CATALOG = 1281
|
|
ER_WARN_QC_RESIZE = 1282
|
|
ER_BAD_FT_COLUMN = 1283
|
|
ER_UNKNOWN_KEY_CACHE = 1284
|
|
ER_WARN_HOSTNAME_WONT_WORK = 1285
|
|
ER_UNKNOWN_STORAGE_ENGINE = 1286
|
|
ER_WARN_DEPRECATED_SYNTAX = 1287
|
|
ER_NON_UPDATABLE_TABLE = 1288
|
|
ER_FEATURE_DISABLED = 1289
|
|
ER_OPTION_PREVENTS_STATEMENT = 1290
|
|
ER_DUPLICATED_VALUE_IN_TYPE = 1291
|
|
ER_TRUNCATED_WRONG_VALUE = 1292
|
|
ER_TOO_MUCH_AUTO_TIMESTAMP_COLS = 1293
|
|
ER_INVALID_ON_UPDATE = 1294
|
|
ER_UNSUPPORTED_PS = 1295
|
|
ER_GET_ERRMSG = 1296
|
|
ER_GET_TEMPORARY_ERRMSG = 1297
|
|
ER_UNKNOWN_TIME_ZONE = 1298
|
|
ER_WARN_INVALID_TIMESTAMP = 1299
|
|
ER_INVALID_CHARACTER_STRING = 1300
|
|
ER_WARN_ALLOWED_PACKET_OVERFLOWED = 1301
|
|
ER_CONFLICTING_DECLARATIONS = 1302
|
|
ER_SP_NO_RECURSIVE_CREATE = 1303
|
|
ER_SP_ALREADY_EXISTS = 1304
|
|
ER_SP_DOES_NOT_EXIST = 1305
|
|
ER_SP_DROP_FAILED = 1306
|
|
ER_SP_STORE_FAILED = 1307
|
|
ER_SP_LILABEL_MISMATCH = 1308
|
|
ER_SP_LABEL_REDEFINE = 1309
|
|
ER_SP_LABEL_MISMATCH = 1310
|
|
ER_SP_UNINIT_VAR = 1311
|
|
ER_SP_BADSELECT = 1312
|
|
ER_SP_BADRETURN = 1313
|
|
ER_SP_BADSTATEMENT = 1314
|
|
ER_UPDATE_LOG_DEPRECATED_IGNORED = 1315
|
|
ER_UPDATE_LOG_DEPRECATED_TRANSLATED = 1316
|
|
ER_QUERY_INTERRUPTED = 1317
|
|
ER_SP_WRONG_NO_OF_ARGS = 1318
|
|
ER_SP_COND_MISMATCH = 1319
|
|
ER_SP_NORETURN = 1320
|
|
ER_SP_NORETURNEND = 1321
|
|
ER_SP_BAD_CURSOR_QUERY = 1322
|
|
ER_SP_BAD_CURSOR_SELECT = 1323
|
|
ER_SP_CURSOR_MISMATCH = 1324
|
|
ER_SP_CURSOR_ALREADY_OPEN = 1325
|
|
ER_SP_CURSOR_NOT_OPEN = 1326
|
|
ER_SP_UNDECLARED_VAR = 1327
|
|
ER_SP_WRONG_NO_OF_FETCH_ARGS = 1328
|
|
ER_SP_FETCH_NO_DATA = 1329
|
|
ER_SP_DUP_PARAM = 1330
|
|
ER_SP_DUP_VAR = 1331
|
|
ER_SP_DUP_COND = 1332
|
|
ER_SP_DUP_CURS = 1333
|
|
ER_SP_CANT_ALTER = 1334
|
|
ER_SP_SUBSELECT_NYI = 1335
|
|
ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG = 1336
|
|
ER_SP_VARCOND_AFTER_CURSHNDLR = 1337
|
|
ER_SP_CURSOR_AFTER_HANDLER = 1338
|
|
ER_SP_CASE_NOT_FOUND = 1339
|
|
ER_FPARSER_TOO_BIG_FILE = 1340
|
|
ER_FPARSER_BAD_HEADER = 1341
|
|
ER_FPARSER_EOF_IN_COMMENT = 1342
|
|
ER_FPARSER_ERROR_IN_PARAMETER = 1343
|
|
ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER = 1344
|
|
ER_VIEW_NO_EXPLAIN = 1345
|
|
ER_FRM_UNKNOWN_TYPE = 1346
|
|
ER_WRONG_OBJECT = 1347
|
|
ER_NONUPDATEABLE_COLUMN = 1348
|
|
ER_VIEW_SELECT_DERIVED = 1349
|
|
ER_VIEW_SELECT_CLAUSE = 1350
|
|
ER_VIEW_SELECT_VARIABLE = 1351
|
|
ER_VIEW_SELECT_TMPTABLE = 1352
|
|
ER_VIEW_WRONG_LIST = 1353
|
|
ER_WARN_VIEW_MERGE = 1354
|
|
ER_WARN_VIEW_WITHOUT_KEY = 1355
|
|
ER_VIEW_INVALID = 1356
|
|
ER_SP_NO_DROP_SP = 1357
|
|
ER_SP_GOTO_IN_HNDLR = 1358
|
|
ER_TRG_ALREADY_EXISTS = 1359
|
|
ER_TRG_DOES_NOT_EXIST = 1360
|
|
ER_TRG_ON_VIEW_OR_TEMP_TABLE = 1361
|
|
ER_TRG_CANT_CHANGE_ROW = 1362
|
|
ER_TRG_NO_SUCH_ROW_IN_TRG = 1363
|
|
ER_NO_DEFAULT_FOR_FIELD = 1364
|
|
ER_DIVISION_BY_ZERO = 1365
|
|
ER_TRUNCATED_WRONG_VALUE_FOR_FIELD = 1366
|
|
ER_ILLEGAL_VALUE_FOR_TYPE = 1367
|
|
ER_VIEW_NONUPD_CHECK = 1368
|
|
ER_VIEW_CHECK_FAILED = 1369
|
|
ER_PROCACCESS_DENIED_ERROR = 1370
|
|
ER_RELAY_LOG_FAIL = 1371
|
|
ER_PASSWD_LENGTH = 1372
|
|
ER_UNKNOWN_TARGET_BINLOG = 1373
|
|
ER_IO_ERR_LOG_INDEX_READ = 1374
|
|
ER_BINLOG_PURGE_PROHIBITED = 1375
|
|
ER_FSEEK_FAIL = 1376
|
|
ER_BINLOG_PURGE_FATAL_ERR = 1377
|
|
ER_LOG_IN_USE = 1378
|
|
ER_LOG_PURGE_UNKNOWN_ERR = 1379
|
|
ER_RELAY_LOG_INIT = 1380
|
|
ER_NO_BINARY_LOGGING = 1381
|
|
ER_RESERVED_SYNTAX = 1382
|
|
ER_WSAS_FAILED = 1383
|
|
ER_DIFF_GROUPS_PROC = 1384
|
|
ER_NO_GROUP_FOR_PROC = 1385
|
|
ER_ORDER_WITH_PROC = 1386
|
|
ER_LOGGING_PROHIBIT_CHANGING_OF = 1387
|
|
ER_NO_FILE_MAPPING = 1388
|
|
ER_WRONG_MAGIC = 1389
|
|
ER_PS_MANY_PARAM = 1390
|
|
ER_KEY_PART_0 = 1391
|
|
ER_VIEW_CHECKSUM = 1392
|
|
ER_VIEW_MULTIUPDATE = 1393
|
|
ER_VIEW_NO_INSERT_FIELD_LIST = 1394
|
|
ER_VIEW_DELETE_MERGE_VIEW = 1395
|
|
ER_CANNOT_USER = 1396
|
|
ER_XAER_NOTA = 1397
|
|
ER_XAER_INVAL = 1398
|
|
ER_XAER_RMFAIL = 1399
|
|
ER_XAER_OUTSIDE = 1400
|
|
ER_XAER_RMERR = 1401
|
|
ER_XA_RBROLLBACK = 1402
|
|
ER_NONEXISTING_PROC_GRANT = 1403
|
|
ER_PROC_AUTO_GRANT_FAIL = 1404
|
|
ER_PROC_AUTO_REVOKE_FAIL = 1405
|
|
ER_DATA_TOO_LONG = 1406
|
|
ER_SP_BAD_SQLSTATE = 1407
|
|
ER_STARTUP = 1408
|
|
ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR = 1409
|
|
ER_CANT_CREATE_USER_WITH_GRANT = 1410
|
|
ER_WRONG_VALUE_FOR_TYPE = 1411
|
|
ER_TABLE_DEF_CHANGED = 1412
|
|
ER_SP_DUP_HANDLER = 1413
|
|
ER_SP_NOT_VAR_ARG = 1414
|
|
ER_SP_NO_RETSET = 1415
|
|
ER_CANT_CREATE_GEOMETRY_OBJECT = 1416
|
|
ER_FAILED_ROUTINE_BREAK_BINLOG = 1417
|
|
ER_BINLOG_UNSAFE_ROUTINE = 1418
|
|
ER_BINLOG_CREATE_ROUTINE_NEED_SUPER = 1419
|
|
ER_EXEC_STMT_WITH_OPEN_CURSOR = 1420
|
|
ER_STMT_HAS_NO_OPEN_CURSOR = 1421
|
|
ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG = 1422
|
|
ER_NO_DEFAULT_FOR_VIEW_FIELD = 1423
|
|
ER_SP_NO_RECURSION = 1424
|
|
ER_TOO_BIG_SCALE = 1425
|
|
ER_TOO_BIG_PRECISION = 1426
|
|
ER_M_BIGGER_THAN_D = 1427
|
|
ER_WRONG_LOCK_OF_SYSTEM_TABLE = 1428
|
|
ER_CONNECT_TO_FOREIGN_DATA_SOURCE = 1429
|
|
ER_QUERY_ON_FOREIGN_DATA_SOURCE = 1430
|
|
ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST = 1431
|
|
ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE = 1432
|
|
ER_FOREIGN_DATA_STRING_INVALID = 1433
|
|
ER_CANT_CREATE_FEDERATED_TABLE = 1434
|
|
ER_TRG_IN_WRONG_SCHEMA = 1435
|
|
ER_STACK_OVERRUN_NEED_MORE = 1436
|
|
ER_TOO_LONG_BODY = 1437
|
|
ER_WARN_CANT_DROP_DEFAULT_KEYCACHE = 1438
|
|
ER_TOO_BIG_DISPLAYWIDTH = 1439
|
|
ER_XAER_DUPID = 1440
|
|
ER_DATETIME_FUNCTION_OVERFLOW = 1441
|
|
ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG = 1442
|
|
ER_VIEW_PREVENT_UPDATE = 1443
|
|
ER_PS_NO_RECURSION = 1444
|
|
ER_SP_CANT_SET_AUTOCOMMIT = 1445
|
|
ER_MALFORMED_DEFINER = 1446
|
|
ER_VIEW_FRM_NO_USER = 1447
|
|
ER_VIEW_OTHER_USER = 1448
|
|
ER_NO_SUCH_USER = 1449
|
|
ER_FORBID_SCHEMA_CHANGE = 1450
|
|
ER_ROW_IS_REFERENCED_2 = 1451
|
|
ER_NO_REFERENCED_ROW_2 = 1452
|
|
ER_SP_BAD_VAR_SHADOW = 1453
|
|
ER_TRG_NO_DEFINER = 1454
|
|
ER_OLD_FILE_FORMAT = 1455
|
|
ER_SP_RECURSION_LIMIT = 1456
|
|
ER_SP_PROC_TABLE_CORRUPT = 1457
|
|
ER_SP_WRONG_NAME = 1458
|
|
ER_TABLE_NEEDS_UPGRADE = 1459
|
|
ER_SP_NO_AGGREGATE = 1460
|
|
ER_MAX_PREPARED_STMT_COUNT_REACHED = 1461
|
|
ER_VIEW_RECURSIVE = 1462
|
|
ER_NON_GROUPING_FIELD_USED = 1463
|
|
ER_TABLE_CANT_HANDLE_SPKEYS = 1464
|
|
ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA = 1465
|
|
ER_REMOVED_SPACES = 1466
|
|
ER_AUTOINC_READ_FAILED = 1467
|
|
ER_USERNAME = 1468
|
|
ER_HOSTNAME = 1469
|
|
ER_WRONG_STRING_LENGTH = 1470
|
|
ER_NON_INSERTABLE_TABLE = 1471
|
|
end
|
|
|
|
ServerError.constants.each do |errname|
|
|
errname = errname.to_s
|
|
next unless errname =~ /\AER_/
|
|
errno = ServerError.const_get errname
|
|
excname = errname.sub(/\AER_/,"").gsub(/(\A.|_.)([A-Z]+)/){$1+$2.downcase}.gsub(/_/,"")
|
|
eval <<EOS
|
|
class RbMysql::#{excname} < RbMysql::ServerError
|
|
ERRNO = #{errno}
|
|
end
|
|
EOS
|
|
ServerError::ERROR_MAP[errno] = eval "RbMysql::#{excname}"
|
|
end
|
|
|
|
# client side error
|
|
class ClientError < Error
|
|
end
|
|
|
|
# protocol error
|
|
class ProtocolError < ClientError
|
|
end
|
|
|
|
end
|
|
|