17
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
#ifndef DRIZZLED_ERROR_H
22
#define DRIZZLED_ERROR_H
25
#include <boost/unordered_map.hpp>
27
#include "drizzled/error_t.h"
28
#include "drizzled/definitions.h"
29
#include "drizzled/identifier.h"
31
#include "drizzled/visibility.h"
36
/* Max width of screen (for error messages) */
37
#define SC_MAXWIDTH 256
38
#define ERRMSGSIZE (SC_MAXWIDTH) /* Max length of a error message */
39
#define NRERRBUFFS (2) /* Buffers for parameters */
40
#define MY_FILE_ERROR ((size_t) -1)
41
#define ME_FATALERROR 1024 /* Fatal statement error */
44
* Provides a mapping from the error enum values to std::strings.
49
typedef std::pair<std::string, std::string> value_type;
50
typedef boost::unordered_map<drizzled::error_t, value_type> ErrorMessageMap;
54
// Insert the message for the error. If the error already has an existing
55
// mapping, an error is logged, but the function continues.
56
void add(drizzled::error_t error_num, const std::string &error_name, const std::string &message);
58
// If there is no error mapping for the error_num, ErrorStringNotFound is raised.
59
const std::string &find(drizzled::error_t error_num) const;
61
static const ErrorMessageMap& get_error_message_map();
63
// Disable copy and assignment.
64
ErrorMap(const ErrorMap &e);
65
ErrorMap& operator=(const ErrorMap &e);
67
ErrorMessageMap mapping_;
20
#ifndef _drizzled_error_h
21
#define _drizzled_error_h
27
bool init_errmessage(void);
28
const char * error_message(unsigned int err_index);
30
enum drizzled_error_code {
32
ER_UNUSED1000= ER_ERROR_FIRST,
44
ER_CANT_FIND_SYSTEM_REC,
76
ER_DBACCESS_DENIED_ERROR,
77
ER_ACCESS_DENIED_ERROR,
82
ER_TABLE_EXISTS_ERROR,
87
ER_WRONG_FIELD_WITH_GROUP,
102
ER_TOO_MANY_KEY_PARTS,
104
ER_KEY_COLUMN_DOES_NOT_EXITS,
106
ER_TOO_BIG_FIELDLENGTH,
111
ER_SHUTDOWN_COMPLETE,
115
ER_WRONG_FIELD_TERMINATORS,
116
ER_BLOBS_AND_NO_TERMINATED,
117
ER_TEXTFILE_NOT_READABLE,
118
ER_FILE_EXISTS_ERROR,
122
ER_CANT_REMOVE_ALL_FIELDS,
123
ER_CANT_DROP_FIELD_OR_KEY,
125
ER_UPDATE_TABLE_USED,
127
ER_KILL_DENIED_ERROR,
130
ER_NO_UNIQUE_LOGFILE,
131
ER_TABLE_NOT_LOCKED_FOR_WRITE,
133
ER_BLOB_CANT_HAVE_DEFAULT,
138
ER_UNKNOWN_PROCEDURE,
139
ER_WRONG_PARAMCOUNT_TO_PROCEDURE,
140
ER_WRONG_PARAMETERS_TO_PROCEDURE,
142
ER_FIELD_SPECIFIED_TWICE,
143
ER_INVALID_GROUP_FUNC_USE,
144
ER_UNSUPPORTED_EXTENSION,
145
ER_TABLE_MUST_HAVE_COLUMNS,
147
ER_UNKNOWN_CHARACTER_SET,
153
ER_NULL_COLUMN_IN_INDEX,
155
ER_CANT_INITIALIZE_UDF,
158
ER_CANT_OPEN_LIBRARY,
159
ER_CANT_FIND_DL_ENTRY,
160
ER_FUNCTION_NOT_DEFINED,
162
ER_HOST_NOT_PRIVILEGED,
163
ER_PASSWORD_ANONYMOUS_USER,
164
ER_PASSWORD_NOT_ALLOWED,
165
ER_PASSWORD_NO_MATCH,
167
ER_CANT_CREATE_THREAD,
168
ER_WRONG_VALUE_COUNT_ON_ROW,
169
ER_CANT_REOPEN_TABLE,
170
ER_INVALID_USE_OF_NULL,
172
ER_MIX_OF_GROUP_FUNC_AND_FIELDS,
173
ER_NONEXISTING_GRANT,
174
ER_TABLEACCESS_DENIED_ERROR,
175
ER_COLUMNACCESS_DENIED_ERROR,
176
ER_ILLEGAL_GRANT_FOR_TABLE,
177
ER_GRANT_WRONG_HOST_OR_USER,
179
ER_NONEXISTING_TABLE_GRANT,
180
ER_NOT_ALLOWED_COMMAND,
182
ER_DELAYED_CANT_CHANGE_LOCK,
183
ER_TOO_MANY_DELAYED_THREADS,
184
ER_ABORTING_CONNECTION,
185
ER_NET_PACKET_TOO_LARGE,
186
ER_NET_READ_ERROR_FROM_PIPE,
188
ER_NET_PACKETS_OUT_OF_ORDER,
189
ER_NET_UNCOMPRESS_ERROR,
191
ER_NET_READ_INTERRUPTED,
192
ER_NET_ERROR_ON_WRITE,
193
ER_NET_WRITE_INTERRUPTED,
195
ER_TABLE_CANT_HANDLE_BLOB,
196
ER_TABLE_CANT_HANDLE_AUTO_INCREMENT,
197
ER_DELAYED_INSERT_TABLE_LOCKED,
198
ER_WRONG_COLUMN_NAME,
202
ER_BLOB_KEY_WITHOUT_LENGTH,
203
ER_PRIMARY_CANT_HAVE_NULL,
205
ER_REQUIRES_PRIMARY_KEY,
207
ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE,
208
ER_KEY_DOES_NOT_EXITS,
209
ER_CHECK_NO_SUCH_TABLE,
210
ER_CHECK_NOT_IMPLEMENTED,
211
ER_CANT_DO_THIS_DURING_AN_TRANSACTION,
212
ER_ERROR_DURING_COMMIT,
213
ER_ERROR_DURING_ROLLBACK,
214
ER_ERROR_DURING_FLUSH_LOGS,
215
ER_ERROR_DURING_CHECKPOINT,
216
ER_NEW_ABORTING_CONNECTION,
217
ER_DUMP_NOT_IMPLEMENTED,
218
ER_FLUSH_MASTER_BINLOG_CLOSED,
223
ER_FT_MATCHING_KEY_NOT_FOUND,
224
ER_LOCK_OR_ACTIVE_TRANSACTION,
225
ER_UNKNOWN_SYSTEM_VARIABLE,
227
ER_CRASHED_ON_REPAIR,
228
ER_WARNING_NOT_COMPLETE_ROLLBACK,
231
ER_SLAVE_NOT_RUNNING,
235
ER_TOO_MANY_USER_CONNECTIONS,
236
ER_SET_CONSTANTS_ONLY,
237
ER_LOCK_WAIT_TIMEOUT,
239
ER_READ_ONLY_TRANSACTION,
240
ER_DROP_DB_WITH_READ_LOCK,
241
ER_CREATE_DB_WITH_READ_LOCK,
243
ER_NO_PERMISSION_TO_CREATE_USER,
244
ER_UNION_TABLES_IN_DIFFERENT_DIR,
246
ER_TABLE_CANT_HANDLE_FT,
247
ER_CANNOT_ADD_FOREIGN,
248
ER_NO_REFERENCED_ROW,
249
ER_ROW_IS_REFERENCED,
250
ER_CONNECT_TO_MASTER,
252
ER_ERROR_WHEN_EXECUTING_COMMAND,
254
ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT,
255
ER_CANT_UPDATE_WITH_READLOCK,
256
ER_MIXING_NOT_ALLOWED,
258
ER_USER_LIMIT_REACHED,
259
ER_SPECIFIC_ACCESS_DENIED_ERROR,
263
ER_WRONG_VALUE_FOR_VAR,
264
ER_WRONG_TYPE_FOR_VAR,
266
ER_CANT_USE_OPTION_HERE,
267
ER_NOT_SUPPORTED_YET,
268
ER_MASTER_FATAL_ERROR_READING_BINLOG,
269
ER_SLAVE_IGNORED_TABLE,
270
ER_INCORRECT_GLOBAL_LOCAL_VAR,
272
ER_KEY_REF_DO_NOT_MATCH_TABLE_REF,
274
ER_SUBQUERY_NO_1_ROW,
275
ER_UNKNOWN_STMT_HANDLER,
279
ER_ILLEGAL_REFERENCE,
280
ER_DERIVED_MUST_HAVE_ALIAS,
282
ER_TABLENAME_NOT_ALLOWED_HERE,
283
ER_NOT_SUPPORTED_AUTH_MODE,
284
ER_SPATIAL_CANT_HAVE_NULL,
285
ER_COLLATION_CHARSET_MISMATCH,
286
ER_SLAVE_WAS_RUNNING,
287
ER_SLAVE_WAS_NOT_RUNNING,
288
ER_TOO_BIG_FOR_UNCOMPRESS,
291
ER_ZLIB_Z_DATA_ERROR,
292
ER_CUT_VALUE_GROUP_CONCAT,
293
ER_WARN_TOO_FEW_RECORDS,
294
ER_WARN_TOO_MANY_RECORDS,
295
ER_WARN_NULL_TO_NOTNULL,
296
ER_WARN_DATA_OUT_OF_RANGE,
297
ER_WARN_DATA_TRUNCATED,
298
ER_WARN_USING_OTHER_HANDLER,
299
ER_CANT_AGGREGATE_2COLLATIONS,
302
ER_CANT_AGGREGATE_3COLLATIONS,
303
ER_CANT_AGGREGATE_NCOLLATIONS,
304
ER_VARIABLE_IS_NOT_STRUCT,
305
ER_UNKNOWN_COLLATION,
306
ER_SLAVE_IGNORED_SSL_PARAMS,
307
ER_SERVER_IS_IN_SECURE_AUTH_MODE,
308
ER_WARN_FIELD_RESOLVED,
309
ER_BAD_SLAVE_UNTIL_COND,
310
ER_MISSING_SKIP_SLAVE,
311
ER_UNTIL_COND_IGNORED,
312
ER_WRONG_NAME_FOR_INDEX,
313
ER_WRONG_NAME_FOR_CATALOG,
316
ER_UNKNOWN_KEY_CACHE,
317
ER_WARN_HOSTNAME_WONT_WORK,
318
ER_UNKNOWN_STORAGE_ENGINE,
319
ER_WARN_DEPRECATED_SYNTAX,
320
ER_NON_UPDATABLE_TABLE,
322
ER_OPTION_PREVENTS_STATEMENT,
323
ER_DUPLICATED_VALUE_IN_TYPE,
324
ER_TRUNCATED_WRONG_VALUE,
325
ER_TOO_MUCH_AUTO_TIMESTAMP_COLS,
326
ER_INVALID_ON_UPDATE,
329
ER_GET_TEMPORARY_ERRMSG,
330
ER_UNKNOWN_TIME_ZONE,
331
ER_WARN_INVALID_TIMESTAMP,
332
ER_INVALID_CHARACTER_STRING,
333
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
334
ER_CONFLICTING_DECLARATIONS,
335
ER_SP_NO_RECURSIVE_CREATE,
336
ER_SP_ALREADY_EXISTS,
337
ER_SP_DOES_NOT_EXIST,
340
ER_SP_LILABEL_MISMATCH,
341
ER_SP_LABEL_REDEFINE,
342
ER_SP_LABEL_MISMATCH,
347
ER_UPDATE_LOG_DEPRECATED_IGNORED,
348
ER_UPDATE_LOG_DEPRECATED_TRANSLATED,
349
ER_QUERY_INTERRUPTED,
350
ER_SP_WRONG_NO_OF_ARGS,
354
ER_SP_BAD_CURSOR_QUERY,
355
ER_SP_BAD_CURSOR_SELECT,
356
ER_SP_CURSOR_MISMATCH,
357
ER_SP_CURSOR_ALREADY_OPEN,
358
ER_SP_CURSOR_NOT_OPEN,
359
ER_SP_UNDECLARED_VAR,
360
ER_SP_WRONG_NO_OF_FETCH_ARGS,
368
ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG,
369
ER_SP_VARCOND_AFTER_CURSHNDLR,
370
ER_SP_CURSOR_AFTER_HANDLER,
371
ER_SP_CASE_NOT_FOUND,
372
ER_FPARSER_TOO_BIG_FILE,
373
ER_FPARSER_BAD_HEADER,
374
ER_FPARSER_EOF_IN_COMMENT,
375
ER_FPARSER_ERROR_IN_PARAMETER,
376
ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER,
380
ER_NONUPDATEABLE_COLUMN,
381
ER_VIEW_SELECT_DERIVED,
382
ER_VIEW_SELECT_CLAUSE,
383
ER_VIEW_SELECT_VARIABLE,
384
ER_VIEW_SELECT_TMPTABLE,
387
ER_WARN_VIEW_WITHOUT_KEY,
391
ER_TRG_ALREADY_EXISTS,
392
ER_TRG_DOES_NOT_EXIST,
393
ER_TRG_ON_VIEW_OR_TEMP_TABLE,
394
ER_TRG_CANT_CHANGE_ROW,
395
ER_TRG_NO_SUCH_ROW_IN_TRG,
396
ER_NO_DEFAULT_FOR_FIELD,
398
ER_TRUNCATED_WRONG_VALUE_FOR_FIELD,
399
ER_ILLEGAL_VALUE_FOR_TYPE,
400
ER_VIEW_NONUPD_CHECK,
401
ER_VIEW_CHECK_FAILED,
402
ER_PROCACCESS_DENIED_ERROR,
405
ER_UNKNOWN_TARGET_BINLOG,
406
ER_IO_ERR_LOG_INDEX_READ,
407
ER_BINLOG_PURGE_PROHIBITED,
409
ER_BINLOG_PURGE_FATAL_ERR,
411
ER_LOG_PURGE_UNKNOWN_ERR,
413
ER_NO_BINARY_LOGGING,
417
ER_NO_GROUP_FOR_PROC,
419
ER_LOGGING_PROHIBIT_CHANGING_OF,
426
ER_VIEW_NO_INSERT_FIELD_LIST,
427
ER_VIEW_DELETE_MERGE_VIEW,
435
ER_NONEXISTING_PROC_GRANT,
436
ER_PROC_AUTO_GRANT_FAIL,
437
ER_PROC_AUTO_REVOKE_FAIL,
441
ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR,
442
ER_CANT_CREATE_USER_WITH_GRANT,
443
ER_WRONG_VALUE_FOR_TYPE,
444
ER_TABLE_DEF_CHANGED,
448
ER_CANT_CREATE_GEOMETRY_OBJECT,
449
ER_FAILED_ROUTINE_BREAK_BINLOG,
450
ER_BINLOG_UNSAFE_ROUTINE,
451
ER_BINLOG_CREATE_ROUTINE_NEED_SUPER,
452
ER_EXEC_STMT_WITH_OPEN_CURSOR,
453
ER_STMT_HAS_NO_OPEN_CURSOR,
454
ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG,
455
ER_NO_DEFAULT_FOR_VIEW_FIELD,
458
ER_TOO_BIG_PRECISION,
460
ER_WRONG_LOCK_OF_SYSTEM_TABLE,
461
ER_CONNECT_TO_FOREIGN_DATA_SOURCE,
462
ER_QUERY_ON_FOREIGN_DATA_SOURCE,
463
ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST,
464
ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE,
465
ER_FOREIGN_DATA_STRING_INVALID,
466
ER_CANT_CREATE_FEDERATED_TABLE,
467
ER_TRG_IN_WRONG_SCHEMA,
468
ER_STACK_OVERRUN_NEED_MORE=1436, // TODO: Test case looks for this int
470
ER_WARN_CANT_DROP_DEFAULT_KEYCACHE,
471
ER_TOO_BIG_DISPLAYWIDTH,
473
ER_DATETIME_FUNCTION_OVERFLOW,
474
ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG,
475
ER_VIEW_PREVENT_UPDATE,
477
ER_SP_CANT_SET_AUTOCOMMIT,
478
ER_MALFORMED_DEFINER,
482
ER_FORBID_SCHEMA_CHANGE,
483
ER_ROW_IS_REFERENCED_2,
484
ER_NO_REFERENCED_ROW_2,
485
ER_SP_BAD_VAR_SHADOW,
488
ER_SP_RECURSION_LIMIT,
489
ER_SP_PROC_TABLE_CORRUPT,
491
ER_TABLE_NEEDS_UPGRADE,
493
ER_MAX_PREPARED_STMT_COUNT_REACHED,
495
ER_NON_GROUPING_FIELD_USED,
496
ER_TABLE_CANT_HANDLE_SPKEYS,
497
ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA,
499
ER_AUTOINC_READ_FAILED,
502
ER_WRONG_STRING_LENGTH,
503
ER_NON_INSERTABLE_TABLE,
504
ER_ADMIN_WRONG_MRG_TABLE,
505
ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT,
506
ER_NAME_BECOMES_EMPTY,
507
ER_AMBIGUOUS_FIELD_TERM,
508
ER_FOREIGN_SERVER_EXISTS,
509
ER_FOREIGN_SERVER_DOESNT_EXIST,
510
ER_ILLEGAL_HA_CREATE_OPTION,
511
ER_PARTITION_REQUIRES_VALUES_ERROR,
512
ER_PARTITION_WRONG_VALUES_ERROR,
513
ER_PARTITION_MAXVALUE_ERROR,
514
ER_PARTITION_SUBPARTITION_ERROR,
515
ER_PARTITION_SUBPART_MIX_ERROR,
516
ER_PARTITION_WRONG_NO_PART_ERROR,
517
ER_PARTITION_WRONG_NO_SUBPART_ERROR,
518
ER_CONST_EXPR_IN_PARTITION_FUNC_ERROR,
519
ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR,
520
ER_FIELD_NOT_FOUND_PART_ERROR,
521
ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR,
522
ER_INCONSISTENT_PARTITION_INFO_ERROR,
523
ER_PARTITION_FUNC_NOT_ALLOWED_ERROR,
524
ER_PARTITIONS_MUST_BE_DEFINED_ERROR,
525
ER_RANGE_NOT_INCREASING_ERROR,
526
ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR,
527
ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR,
528
ER_PARTITION_ENTRY_ERROR,
529
ER_MIX_HANDLER_ERROR,
530
ER_PARTITION_NOT_DEFINED_ERROR,
531
ER_TOO_MANY_PARTITIONS_ERROR,
532
ER_SUBPARTITION_ERROR,
533
ER_CANT_CREATE_HANDLER_FILE,
534
ER_BLOB_FIELD_IN_PART_FUNC_ERROR,
535
ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF,
537
ER_PARTITION_MGMT_ON_NONPARTITIONED,
538
ER_FOREIGN_KEY_ON_PARTITIONED,
539
ER_DROP_PARTITION_NON_EXISTENT,
540
ER_DROP_LAST_PARTITION,
541
ER_COALESCE_ONLY_ON_HASH_PARTITION,
542
ER_REORG_HASH_ONLY_ON_SAME_NO,
543
ER_REORG_NO_PARAM_ERROR,
544
ER_ONLY_ON_RANGE_LIST_PARTITION,
545
ER_ADD_PARTITION_SUBPART_ERROR,
546
ER_ADD_PARTITION_NO_NEW_PARTITION,
547
ER_COALESCE_PARTITION_NO_PARTITION,
548
ER_REORG_PARTITION_NOT_EXIST,
549
ER_SAME_NAME_PARTITION,
551
ER_CONSECUTIVE_REORG_PARTITIONS,
552
ER_REORG_OUTSIDE_RANGE,
553
ER_PARTITION_FUNCTION_FAILURE,
555
ER_LIMITED_PART_RANGE,
556
ER_PLUGIN_IS_NOT_LOADED,
558
ER_NO_PARTITION_FOR_GIVEN_VALUE,
559
ER_FILEGROUP_OPTION_ONLY_ONCE,
560
ER_CREATE_FILEGROUP_FAILED,
561
ER_DROP_FILEGROUP_FAILED,
562
ER_TABLESPACE_AUTO_EXTEND_ERROR,
563
ER_WRONG_SIZE_NUMBER,
564
ER_SIZE_OVERFLOW_ERROR,
565
ER_ALTER_FILEGROUP_FAILED,
566
ER_BINLOG_ROW_LOGGING_FAILED,
567
ER_BINLOG_ROW_WRONG_TABLE_DEF,
568
ER_BINLOG_ROW_RBR_TO_SBR,
569
ER_EVENT_ALREADY_EXISTS,
570
ER_EVENT_STORE_FAILED,
571
ER_EVENT_DOES_NOT_EXIST,
573
ER_EVENT_DROP_FAILED,
574
ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG,
575
ER_EVENT_ENDS_BEFORE_STARTS,
576
ER_EVENT_EXEC_TIME_IN_THE_PAST,
577
ER_EVENT_OPEN_TABLE_FAILED,
578
ER_EVENT_NEITHER_M_EXPR_NOR_M_AT,
579
ER_COL_COUNT_DOESNT_MATCH_CORRUPTED,
580
ER_CANNOT_LOAD_FROM_TABLE,
581
ER_EVENT_CANNOT_DELETE,
582
ER_EVENT_COMPILE_ERROR,
584
ER_EVENT_DATA_TOO_LONG,
586
ER_WARN_DEPRECATED_SYNTAX_WITH_VER,
587
ER_CANT_WRITE_LOCK_LOG_TABLE,
588
ER_CANT_LOCK_LOG_TABLE,
589
ER_FOREIGN_DUPLICATE_KEY,
590
ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE,
591
ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR,
592
ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT,
593
ER_NDB_CANT_SWITCH_BINLOG_FORMAT,
594
ER_PARTITION_NO_TEMPORARY,
595
ER_PARTITION_CONST_DOMAIN_ERROR,
596
ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,
598
ER_NULL_IN_VALUES_LESS_THAN,
599
ER_WRONG_PARTITION_NAME,
600
ER_CANT_CHANGE_TX_ISOLATION,
601
ER_DUP_ENTRY_AUTOINCREMENT_CASE,
602
ER_EVENT_MODIFY_QUEUE_ERROR,
603
ER_EVENT_SET_VAR_ERROR,
604
ER_PARTITION_MERGE_ERROR,
605
ER_CANT_ACTIVATE_LOG,
606
ER_RBR_NOT_AVAILABLE,
607
ER_BASE64_DECODE_ERROR,
608
ER_EVENT_RECURSION_FORBIDDEN,
610
ER_ONLY_INTEGERS_ALLOWED,
611
ER_UNSUPORTED_LOG_ENGINE,
612
ER_BAD_LOG_STATEMENT,
613
ER_CANT_RENAME_LOG_TABLE,
614
ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT,
615
ER_WRONG_PARAMETERS_TO_NATIVE_FCT,
616
ER_WRONG_PARAMETERS_TO_STORED_FCT,
617
ER_NATIVE_FCT_NAME_COLLISION,
618
ER_DUP_ENTRY_WITH_KEY_NAME,
619
ER_BINLOG_PURGE_EMFILE,
620
ER_EVENT_CANNOT_CREATE_IN_THE_PAST,
621
ER_EVENT_CANNOT_ALTER_IN_THE_PAST,
623
ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT,
624
ER_BINLOG_UNSAFE_STATEMENT,
625
ER_SLAVE_FATAL_ERROR,
626
ER_SLAVE_RELAY_LOG_READ_FAILURE,
627
ER_SLAVE_RELAY_LOG_WRITE_FAILURE,
628
ER_SLAVE_CREATE_EVENT_FAILURE,
629
ER_SLAVE_MASTER_COM_FAILURE,
630
ER_BINLOG_LOGGING_IMPOSSIBLE,
631
ER_VIEW_NO_CREATION_CTX,
632
ER_VIEW_INVALID_CREATION_CTX,
633
ER_SR_INVALID_CREATION_CTX,
634
ER_TRG_CORRUPTED_FILE,
635
ER_TRG_NO_CREATION_CTX,
636
ER_TRG_INVALID_CREATION_CTX,
637
ER_EVENT_INVALID_CREATION_CTX,
638
ER_TRG_CANT_OPEN_TABLE,
639
ER_CANT_CREATE_SROUTINE,
640
ER_SLAVE_AMBIGOUS_EXEC_MODE,
641
ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT,
642
ER_SLAVE_CORRUPT_EVENT,
643
ER_LOAD_DATA_INVALID_COLUMN,
644
ER_LOG_PURGE_NO_FILE,
645
ER_WARN_AUTO_CONVERT_LOCK,
646
ER_NO_AUTO_CONVERT_LOCK_STRICT,
647
ER_NO_AUTO_CONVERT_LOCK_TRANSACTION,
648
ER_NO_STORAGE_ENGINE,
649
ER_BACKUP_BACKUP_START,
650
ER_BACKUP_BACKUP_DONE,
651
ER_BACKUP_RESTORE_START,
652
ER_BACKUP_RESTORE_DONE,
653
ER_BACKUP_NOTHING_TO_BACKUP,
654
ER_BACKUP_CANNOT_INCLUDE_DB,
658
ER_BACKUP_BACKUP_PREPARE,
659
ER_BACKUP_RESTORE_PREPARE,
660
ER_BACKUP_INVALID_LOC,
664
ER_BACKUP_LIST_TABLES,
665
ER_BACKUP_LIST_DB_TABLES,
668
ER_BACKUP_TABLE_OPEN,
669
ER_BACKUP_READ_HEADER,
670
ER_BACKUP_WRITE_HEADER,
671
ER_BACKUP_NO_BACKUP_DRIVER,
672
ER_BACKUP_NOT_ACCEPTED,
673
ER_BACKUP_CREATE_BACKUP_DRIVER,
674
ER_BACKUP_CREATE_RESTORE_DRIVER,
675
ER_BACKUP_TOO_MANY_IMAGES,
676
ER_BACKUP_WRITE_META,
678
ER_BACKUP_CREATE_META,
680
ER_BACKUP_WRITE_DATA,
682
ER_BACKUP_NEXT_CHUNK,
683
ER_BACKUP_INIT_BACKUP_DRIVER,
684
ER_BACKUP_INIT_RESTORE_DRIVER,
685
ER_BACKUP_STOP_BACKUP_DRIVER,
686
ER_BACKUP_STOP_RESTORE_DRIVERS,
687
ER_BACKUP_PREPARE_DRIVER,
689
ER_BACKUP_UNLOCK_DRIVER,
690
ER_BACKUP_CANCEL_BACKUP,
691
ER_BACKUP_CANCEL_RESTORE,
694
ER_BACKUP_SEND_DATA_RETRY,
695
ER_BACKUP_OPEN_TABLES,
696
ER_BACKUP_THREAD_INIT,
697
ER_BACKUP_PROGRESS_TABLES,
699
ER_NO_SUCH_TABLESPACE,
700
ER_SLAVE_HEARTBEAT_FAILURE,
701
ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE,
702
ER_BACKUP_LOG_WRITE_ERROR,
703
ER_TABLESPACE_NOT_EMPTY,
705
ER_VCOL_BASED_ON_VCOL,
706
ER_VIRTUAL_COLUMN_FUNCTION_IS_NOT_ALLOWED,
707
ER_DATA_CONVERSION_ERROR_FOR_VIRTUAL_COLUMN,
708
ER_PRIMARY_KEY_BASED_ON_VIRTUAL_COLUMN,
709
ER_KEY_BASED_ON_GENERATED_VIRTUAL_COLUMN,
710
ER_WRONG_FK_OPTION_FOR_VIRTUAL_COLUMN,
711
ER_WARNING_NON_DEFAULT_VALUE_FOR_VIRTUAL_COLUMN,
712
ER_UNSUPPORTED_ACTION_ON_VIRTUAL_COLUMN,
713
ER_CONST_EXPR_IN_VCOL,
714
ER_UNKNOWN_TEMPORAL_TYPE,
715
ER_INVALID_STRING_FORMAT_FOR_DATE,
716
ER_INVALID_STRING_FORMAT_FOR_TIME,
717
ER_INVALID_UNIX_TIMESTAMP_VALUE,
718
ER_INVALID_DATETIME_VALUE,
719
ER_INVALID_NULL_ARGUMENT,
720
ER_INVALID_NEGATIVE_ARGUMENT,
721
ER_ARGUMENT_OUT_OF_RANGE,
722
ER_INVALID_TIME_VALUE,
723
ER_INVALID_ENUM_VALUE,
724
ER_ERROR_LAST= ER_INVALID_ENUM_VALUE
71
typedef void (*error_handler_func)(drizzled::error_t my_err,
74
extern error_handler_func error_handler_hook;
76
// TODO: kill this method. Too much to do with this branch.
77
// This is called through the ER(x) macro.
78
DRIZZLED_API const char * error_message(drizzled::error_t err_index);
80
// Adds the message to the global error dictionary.
81
void add_error_message(drizzled::error_t error_code, const std::string &error_name,
82
const std::string& message);
83
#define DRIZZLE_ADD_ERROR_MESSAGE(code, msg) add_error_message(code, STRINGIFY_ARG(code), msg)
85
DRIZZLED_API void my_error(const std::string &ref, error_t nr, myf MyFlags= MYF(0));
86
DRIZZLED_API void my_error(error_t nr, drizzled::Identifier::const_reference ref, myf MyFlags= MYF(0));
87
DRIZZLED_API void my_error(error_t nr);
88
DRIZZLED_API void my_error(error_t nr, myf MyFlags, ...);
89
void my_message(drizzled::error_t my_err, const char *str, myf MyFlags);
90
void my_printf_error(drizzled::error_t my_err, const char *format,
92
__attribute__((format(printf, 2, 4)));
94
} /* namespace drizzled */
96
#endif /* DRIZZLED_ERROR_H */