17
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
20
#ifndef DRIZZLED_ERROR_H
22
21
#define DRIZZLED_ERROR_H
25
#include <boost/unordered_map.hpp>
27
#include <drizzled/definitions.h>
28
#include <drizzled/error/level_t.h>
29
#include <drizzled/error_t.h>
30
#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 MY_FILE_ERROR ((size_t) -1)
40
#define ME_FATALERROR 1024 /* Fatal statement error */
43
* Provides a mapping from the error enum values to std::strings.
48
typedef std::pair<std::string, std::string> value_type;
49
typedef boost::unordered_map<drizzled::error_t, value_type> ErrorMessageMap;
53
// Insert the message for the error. If the error already has an existing
54
// mapping, an error is logged, but the function continues.
55
void add(drizzled::error_t error_num, const std::string &error_name, const std::string &message);
57
// If there is no error mapping for the error_num, ErrorStringNotFound is raised.
58
const std::string &find(drizzled::error_t error_num) const;
60
static const ErrorMessageMap& get_error_message_map();
62
// Disable copy and assignment.
63
ErrorMap(const ErrorMap &e);
64
ErrorMap& operator=(const ErrorMap &e);
66
ErrorMessageMap mapping_;
23
#include "drizzled/my_error.h"
29
bool init_errmessage(void);
30
const char * error_message(unsigned int err_index);
32
enum drizzled_error_code {
34
ER_UNUSED1000= ER_ERROR_FIRST,
46
ER_CANT_FIND_SYSTEM_REC,
78
ER_DBACCESS_DENIED_ERROR,
79
ER_ACCESS_DENIED_ERROR,
84
ER_TABLE_EXISTS_ERROR,
89
ER_WRONG_FIELD_WITH_GROUP,
104
ER_TOO_MANY_KEY_PARTS,
106
ER_KEY_COLUMN_DOES_NOT_EXITS,
108
ER_TOO_BIG_FIELDLENGTH,
113
ER_SHUTDOWN_COMPLETE,
117
ER_WRONG_FIELD_TERMINATORS,
118
ER_BLOBS_AND_NO_TERMINATED,
119
ER_TEXTFILE_NOT_READABLE,
120
ER_FILE_EXISTS_ERROR,
124
ER_CANT_REMOVE_ALL_FIELDS,
125
ER_CANT_DROP_FIELD_OR_KEY,
127
ER_UPDATE_TABLE_USED,
129
ER_KILL_DENIED_ERROR,
132
ER_NO_UNIQUE_LOGFILE,
133
ER_TABLE_NOT_LOCKED_FOR_WRITE,
135
ER_BLOB_CANT_HAVE_DEFAULT,
140
ER_UNKNOWN_PROCEDURE,
141
ER_WRONG_PARAMCOUNT_TO_PROCEDURE,
142
ER_WRONG_PARAMETERS_TO_PROCEDURE,
144
ER_FIELD_SPECIFIED_TWICE,
145
ER_INVALID_GROUP_FUNC_USE,
146
ER_UNSUPPORTED_EXTENSION,
147
ER_TABLE_MUST_HAVE_COLUMNS,
149
ER_UNKNOWN_CHARACTER_SET,
155
ER_NULL_COLUMN_IN_INDEX,
157
ER_CANT_INITIALIZE_UDF,
160
ER_CANT_OPEN_LIBRARY,
161
ER_CANT_FIND_DL_ENTRY,
162
ER_FUNCTION_NOT_DEFINED,
164
ER_HOST_NOT_PRIVILEGED,
165
ER_PASSWORD_ANONYMOUS_USER,
166
ER_PASSWORD_NOT_ALLOWED,
167
ER_PASSWORD_NO_MATCH,
169
ER_CANT_CREATE_THREAD,
170
ER_WRONG_VALUE_COUNT_ON_ROW,
171
ER_CANT_REOPEN_TABLE,
172
ER_INVALID_USE_OF_NULL,
174
ER_MIX_OF_GROUP_FUNC_AND_FIELDS,
175
ER_NONEXISTING_GRANT,
176
ER_TABLEACCESS_DENIED_ERROR,
177
ER_COLUMNACCESS_DENIED_ERROR,
178
ER_ILLEGAL_GRANT_FOR_TABLE,
179
ER_GRANT_WRONG_HOST_OR_USER,
181
ER_NONEXISTING_TABLE_GRANT,
182
ER_NOT_ALLOWED_COMMAND,
184
ER_DELAYED_CANT_CHANGE_LOCK,
185
ER_TOO_MANY_DELAYED_THREADS,
186
ER_ABORTING_CONNECTION,
187
ER_NET_PACKET_TOO_LARGE,
188
ER_NET_READ_ERROR_FROM_PIPE,
190
ER_NET_PACKETS_OUT_OF_ORDER,
191
ER_NET_UNCOMPRESS_ERROR,
193
ER_NET_READ_INTERRUPTED,
194
ER_NET_ERROR_ON_WRITE,
195
ER_NET_WRITE_INTERRUPTED,
197
ER_TABLE_CANT_HANDLE_BLOB,
198
ER_TABLE_CANT_HANDLE_AUTO_INCREMENT,
199
ER_DELAYED_INSERT_TABLE_LOCKED,
200
ER_WRONG_COLUMN_NAME,
204
ER_BLOB_KEY_WITHOUT_LENGTH,
205
ER_PRIMARY_CANT_HAVE_NULL,
207
ER_REQUIRES_PRIMARY_KEY,
209
ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE,
210
ER_KEY_DOES_NOT_EXITS,
211
ER_CHECK_NO_SUCH_TABLE,
212
ER_CHECK_NOT_IMPLEMENTED,
213
ER_CANT_DO_THIS_DURING_AN_TRANSACTION,
214
ER_ERROR_DURING_COMMIT,
215
ER_ERROR_DURING_ROLLBACK,
216
ER_ERROR_DURING_FLUSH_LOGS,
217
ER_ERROR_DURING_CHECKPOINT,
218
ER_NEW_ABORTING_CONNECTION,
219
ER_DUMP_NOT_IMPLEMENTED,
220
ER_FLUSH_MASTER_BINLOG_CLOSED,
225
ER_FT_MATCHING_KEY_NOT_FOUND,
226
ER_LOCK_OR_ACTIVE_TRANSACTION,
227
ER_UNKNOWN_SYSTEM_VARIABLE,
229
ER_CRASHED_ON_REPAIR,
230
ER_WARNING_NOT_COMPLETE_ROLLBACK,
233
ER_SLAVE_NOT_RUNNING,
237
ER_TOO_MANY_USER_CONNECTIONS,
238
ER_SET_CONSTANTS_ONLY,
239
ER_LOCK_WAIT_TIMEOUT,
241
ER_READ_ONLY_TRANSACTION,
242
ER_DROP_DB_WITH_READ_LOCK,
243
ER_CREATE_DB_WITH_READ_LOCK,
245
ER_NO_PERMISSION_TO_CREATE_USER,
246
ER_UNION_TABLES_IN_DIFFERENT_DIR,
248
ER_TABLE_CANT_HANDLE_FT,
249
ER_CANNOT_ADD_FOREIGN,
250
ER_NO_REFERENCED_ROW,
251
ER_ROW_IS_REFERENCED,
252
ER_CONNECT_TO_MASTER,
254
ER_ERROR_WHEN_EXECUTING_COMMAND,
256
ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT,
257
ER_CANT_UPDATE_WITH_READLOCK,
258
ER_MIXING_NOT_ALLOWED,
260
ER_USER_LIMIT_REACHED,
261
ER_SPECIFIC_ACCESS_DENIED_ERROR,
265
ER_WRONG_VALUE_FOR_VAR,
266
ER_WRONG_TYPE_FOR_VAR,
268
ER_CANT_USE_OPTION_HERE,
269
ER_NOT_SUPPORTED_YET,
270
ER_MASTER_FATAL_ERROR_READING_BINLOG,
271
ER_SLAVE_IGNORED_TABLE,
272
ER_INCORRECT_GLOBAL_LOCAL_VAR,
274
ER_KEY_REF_DO_NOT_MATCH_TABLE_REF,
276
ER_SUBQUERY_NO_1_ROW,
277
ER_UNKNOWN_STMT_HANDLER,
281
ER_ILLEGAL_REFERENCE,
282
ER_DERIVED_MUST_HAVE_ALIAS,
284
ER_TABLENAME_NOT_ALLOWED_HERE,
285
ER_NOT_SUPPORTED_AUTH_MODE,
286
ER_SPATIAL_CANT_HAVE_NULL,
287
ER_COLLATION_CHARSET_MISMATCH,
288
ER_SLAVE_WAS_RUNNING,
289
ER_SLAVE_WAS_NOT_RUNNING,
290
ER_TOO_BIG_FOR_UNCOMPRESS,
293
ER_ZLIB_Z_DATA_ERROR,
294
ER_CUT_VALUE_GROUP_CONCAT,
295
ER_WARN_TOO_FEW_RECORDS,
296
ER_WARN_TOO_MANY_RECORDS,
297
ER_WARN_NULL_TO_NOTNULL,
298
ER_WARN_DATA_OUT_OF_RANGE,
299
ER_WARN_DATA_TRUNCATED,
300
ER_WARN_USING_OTHER_HANDLER,
301
ER_CANT_AGGREGATE_2COLLATIONS,
304
ER_CANT_AGGREGATE_3COLLATIONS,
305
ER_CANT_AGGREGATE_NCOLLATIONS,
306
ER_VARIABLE_IS_NOT_STRUCT,
307
ER_UNKNOWN_COLLATION,
308
ER_SLAVE_IGNORED_SSL_PARAMS,
309
ER_SERVER_IS_IN_SECURE_AUTH_MODE,
310
ER_WARN_FIELD_RESOLVED,
311
ER_BAD_SLAVE_UNTIL_COND,
312
ER_MISSING_SKIP_SLAVE,
313
ER_UNTIL_COND_IGNORED,
314
ER_WRONG_NAME_FOR_INDEX,
315
ER_WRONG_NAME_FOR_CATALOG,
318
ER_UNKNOWN_KEY_CACHE,
319
ER_WARN_HOSTNAME_WONT_WORK,
320
ER_UNKNOWN_STORAGE_ENGINE,
321
ER_WARN_DEPRECATED_SYNTAX,
322
ER_NON_UPDATABLE_TABLE,
324
ER_OPTION_PREVENTS_STATEMENT,
325
ER_DUPLICATED_VALUE_IN_TYPE,
326
ER_TRUNCATED_WRONG_VALUE,
327
ER_TOO_MUCH_AUTO_TIMESTAMP_COLS,
328
ER_INVALID_ON_UPDATE,
331
ER_GET_TEMPORARY_ERRMSG,
332
ER_UNKNOWN_TIME_ZONE,
333
ER_WARN_INVALID_TIMESTAMP,
334
ER_INVALID_CHARACTER_STRING,
335
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
336
ER_CONFLICTING_DECLARATIONS,
337
ER_SP_NO_RECURSIVE_CREATE,
338
ER_SP_ALREADY_EXISTS,
339
ER_SP_DOES_NOT_EXIST,
342
ER_SP_LILABEL_MISMATCH,
343
ER_SP_LABEL_REDEFINE,
344
ER_SP_LABEL_MISMATCH,
349
ER_UPDATE_LOG_DEPRECATED_IGNORED,
350
ER_UPDATE_LOG_DEPRECATED_TRANSLATED,
351
ER_QUERY_INTERRUPTED,
352
ER_SP_WRONG_NO_OF_ARGS,
356
ER_SP_BAD_CURSOR_QUERY,
357
ER_SP_BAD_CURSOR_SELECT,
358
ER_SP_CURSOR_MISMATCH,
359
ER_SP_CURSOR_ALREADY_OPEN,
360
ER_SP_CURSOR_NOT_OPEN,
361
ER_SP_UNDECLARED_VAR,
362
ER_SP_WRONG_NO_OF_FETCH_ARGS,
370
ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG,
371
ER_SP_VARCOND_AFTER_CURSHNDLR,
372
ER_SP_CURSOR_AFTER_HANDLER,
373
ER_SP_CASE_NOT_FOUND,
374
ER_FPARSER_TOO_BIG_FILE,
375
ER_FPARSER_BAD_HEADER,
376
ER_FPARSER_EOF_IN_COMMENT,
377
ER_FPARSER_ERROR_IN_PARAMETER,
378
ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER,
382
ER_NONUPDATEABLE_COLUMN,
383
ER_VIEW_SELECT_DERIVED,
384
ER_VIEW_SELECT_CLAUSE,
385
ER_VIEW_SELECT_VARIABLE,
386
ER_VIEW_SELECT_TMPTABLE,
389
ER_WARN_VIEW_WITHOUT_KEY,
393
ER_TRG_ALREADY_EXISTS,
394
ER_TRG_DOES_NOT_EXIST,
395
ER_TRG_ON_VIEW_OR_TEMP_TABLE,
396
ER_TRG_CANT_CHANGE_ROW,
397
ER_TRG_NO_SUCH_ROW_IN_TRG,
398
ER_NO_DEFAULT_FOR_FIELD,
400
ER_TRUNCATED_WRONG_VALUE_FOR_FIELD,
401
ER_ILLEGAL_VALUE_FOR_TYPE,
402
ER_VIEW_NONUPD_CHECK,
403
ER_VIEW_CHECK_FAILED,
404
ER_PROCACCESS_DENIED_ERROR,
407
ER_UNKNOWN_TARGET_BINLOG,
408
ER_IO_ERR_LOG_INDEX_READ,
409
ER_BINLOG_PURGE_PROHIBITED,
411
ER_BINLOG_PURGE_FATAL_ERR,
413
ER_LOG_PURGE_UNKNOWN_ERR,
415
ER_NO_BINARY_LOGGING,
419
ER_NO_GROUP_FOR_PROC,
421
ER_LOGGING_PROHIBIT_CHANGING_OF,
428
ER_VIEW_NO_INSERT_FIELD_LIST,
429
ER_VIEW_DELETE_MERGE_VIEW,
437
ER_NONEXISTING_PROC_GRANT,
438
ER_PROC_AUTO_GRANT_FAIL,
439
ER_PROC_AUTO_REVOKE_FAIL,
443
ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR,
444
ER_CANT_CREATE_USER_WITH_GRANT,
445
ER_WRONG_VALUE_FOR_TYPE,
446
ER_TABLE_DEF_CHANGED,
450
ER_CANT_CREATE_GEOMETRY_OBJECT,
451
ER_FAILED_ROUTINE_BREAK_BINLOG,
452
ER_BINLOG_UNSAFE_ROUTINE,
453
ER_BINLOG_CREATE_ROUTINE_NEED_SUPER,
454
ER_EXEC_STMT_WITH_OPEN_CURSOR,
455
ER_STMT_HAS_NO_OPEN_CURSOR,
456
ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG,
457
ER_NO_DEFAULT_FOR_VIEW_FIELD,
460
ER_TOO_BIG_PRECISION,
462
ER_WRONG_LOCK_OF_SYSTEM_TABLE,
463
ER_CONNECT_TO_FOREIGN_DATA_SOURCE,
464
ER_QUERY_ON_FOREIGN_DATA_SOURCE,
465
ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST,
466
ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE,
467
ER_FOREIGN_DATA_STRING_INVALID,
468
ER_CANT_CREATE_FEDERATED_TABLE,
469
ER_TRG_IN_WRONG_SCHEMA,
470
ER_STACK_OVERRUN_NEED_MORE=1436, // TODO: Test case looks for this int
472
ER_WARN_CANT_DROP_DEFAULT_KEYCACHE,
473
ER_TOO_BIG_DISPLAYWIDTH,
475
ER_DATETIME_FUNCTION_OVERFLOW,
476
ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG,
477
ER_VIEW_PREVENT_UPDATE,
479
ER_SP_CANT_SET_AUTOCOMMIT,
480
ER_MALFORMED_DEFINER,
484
ER_FORBID_SCHEMA_CHANGE,
485
ER_ROW_IS_REFERENCED_2,
486
ER_NO_REFERENCED_ROW_2,
487
ER_SP_BAD_VAR_SHADOW,
490
ER_SP_RECURSION_LIMIT,
491
ER_SP_PROC_TABLE_CORRUPT,
493
ER_TABLE_NEEDS_UPGRADE,
495
ER_MAX_PREPARED_STMT_COUNT_REACHED,
497
ER_NON_GROUPING_FIELD_USED,
498
ER_TABLE_CANT_HANDLE_SPKEYS,
499
ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA,
501
ER_AUTOINC_READ_FAILED,
504
ER_WRONG_STRING_LENGTH,
505
ER_NON_INSERTABLE_TABLE,
506
ER_ADMIN_WRONG_MRG_TABLE,
507
ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT,
508
ER_NAME_BECOMES_EMPTY,
509
ER_AMBIGUOUS_FIELD_TERM,
510
ER_FOREIGN_SERVER_EXISTS,
511
ER_FOREIGN_SERVER_DOESNT_EXIST,
512
ER_ILLEGAL_HA_CREATE_OPTION,
513
ER_PARTITION_REQUIRES_VALUES_ERROR,
514
ER_PARTITION_WRONG_VALUES_ERROR,
515
ER_PARTITION_MAXVALUE_ERROR,
516
ER_PARTITION_SUBPARTITION_ERROR,
517
ER_PARTITION_SUBPART_MIX_ERROR,
518
ER_PARTITION_WRONG_NO_PART_ERROR,
519
ER_PARTITION_WRONG_NO_SUBPART_ERROR,
520
ER_CONST_EXPR_IN_PARTITION_FUNC_ERROR,
521
ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR,
522
ER_FIELD_NOT_FOUND_PART_ERROR,
523
ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR,
524
ER_INCONSISTENT_PARTITION_INFO_ERROR,
525
ER_PARTITION_FUNC_NOT_ALLOWED_ERROR,
526
ER_PARTITIONS_MUST_BE_DEFINED_ERROR,
527
ER_RANGE_NOT_INCREASING_ERROR,
528
ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR,
529
ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR,
530
ER_PARTITION_ENTRY_ERROR,
531
ER_MIX_HANDLER_ERROR,
532
ER_PARTITION_NOT_DEFINED_ERROR,
533
ER_TOO_MANY_PARTITIONS_ERROR,
534
ER_SUBPARTITION_ERROR,
535
ER_CANT_CREATE_HANDLER_FILE,
536
ER_BLOB_FIELD_IN_PART_FUNC_ERROR,
537
ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF,
539
ER_PARTITION_MGMT_ON_NONPARTITIONED,
540
ER_FOREIGN_KEY_ON_PARTITIONED,
541
ER_DROP_PARTITION_NON_EXISTENT,
542
ER_DROP_LAST_PARTITION,
543
ER_COALESCE_ONLY_ON_HASH_PARTITION,
544
ER_REORG_HASH_ONLY_ON_SAME_NO,
545
ER_REORG_NO_PARAM_ERROR,
546
ER_ONLY_ON_RANGE_LIST_PARTITION,
547
ER_ADD_PARTITION_SUBPART_ERROR,
548
ER_ADD_PARTITION_NO_NEW_PARTITION,
549
ER_COALESCE_PARTITION_NO_PARTITION,
550
ER_REORG_PARTITION_NOT_EXIST,
551
ER_SAME_NAME_PARTITION,
553
ER_CONSECUTIVE_REORG_PARTITIONS,
554
ER_REORG_OUTSIDE_RANGE,
555
ER_PARTITION_FUNCTION_FAILURE,
557
ER_LIMITED_PART_RANGE,
558
ER_PLUGIN_IS_NOT_LOADED,
560
ER_NO_PARTITION_FOR_GIVEN_VALUE,
561
ER_FILEGROUP_OPTION_ONLY_ONCE,
562
ER_CREATE_FILEGROUP_FAILED,
563
ER_DROP_FILEGROUP_FAILED,
564
ER_TABLESPACE_AUTO_EXTEND_ERROR,
565
ER_WRONG_SIZE_NUMBER,
566
ER_SIZE_OVERFLOW_ERROR,
567
ER_ALTER_FILEGROUP_FAILED,
568
ER_BINLOG_ROW_LOGGING_FAILED,
569
ER_BINLOG_ROW_WRONG_TABLE_DEF,
570
ER_BINLOG_ROW_RBR_TO_SBR,
571
ER_EVENT_ALREADY_EXISTS,
572
ER_EVENT_STORE_FAILED,
573
ER_EVENT_DOES_NOT_EXIST,
575
ER_EVENT_DROP_FAILED,
576
ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG,
577
ER_EVENT_ENDS_BEFORE_STARTS,
578
ER_EVENT_EXEC_TIME_IN_THE_PAST,
579
ER_EVENT_OPEN_TABLE_FAILED,
580
ER_EVENT_NEITHER_M_EXPR_NOR_M_AT,
581
ER_COL_COUNT_DOESNT_MATCH_CORRUPTED,
582
ER_CANNOT_LOAD_FROM_TABLE,
583
ER_EVENT_CANNOT_DELETE,
584
ER_EVENT_COMPILE_ERROR,
586
ER_EVENT_DATA_TOO_LONG,
588
ER_WARN_DEPRECATED_SYNTAX_WITH_VER,
589
ER_CANT_WRITE_LOCK_LOG_TABLE,
590
ER_CANT_LOCK_LOG_TABLE,
591
ER_FOREIGN_DUPLICATE_KEY,
592
ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE,
593
ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR,
594
ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT,
595
ER_NDB_CANT_SWITCH_BINLOG_FORMAT,
596
ER_PARTITION_NO_TEMPORARY,
597
ER_PARTITION_CONST_DOMAIN_ERROR,
598
ER_PARTITION_FUNCTION_IS_NOT_ALLOWED,
600
ER_NULL_IN_VALUES_LESS_THAN,
601
ER_WRONG_PARTITION_NAME,
602
ER_CANT_CHANGE_TX_ISOLATION,
603
ER_DUP_ENTRY_AUTOINCREMENT_CASE,
604
ER_EVENT_MODIFY_QUEUE_ERROR,
605
ER_EVENT_SET_VAR_ERROR,
606
ER_PARTITION_MERGE_ERROR,
607
ER_CANT_ACTIVATE_LOG,
608
ER_RBR_NOT_AVAILABLE,
609
ER_BASE64_DECODE_ERROR,
610
ER_EVENT_RECURSION_FORBIDDEN,
612
ER_ONLY_INTEGERS_ALLOWED,
613
ER_UNSUPORTED_LOG_ENGINE,
614
ER_BAD_LOG_STATEMENT,
615
ER_CANT_RENAME_LOG_TABLE,
616
ER_WRONG_PARAMCOUNT_TO_FUNCTION,
617
ER_WRONG_PARAMETERS_TO_NATIVE_FCT,
618
ER_WRONG_PARAMETERS_TO_STORED_FCT,
619
ER_NATIVE_FCT_NAME_COLLISION,
620
ER_DUP_ENTRY_WITH_KEY_NAME,
621
ER_BINLOG_PURGE_EMFILE,
622
ER_EVENT_CANNOT_CREATE_IN_THE_PAST,
623
ER_EVENT_CANNOT_ALTER_IN_THE_PAST,
625
ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT,
626
ER_BINLOG_UNSAFE_STATEMENT,
627
ER_SLAVE_FATAL_ERROR,
628
ER_SLAVE_RELAY_LOG_READ_FAILURE,
629
ER_SLAVE_RELAY_LOG_WRITE_FAILURE,
630
ER_SLAVE_CREATE_EVENT_FAILURE,
631
ER_SLAVE_MASTER_COM_FAILURE,
632
ER_BINLOG_LOGGING_IMPOSSIBLE,
633
ER_VIEW_NO_CREATION_CTX,
634
ER_VIEW_INVALID_CREATION_CTX,
635
ER_SR_INVALID_CREATION_CTX,
636
ER_TRG_CORRUPTED_FILE,
637
ER_TRG_NO_CREATION_CTX,
638
ER_TRG_INVALID_CREATION_CTX,
639
ER_EVENT_INVALID_CREATION_CTX,
640
ER_TRG_CANT_OPEN_TABLE,
641
ER_CANT_CREATE_SROUTINE,
642
ER_SLAVE_AMBIGOUS_EXEC_MODE,
643
ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT,
644
ER_SLAVE_CORRUPT_EVENT,
645
ER_LOAD_DATA_INVALID_COLUMN,
646
ER_LOG_PURGE_NO_FILE,
647
ER_WARN_AUTO_CONVERT_LOCK,
648
ER_NO_AUTO_CONVERT_LOCK_STRICT,
649
ER_NO_AUTO_CONVERT_LOCK_TRANSACTION,
650
ER_NO_STORAGE_ENGINE,
651
ER_BACKUP_BACKUP_START,
652
ER_BACKUP_BACKUP_DONE,
653
ER_BACKUP_RESTORE_START,
654
ER_BACKUP_RESTORE_DONE,
655
ER_BACKUP_NOTHING_TO_BACKUP,
656
ER_BACKUP_CANNOT_INCLUDE_DB,
660
ER_BACKUP_BACKUP_PREPARE,
661
ER_BACKUP_RESTORE_PREPARE,
662
ER_BACKUP_INVALID_LOC,
666
ER_BACKUP_LIST_TABLES,
667
ER_BACKUP_LIST_DB_TABLES,
670
ER_BACKUP_TABLE_OPEN,
671
ER_BACKUP_READ_HEADER,
672
ER_BACKUP_WRITE_HEADER,
673
ER_BACKUP_NO_BACKUP_DRIVER,
674
ER_BACKUP_NOT_ACCEPTED,
675
ER_BACKUP_CREATE_BACKUP_DRIVER,
676
ER_BACKUP_CREATE_RESTORE_DRIVER,
677
ER_BACKUP_TOO_MANY_IMAGES,
678
ER_BACKUP_WRITE_META,
680
ER_BACKUP_CREATE_META,
682
ER_BACKUP_WRITE_DATA,
684
ER_BACKUP_NEXT_CHUNK,
685
ER_BACKUP_INIT_BACKUP_DRIVER,
686
ER_BACKUP_INIT_RESTORE_DRIVER,
687
ER_BACKUP_STOP_BACKUP_DRIVER,
688
ER_BACKUP_STOP_RESTORE_DRIVERS,
689
ER_BACKUP_PREPARE_DRIVER,
691
ER_BACKUP_UNLOCK_DRIVER,
692
ER_BACKUP_CANCEL_BACKUP,
693
ER_BACKUP_CANCEL_RESTORE,
696
ER_BACKUP_SEND_DATA_RETRY,
697
ER_BACKUP_OPEN_TABLES,
698
ER_BACKUP_THREAD_INIT,
699
ER_BACKUP_PROGRESS_TABLES,
701
ER_NO_SUCH_TABLESPACE,
702
ER_SLAVE_HEARTBEAT_FAILURE,
703
ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE,
704
ER_BACKUP_LOG_WRITE_ERROR,
705
ER_TABLESPACE_NOT_EMPTY,
707
ER_VCOL_BASED_ON_VCOL,
708
ER_VIRTUAL_COLUMN_FUNCTION_IS_NOT_ALLOWED,
709
ER_DATA_CONVERSION_ERROR_FOR_VIRTUAL_COLUMN,
710
ER_PRIMARY_KEY_BASED_ON_VIRTUAL_COLUMN,
711
ER_KEY_BASED_ON_GENERATED_VIRTUAL_COLUMN,
712
ER_WRONG_FK_OPTION_FOR_VIRTUAL_COLUMN,
713
ER_WARNING_NON_DEFAULT_VALUE_FOR_VIRTUAL_COLUMN,
714
ER_UNSUPPORTED_ACTION_ON_VIRTUAL_COLUMN,
715
ER_CONST_EXPR_IN_VCOL,
716
ER_UNKNOWN_TEMPORAL_TYPE,
717
ER_INVALID_STRING_FORMAT_FOR_DATE,
718
ER_INVALID_STRING_FORMAT_FOR_TIME,
719
ER_INVALID_UNIX_TIMESTAMP_VALUE,
720
ER_INVALID_DATETIME_VALUE,
721
ER_INVALID_NULL_ARGUMENT,
722
ER_INVALID_NEGATIVE_ARGUMENT,
723
ER_ARGUMENT_OUT_OF_RANGE,
724
ER_INVALID_TIME_VALUE,
725
ER_INVALID_ENUM_VALUE,
726
ER_NO_PRIMARY_KEY_ON_REPLICATED_TABLE,
727
ER_ERROR_LAST= ER_NO_PRIMARY_KEY_ON_REPLICATED_TABLE
69
typedef void (*error_handler_func)(drizzled::error_t my_err,
72
extern error_handler_func error_handler_hook;
74
// TODO: kill this method. Too much to do with this branch.
75
// This is called through the ER(x) macro.
76
DRIZZLED_API const char * error_message(drizzled::error_t err_index);
78
// Adds the message to the global error dictionary.
79
void add_error_message(drizzled::error_t error_code, const std::string &error_name,
80
const std::string& message);
81
#define DRIZZLE_ADD_ERROR_MESSAGE(code, msg) add_error_message(code, STRINGIFY_ARG(code), msg)
85
void access(drizzled::identifier::User::const_reference user);
86
void access(drizzled::identifier::User::const_reference user, drizzled::identifier::Schema::const_reference schema);
87
void access(drizzled::identifier::User::const_reference user, drizzled::identifier::Table::const_reference table);
89
const std::string &verbose_string();
90
error::level_t &verbosity();
91
void check_verbosity(const std::string &arg);
96
DRIZZLED_API void my_error(const std::string &ref, error_t nr, myf MyFlags= MYF(0));
97
DRIZZLED_API void my_error(error_t nr, drizzled::Identifier::const_reference ref, myf MyFlags= MYF(0));
98
DRIZZLED_API void my_error(error_t nr);
99
DRIZZLED_API void my_error(error_t nr, myf MyFlags, ...);
100
void my_message(drizzled::error_t my_err, const char *str, myf MyFlags);
101
void my_printf_error(drizzled::error_t my_err, const char *format,
103
__attribute__((format(printf, 2, 4)));
105
} /* namespace drizzled */
107
734
#endif /* DRIZZLED_ERROR_H */