20
20
#ifndef DRIZZLED_ERROR_H
21
21
#define DRIZZLED_ERROR_H
24
#include <boost/unordered_map.hpp>
26
#include "drizzled/definitions.h"
23
#include "drizzled/my_error.h"
31
/* Max width of screen (for error messages) */
32
#define SC_MAXWIDTH 256
33
#define ERRMSGSIZE (SC_MAXWIDTH) /* Max length of a error message */
34
#define NRERRBUFFS (2) /* Buffers for parameters */
35
#define MY_FILE_ERROR ((size_t) -1)
36
#define ME_FATALERROR 1024 /* Fatal statement error */
39
* Provides a mapping from the error enum values to std::strings.
44
typedef std::pair<std::string, std::string> value_type;
45
typedef boost::unordered_map<uint32_t, value_type> ErrorMessageMap;
49
// Insert the message for the error. If the error already has an existing
50
// mapping, an error is logged, but the function continues.
51
void add(uint32_t error_num, const std::string &error_name, const std::string &message);
53
// If there is no error mapping for the error_num, ErrorStringNotFound is raised.
54
const std::string &find(uint32_t error_num) const;
56
static const ErrorMessageMap& get_error_message_map();
58
// Disable copy and assignment.
59
ErrorMap(const ErrorMap &e);
60
ErrorMap& operator=(const ErrorMap &e);
62
ErrorMessageMap mapping_;
28
bool init_errmessage(void);
29
const char * error_message(unsigned int err_index);
31
enum drizzled_error_code {
33
ER_UNUSED1000= ER_ERROR_FIRST,
45
ER_CANT_FIND_SYSTEM_REC,
77
ER_DBACCESS_DENIED_ERROR,
78
ER_ACCESS_DENIED_ERROR,
83
ER_TABLE_EXISTS_ERROR,
88
ER_WRONG_FIELD_WITH_GROUP,
103
ER_TOO_MANY_KEY_PARTS,
105
ER_KEY_COLUMN_DOES_NOT_EXITS,
107
ER_TOO_BIG_FIELDLENGTH,
112
ER_SHUTDOWN_COMPLETE,
116
ER_WRONG_FIELD_TERMINATORS,
117
ER_BLOBS_AND_NO_TERMINATED,
118
ER_TEXTFILE_NOT_READABLE,
119
ER_FILE_EXISTS_ERROR,
123
ER_CANT_REMOVE_ALL_FIELDS,
124
ER_CANT_DROP_FIELD_OR_KEY,
126
ER_UPDATE_TABLE_USED,
128
ER_KILL_DENIED_ERROR,
131
ER_NO_UNIQUE_LOGFILE,
132
ER_TABLE_NOT_LOCKED_FOR_WRITE,
134
ER_BLOB_CANT_HAVE_DEFAULT,
139
ER_UNKNOWN_PROCEDURE,
140
ER_WRONG_PARAMCOUNT_TO_PROCEDURE,
141
ER_WRONG_PARAMETERS_TO_PROCEDURE,
143
ER_FIELD_SPECIFIED_TWICE,
144
ER_INVALID_GROUP_FUNC_USE,
145
ER_UNSUPPORTED_EXTENSION,
146
ER_TABLE_MUST_HAVE_COLUMNS,
148
ER_UNKNOWN_CHARACTER_SET,
154
ER_NULL_COLUMN_IN_INDEX,
156
ER_CANT_INITIALIZE_UDF,
159
ER_CANT_OPEN_LIBRARY,
160
ER_CANT_FIND_DL_ENTRY,
161
ER_FUNCTION_NOT_DEFINED,
163
ER_HOST_NOT_PRIVILEGED,
164
ER_PASSWORD_ANONYMOUS_USER,
165
ER_PASSWORD_NOT_ALLOWED,
166
ER_PASSWORD_NO_MATCH,
168
ER_CANT_CREATE_THREAD,
169
ER_WRONG_VALUE_COUNT_ON_ROW,
170
ER_CANT_REOPEN_TABLE,
171
ER_INVALID_USE_OF_NULL,
173
ER_MIX_OF_GROUP_FUNC_AND_FIELDS,
174
ER_NONEXISTING_GRANT,
175
ER_TABLEACCESS_DENIED_ERROR,
176
ER_COLUMNACCESS_DENIED_ERROR,
177
ER_ILLEGAL_GRANT_FOR_TABLE,
178
ER_GRANT_WRONG_HOST_OR_USER,
180
ER_NONEXISTING_TABLE_GRANT,
181
ER_NOT_ALLOWED_COMMAND,
183
ER_DELAYED_CANT_CHANGE_LOCK,
184
ER_TOO_MANY_DELAYED_THREADS,
185
ER_ABORTING_CONNECTION,
186
ER_NET_PACKET_TOO_LARGE,
187
ER_NET_READ_ERROR_FROM_PIPE,
189
ER_NET_PACKETS_OUT_OF_ORDER,
190
ER_NET_UNCOMPRESS_ERROR,
192
ER_NET_READ_INTERRUPTED,
193
ER_NET_ERROR_ON_WRITE,
194
ER_NET_WRITE_INTERRUPTED,
196
ER_TABLE_CANT_HANDLE_BLOB,
197
ER_TABLE_CANT_HANDLE_AUTO_INCREMENT,
198
ER_DELAYED_INSERT_TABLE_LOCKED,
199
ER_WRONG_COLUMN_NAME,
203
ER_BLOB_KEY_WITHOUT_LENGTH,
204
ER_PRIMARY_CANT_HAVE_NULL,
206
ER_REQUIRES_PRIMARY_KEY,
208
ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE,
209
ER_KEY_DOES_NOT_EXITS,
210
ER_CHECK_NO_SUCH_TABLE,
211
ER_CHECK_NOT_IMPLEMENTED,
212
ER_CANT_DO_THIS_DURING_AN_TRANSACTION,
213
ER_ERROR_DURING_COMMIT,
214
ER_ERROR_DURING_ROLLBACK,
215
ER_ERROR_DURING_FLUSH_LOGS,
216
ER_ERROR_DURING_CHECKPOINT,
217
ER_NEW_ABORTING_CONNECTION,
218
ER_DUMP_NOT_IMPLEMENTED,
219
ER_FLUSH_MASTER_BINLOG_CLOSED,
224
ER_FT_MATCHING_KEY_NOT_FOUND,
225
ER_LOCK_OR_ACTIVE_TRANSACTION,
226
ER_UNKNOWN_SYSTEM_VARIABLE,
228
ER_CRASHED_ON_REPAIR,
229
ER_WARNING_NOT_COMPLETE_ROLLBACK,
232
ER_SLAVE_NOT_RUNNING,
236
ER_TOO_MANY_USER_CONNECTIONS,
237
ER_SET_CONSTANTS_ONLY,
238
ER_LOCK_WAIT_TIMEOUT,
240
ER_READ_ONLY_TRANSACTION,
241
ER_DROP_DB_WITH_READ_LOCK,
242
ER_CREATE_DB_WITH_READ_LOCK,
244
ER_NO_PERMISSION_TO_CREATE_USER,
245
ER_UNION_TABLES_IN_DIFFERENT_DIR,
247
ER_TABLE_CANT_HANDLE_FT,
248
ER_CANNOT_ADD_FOREIGN,
249
ER_NO_REFERENCED_ROW,
250
ER_ROW_IS_REFERENCED,
251
ER_CONNECT_TO_MASTER,
253
ER_ERROR_WHEN_EXECUTING_COMMAND,
255
ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT,
256
ER_CANT_UPDATE_WITH_READLOCK,
257
ER_MIXING_NOT_ALLOWED,
259
ER_USER_LIMIT_REACHED,
260
ER_SPECIFIC_ACCESS_DENIED_ERROR,
264
ER_WRONG_VALUE_FOR_VAR,
265
ER_WRONG_TYPE_FOR_VAR,
267
ER_CANT_USE_OPTION_HERE,
268
ER_NOT_SUPPORTED_YET,
269
ER_MASTER_FATAL_ERROR_READING_BINLOG,
270
ER_SLAVE_IGNORED_TABLE,
271
ER_INCORRECT_GLOBAL_LOCAL_VAR,
273
ER_KEY_REF_DO_NOT_MATCH_TABLE_REF,
275
ER_SUBQUERY_NO_1_ROW,
276
ER_UNKNOWN_STMT_HANDLER,
280
ER_ILLEGAL_REFERENCE,
281
ER_DERIVED_MUST_HAVE_ALIAS,
283
ER_TABLENAME_NOT_ALLOWED_HERE,
284
ER_NOT_SUPPORTED_AUTH_MODE,
285
ER_SPATIAL_CANT_HAVE_NULL,
286
ER_COLLATION_CHARSET_MISMATCH,
287
ER_SLAVE_WAS_RUNNING,
288
ER_SLAVE_WAS_NOT_RUNNING,
289
ER_TOO_BIG_FOR_UNCOMPRESS,
292
ER_ZLIB_Z_DATA_ERROR,
293
ER_CUT_VALUE_GROUP_CONCAT,
294
ER_WARN_TOO_FEW_RECORDS,
295
ER_WARN_TOO_MANY_RECORDS,
296
ER_WARN_NULL_TO_NOTNULL,
297
ER_WARN_DATA_OUT_OF_RANGE,
298
ER_WARN_DATA_TRUNCATED,
299
ER_WARN_USING_OTHER_HANDLER,
300
ER_CANT_AGGREGATE_2COLLATIONS,
303
ER_CANT_AGGREGATE_3COLLATIONS,
304
ER_CANT_AGGREGATE_NCOLLATIONS,
305
ER_VARIABLE_IS_NOT_STRUCT,
306
ER_UNKNOWN_COLLATION,
307
ER_SLAVE_IGNORED_SSL_PARAMS,
308
ER_SERVER_IS_IN_SECURE_AUTH_MODE,
309
ER_WARN_FIELD_RESOLVED,
310
ER_BAD_SLAVE_UNTIL_COND,
311
ER_MISSING_SKIP_SLAVE,
312
ER_UNTIL_COND_IGNORED,
313
ER_WRONG_NAME_FOR_INDEX,
314
ER_WRONG_NAME_FOR_CATALOG,
317
ER_UNKNOWN_KEY_CACHE,
318
ER_WARN_HOSTNAME_WONT_WORK,
319
ER_UNKNOWN_STORAGE_ENGINE,
320
ER_WARN_DEPRECATED_SYNTAX,
321
ER_NON_UPDATABLE_TABLE,
323
ER_OPTION_PREVENTS_STATEMENT,
324
ER_DUPLICATED_VALUE_IN_TYPE,
325
ER_TRUNCATED_WRONG_VALUE,
326
ER_TOO_MUCH_AUTO_TIMESTAMP_COLS,
327
ER_INVALID_ON_UPDATE,
330
ER_GET_TEMPORARY_ERRMSG,
331
ER_UNKNOWN_TIME_ZONE,
332
ER_WARN_INVALID_TIMESTAMP,
333
ER_INVALID_CHARACTER_STRING,
334
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
335
ER_CONFLICTING_DECLARATIONS,
336
ER_SP_NO_RECURSIVE_CREATE,
337
ER_SP_ALREADY_EXISTS,
338
ER_SP_DOES_NOT_EXIST,
341
ER_SP_LILABEL_MISMATCH,
342
ER_SP_LABEL_REDEFINE,
343
ER_SP_LABEL_MISMATCH,
348
ER_UPDATE_LOG_DEPRECATED_IGNORED,
349
ER_UPDATE_LOG_DEPRECATED_TRANSLATED,
350
ER_QUERY_INTERRUPTED,
351
ER_SP_WRONG_NO_OF_ARGS,
355
ER_SP_BAD_CURSOR_QUERY,
356
ER_SP_BAD_CURSOR_SELECT,
357
ER_SP_CURSOR_MISMATCH,
358
ER_SP_CURSOR_ALREADY_OPEN,
359
ER_SP_CURSOR_NOT_OPEN,
360
ER_SP_UNDECLARED_VAR,
361
ER_SP_WRONG_NO_OF_FETCH_ARGS,
369
ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG,
370
ER_SP_VARCOND_AFTER_CURSHNDLR,
371
ER_SP_CURSOR_AFTER_HANDLER,
372
ER_SP_CASE_NOT_FOUND,
373
ER_FPARSER_TOO_BIG_FILE,
374
ER_FPARSER_BAD_HEADER,
375
ER_FPARSER_EOF_IN_COMMENT,
376
ER_FPARSER_ERROR_IN_PARAMETER,
377
ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER,
381
ER_NONUPDATEABLE_COLUMN,
382
ER_VIEW_SELECT_DERIVED,
383
ER_VIEW_SELECT_CLAUSE,
384
ER_VIEW_SELECT_VARIABLE,
385
ER_VIEW_SELECT_TMPTABLE,
388
ER_WARN_VIEW_WITHOUT_KEY,
392
ER_TRG_ALREADY_EXISTS,
393
ER_TRG_DOES_NOT_EXIST,
394
ER_TRG_ON_VIEW_OR_TEMP_TABLE,
395
ER_TRG_CANT_CHANGE_ROW,
396
ER_TRG_NO_SUCH_ROW_IN_TRG,
397
ER_NO_DEFAULT_FOR_FIELD,
399
ER_TRUNCATED_WRONG_VALUE_FOR_FIELD,
400
ER_ILLEGAL_VALUE_FOR_TYPE,
401
ER_VIEW_NONUPD_CHECK,
402
ER_VIEW_CHECK_FAILED,
403
ER_PROCACCESS_DENIED_ERROR,
406
ER_UNKNOWN_TARGET_BINLOG,
407
ER_IO_ERR_LOG_INDEX_READ,
408
ER_BINLOG_PURGE_PROHIBITED,
410
ER_BINLOG_PURGE_FATAL_ERR,
412
ER_LOG_PURGE_UNKNOWN_ERR,
414
ER_NO_BINARY_LOGGING,
418
ER_NO_GROUP_FOR_PROC,
420
ER_LOGGING_PROHIBIT_CHANGING_OF,
427
ER_VIEW_NO_INSERT_FIELD_LIST,
428
ER_VIEW_DELETE_MERGE_VIEW,
436
ER_NONEXISTING_PROC_GRANT,
437
ER_PROC_AUTO_GRANT_FAIL,
438
ER_PROC_AUTO_REVOKE_FAIL,
442
ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR,
443
ER_CANT_CREATE_USER_WITH_GRANT,
444
ER_WRONG_VALUE_FOR_TYPE,
445
ER_TABLE_DEF_CHANGED,
449
ER_CANT_CREATE_GEOMETRY_OBJECT,
450
ER_FAILED_ROUTINE_BREAK_BINLOG,
451
ER_BINLOG_UNSAFE_ROUTINE,
452
ER_BINLOG_CREATE_ROUTINE_NEED_SUPER,
453
ER_EXEC_STMT_WITH_OPEN_CURSOR,
454
ER_STMT_HAS_NO_OPEN_CURSOR,
455
ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG,
456
ER_NO_DEFAULT_FOR_VIEW_FIELD,
459
ER_TOO_BIG_PRECISION,
461
ER_WRONG_LOCK_OF_SYSTEM_TABLE,
462
ER_CONNECT_TO_FOREIGN_DATA_SOURCE,
463
ER_QUERY_ON_FOREIGN_DATA_SOURCE,
464
ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST,
465
ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE,
466
ER_FOREIGN_DATA_STRING_INVALID,
467
ER_CANT_CREATE_FEDERATED_TABLE,
468
ER_TRG_IN_WRONG_SCHEMA,
469
ER_STACK_OVERRUN_NEED_MORE=1436, // TODO: Test case looks for this int
471
ER_WARN_CANT_DROP_DEFAULT_KEYCACHE,
472
ER_TOO_BIG_DISPLAYWIDTH,
474
ER_DATETIME_FUNCTION_OVERFLOW,
475
ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG,
476
ER_VIEW_PREVENT_UPDATE,
478
ER_SP_CANT_SET_AUTOCOMMIT,
479
ER_MALFORMED_DEFINER,
483
ER_FORBID_SCHEMA_CHANGE,
484
ER_ROW_IS_REFERENCED_2,
485
ER_NO_REFERENCED_ROW_2,
486
ER_SP_BAD_VAR_SHADOW,
489
ER_SP_RECURSION_LIMIT,
490
ER_SP_PROC_TABLE_CORRUPT,
492
ER_TABLE_NEEDS_UPGRADE,
494
ER_MAX_PREPARED_STMT_COUNT_REACHED,
496
ER_NON_GROUPING_FIELD_USED,
497
ER_TABLE_CANT_HANDLE_SPKEYS,
498
ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA,
500
ER_AUTOINC_READ_FAILED,
503
ER_WRONG_STRING_LENGTH,
504
ER_NON_INSERTABLE_TABLE,
505
ER_ADMIN_WRONG_MRG_TABLE,
506
ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT,
507
ER_NAME_BECOMES_EMPTY,
508
ER_AMBIGUOUS_FIELD_TERM,
509
ER_FOREIGN_SERVER_EXISTS,
510
ER_FOREIGN_SERVER_DOESNT_EXIST,
511
ER_ILLEGAL_HA_CREATE_OPTION,
512
ER_PARTITION_REQUIRES_VALUES_ERROR,
513
ER_PARTITION_WRONG_VALUES_ERROR,
514
ER_PARTITION_MAXVALUE_ERROR,
515
ER_PARTITION_SUBPARTITION_ERROR,
516
ER_PARTITION_SUBPART_MIX_ERROR,
517
ER_PARTITION_WRONG_NO_PART_ERROR,
518
ER_PARTITION_WRONG_NO_SUBPART_ERROR,
519
ER_CONST_EXPR_IN_PARTITION_FUNC_ERROR,
520
ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR,
521
ER_FIELD_NOT_FOUND_PART_ERROR,
522
ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR,
523
ER_INCONSISTENT_PARTITION_INFO_ERROR,
524
ER_PARTITION_FUNC_NOT_ALLOWED_ERROR,
525
ER_PARTITIONS_MUST_BE_DEFINED_ERROR,
526
ER_RANGE_NOT_INCREASING_ERROR,
527
ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR,
528
ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR,
529
ER_PARTITION_ENTRY_ERROR,
530
ER_MIX_HANDLER_ERROR,
531
ER_PARTITION_NOT_DEFINED_ERROR,
532
ER_TOO_MANY_PARTITIONS_ERROR,
533
ER_SUBPARTITION_ERROR,
534
ER_CANT_CREATE_HANDLER_FILE,
535
ER_BLOB_FIELD_IN_PART_FUNC_ERROR,
536
ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF,
538
ER_PARTITION_MGMT_ON_NONPARTITIONED,
539
ER_FOREIGN_KEY_ON_PARTITIONED,
540
ER_DROP_PARTITION_NON_EXISTENT,
541
ER_DROP_LAST_PARTITION,
542
ER_COALESCE_ONLY_ON_HASH_PARTITION,
543
ER_REORG_HASH_ONLY_ON_SAME_NO,
544
ER_REORG_NO_PARAM_ERROR,
545
ER_ONLY_ON_RANGE_LIST_PARTITION,
546
ER_ADD_PARTITION_SUBPART_ERROR,
547
ER_ADD_PARTITION_NO_NEW_PARTITION,
548
ER_COALESCE_PARTITION_NO_PARTITION,
549
ER_REORG_PARTITION_NOT_EXIST,
550
ER_SAME_NAME_PARTITION,
552
ER_CONSECUTIVE_REORG_PARTITIONS,
553
ER_REORG_OUTSIDE_RANGE,
554
ER_PARTITION_FUNCTION_FAILURE,
556
ER_LIMITED_PART_RANGE,
557
ER_PLUGIN_IS_NOT_LOADED,
559
ER_NO_PARTITION_FOR_GIVEN_VALUE,
560
ER_FILEGROUP_OPTION_ONLY_ONCE,
561
ER_CREATE_FILEGROUP_FAILED,
562
ER_DROP_FILEGROUP_FAILED,
563
ER_TABLESPACE_AUTO_EXTEND_ERROR,
564
ER_WRONG_SIZE_NUMBER,
565
ER_SIZE_OVERFLOW_ERROR,
566
ER_ALTER_FILEGROUP_FAILED,
567
ER_BINLOG_ROW_LOGGING_FAILED,
568
ER_BINLOG_ROW_WRONG_TABLE_DEF,
569
ER_BINLOG_ROW_RBR_TO_SBR,
570
ER_EVENT_ALREADY_EXISTS,
571
ER_EVENT_STORE_FAILED,
572
ER_EVENT_DOES_NOT_EXIST,
574
ER_EVENT_DROP_FAILED,
575
ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG,
576
ER_EVENT_ENDS_BEFORE_STARTS,
577
ER_EVENT_EXEC_TIME_IN_THE_PAST,
578
ER_EVENT_OPEN_TABLE_FAILED,
579
ER_EVENT_NEITHER_M_EXPR_NOR_M_AT,
580
ER_COL_COUNT_DOESNT_MATCH_CORRUPTED,
581
ER_CANNOT_LOAD_FROM_TABLE,
582
ER_EVENT_CANNOT_DELETE,
583
ER_EVENT_COMPILE_ERROR,
585
ER_EVENT_DATA_TOO_LONG,
587
ER_WARN_DEPRECATED_SYNTAX_WITH_VER,
588
ER_CANT_WRITE_LOCK_LOG_TABLE,
589
ER_CANT_LOCK_LOG_TABLE,
590
ER_FOREIGN_DUPLICATE_KEY,
591
ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE,
592
ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR,
593
ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT,
594
ER_NDB_CANT_SWITCH_BINLOG_FORMAT,
595
ER_PARTITION_NO_TEMPORARY,
596
ER_PARTITION_CONST_DOMAIN_ERROR,
597
ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,
599
ER_NULL_IN_VALUES_LESS_THAN,
600
ER_WRONG_PARTITION_NAME,
601
ER_CANT_CHANGE_TX_ISOLATION,
602
ER_DUP_ENTRY_AUTOINCREMENT_CASE,
603
ER_EVENT_MODIFY_QUEUE_ERROR,
604
ER_EVENT_SET_VAR_ERROR,
605
ER_PARTITION_MERGE_ERROR,
606
ER_CANT_ACTIVATE_LOG,
607
ER_RBR_NOT_AVAILABLE,
608
ER_BASE64_DECODE_ERROR,
609
ER_EVENT_RECURSION_FORBIDDEN,
611
ER_ONLY_INTEGERS_ALLOWED,
612
ER_UNSUPORTED_LOG_ENGINE,
613
ER_BAD_LOG_STATEMENT,
614
ER_CANT_RENAME_LOG_TABLE,
615
ER_WRONG_PARAMCOUNT_TO_FUNCTION,
616
ER_WRONG_PARAMETERS_TO_NATIVE_FCT,
617
ER_WRONG_PARAMETERS_TO_STORED_FCT,
618
ER_NATIVE_FCT_NAME_COLLISION,
619
ER_DUP_ENTRY_WITH_KEY_NAME,
620
ER_BINLOG_PURGE_EMFILE,
621
ER_EVENT_CANNOT_CREATE_IN_THE_PAST,
622
ER_EVENT_CANNOT_ALTER_IN_THE_PAST,
624
ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT,
625
ER_BINLOG_UNSAFE_STATEMENT,
626
ER_SLAVE_FATAL_ERROR,
627
ER_SLAVE_RELAY_LOG_READ_FAILURE,
628
ER_SLAVE_RELAY_LOG_WRITE_FAILURE,
629
ER_SLAVE_CREATE_EVENT_FAILURE,
630
ER_SLAVE_MASTER_COM_FAILURE,
631
ER_BINLOG_LOGGING_IMPOSSIBLE,
632
ER_VIEW_NO_CREATION_CTX,
633
ER_VIEW_INVALID_CREATION_CTX,
634
ER_SR_INVALID_CREATION_CTX,
635
ER_TRG_CORRUPTED_FILE,
636
ER_TRG_NO_CREATION_CTX,
637
ER_TRG_INVALID_CREATION_CTX,
638
ER_EVENT_INVALID_CREATION_CTX,
639
ER_TRG_CANT_OPEN_TABLE,
640
ER_CANT_CREATE_SROUTINE,
641
ER_SLAVE_AMBIGOUS_EXEC_MODE,
642
ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT,
643
ER_SLAVE_CORRUPT_EVENT,
644
ER_LOAD_DATA_INVALID_COLUMN,
645
ER_LOG_PURGE_NO_FILE,
646
ER_WARN_AUTO_CONVERT_LOCK,
647
ER_NO_AUTO_CONVERT_LOCK_STRICT,
648
ER_NO_AUTO_CONVERT_LOCK_TRANSACTION,
649
ER_NO_STORAGE_ENGINE,
650
ER_BACKUP_BACKUP_START,
651
ER_BACKUP_BACKUP_DONE,
652
ER_BACKUP_RESTORE_START,
653
ER_BACKUP_RESTORE_DONE,
654
ER_BACKUP_NOTHING_TO_BACKUP,
655
ER_BACKUP_CANNOT_INCLUDE_DB,
659
ER_BACKUP_BACKUP_PREPARE,
660
ER_BACKUP_RESTORE_PREPARE,
661
ER_BACKUP_INVALID_LOC,
665
ER_BACKUP_LIST_TABLES,
666
ER_BACKUP_LIST_DB_TABLES,
669
ER_BACKUP_TABLE_OPEN,
670
ER_BACKUP_READ_HEADER,
671
ER_BACKUP_WRITE_HEADER,
672
ER_BACKUP_NO_BACKUP_DRIVER,
673
ER_BACKUP_NOT_ACCEPTED,
674
ER_BACKUP_CREATE_BACKUP_DRIVER,
675
ER_BACKUP_CREATE_RESTORE_DRIVER,
676
ER_BACKUP_TOO_MANY_IMAGES,
677
ER_BACKUP_WRITE_META,
679
ER_BACKUP_CREATE_META,
681
ER_BACKUP_WRITE_DATA,
683
ER_BACKUP_NEXT_CHUNK,
684
ER_BACKUP_INIT_BACKUP_DRIVER,
685
ER_BACKUP_INIT_RESTORE_DRIVER,
686
ER_BACKUP_STOP_BACKUP_DRIVER,
687
ER_BACKUP_STOP_RESTORE_DRIVERS,
688
ER_BACKUP_PREPARE_DRIVER,
690
ER_BACKUP_UNLOCK_DRIVER,
691
ER_BACKUP_CANCEL_BACKUP,
692
ER_BACKUP_CANCEL_RESTORE,
695
ER_BACKUP_SEND_DATA_RETRY,
696
ER_BACKUP_OPEN_TABLES,
697
ER_BACKUP_THREAD_INIT,
698
ER_BACKUP_PROGRESS_TABLES,
700
ER_NO_SUCH_TABLESPACE,
701
ER_SLAVE_HEARTBEAT_FAILURE,
702
ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE,
703
ER_BACKUP_LOG_WRITE_ERROR,
704
ER_TABLESPACE_NOT_EMPTY,
706
ER_VCOL_BASED_ON_VCOL,
707
ER_VIRTUAL_COLUMN_FUNCTION_IS_NOT_ALLOWED,
708
ER_DATA_CONVERSION_ERROR_FOR_VIRTUAL_COLUMN,
709
ER_PRIMARY_KEY_BASED_ON_VIRTUAL_COLUMN,
710
ER_KEY_BASED_ON_GENERATED_VIRTUAL_COLUMN,
711
ER_WRONG_FK_OPTION_FOR_VIRTUAL_COLUMN,
712
ER_WARNING_NON_DEFAULT_VALUE_FOR_VIRTUAL_COLUMN,
713
ER_UNSUPPORTED_ACTION_ON_VIRTUAL_COLUMN,
714
ER_CONST_EXPR_IN_VCOL,
715
ER_UNKNOWN_TEMPORAL_TYPE,
716
ER_INVALID_STRING_FORMAT_FOR_DATE,
717
ER_INVALID_STRING_FORMAT_FOR_TIME,
718
ER_INVALID_UNIX_TIMESTAMP_VALUE,
719
ER_INVALID_DATETIME_VALUE,
720
ER_INVALID_NULL_ARGUMENT,
721
ER_INVALID_NEGATIVE_ARGUMENT,
722
ER_ARGUMENT_OUT_OF_RANGE,
723
ER_INVALID_TIME_VALUE,
724
ER_INVALID_ENUM_VALUE,
725
ER_NO_PRIMARY_KEY_ON_REPLICATED_TABLE,
726
ER_CORRUPT_TABLE_DEFINITION,
727
ER_ERROR_LAST= ER_CORRUPT_TABLE_DEFINITION
66
typedef void (*error_handler_func)(uint32_t my_err,
69
extern error_handler_func error_handler_hook;
71
// TODO: kill this method. Too much to do with this branch.
72
// This is called through the ER(x) macro.
73
const char * error_message(unsigned int err_index);
75
// Adds the message to the global error dictionary.
76
void add_error_message(uint32_t error_code, const std::string &error_name,
77
const std::string& message);
78
#define DRIZZLE_ADD_ERROR_MESSAGE(code, msg) add_error_message(code, STRINGIFY_ARG(code), msg)
80
void my_error(int nr, myf MyFlags, ...);
81
void my_message(uint32_t my_err, const char *str, myf MyFlags);
82
void my_printf_error(uint32_t my_err, const char *format,
84
__attribute__((format(printf, 2, 4)));
86
730
} /* namespace drizzled */
88
732
#endif /* DRIZZLED_ERROR_H */