Added text for errno in error messages by:
- Adding %M my_sprintf() modifier that prints error number - system-error-text - Modified mysys, mysql_client and SQL error messages to use %M instead of %d - Added my_strerror() Updated handler errors to 5.6 error numbers Updated text for a few error messages (to match 5.6) Increased length of command name in error output extra/comp_err.c: Added support for %M include/my_base.h: Updated handler errors to 5.6 error numbers include/my_sys.h: Added my_strerror() libmysql/errmsg.c: Updated error messages to use %M mysql-test/r/errors.result: Updated result as error message have changed mysql-test/r/innodb_mysql_sync.result: Updated result with text for errno mysql-test/r/myisam-system.result: Updated result with text for errno mysql-test/r/myisam.result: Updated result as error message have changed mysql-test/r/myisampack.result: Updated result with text for errno mysql-test/r/mysql.result: Updated result with text for errno mysql-test/r/mysql_upgrade.result: Updated result with text for errno mysql-test/r/partition_datatype.result: Updated result as error message have changed mysql-test/r/partition_innodb_plugin.result: Updated result with text for errno mysql-test/r/ps_1general.result: Updated result with text for errno mysql-test/r/trigger.result: Updated result with text for errno mysql-test/r/type_bit.result: Updated result as error message have changed mysql-test/r/type_bit_innodb.result: Updated result as error message have changed mysql-test/r/type_blob.result: Updated result as error message have changed mysql-test/suite/archive/archive.result: Updated result with text for errno mysql-test/suite/binlog/r/binlog_index.result: Updated result with text for errno mysql-test/suite/binlog/r/binlog_ioerr.result: Updated result with text for errno mysql-test/suite/csv/csv.result: Updated result with text for errno mysql-test/suite/federated/federated_bug_35333.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb-create-options.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb-index.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb-zip.result: Updated result as error message have changed mysql-test/suite/innodb/r/innodb.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb_bug21704.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb_bug46000.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb_bug53591.result: Updated result as error message have changed mysql-test/suite/innodb/r/innodb_corrupt_bit.result: New error numbers mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result: Updated result as error message have changed mysql-test/suite/innodb/t/innodb-create-options.test: Added regexp to avoid system error text mysql-test/suite/innodb/t/innodb-zip.test: Added regexp to avoid system error text mysql-test/suite/maria/maria-recovery2.result: Updated supression rule mysql-test/suite/maria/maria-recovery2.test: Updated supression rule mysql-test/suite/maria/maria.result: Updated result as error message have changed mysql-test/suite/parts/r/partition_bit_innodb.result: Updated result as error message have changed mysql-test/suite/parts/r/partition_bit_myisam.result: Updated result as error message have changed mysql-test/suite/percona/percona_innodb_fake_changes.result: Updated result with text for errno mysql-test/suite/perfschema/r/dml_cond_instances.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_events_waits_current.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_events_waits_history.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_events_waits_history_long.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_ews_by_instance.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_file_instances.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_mutex_instances.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_performance_timers.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_rwlock_instances.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_threads.result: Updated result as error message have changed mysql-test/suite/perfschema/r/misc.result: Updated result with text for errno mysql-test/suite/perfschema/r/privilege.result: Updated result with text for errno mysql-test/suite/rpl/r/rpl_EE_err.result: Updated result with text for errno mysql-test/suite/rpl/r/rpl_binlog_errors.result: Updated result with text for errno mysql-test/suite/rpl/r/rpl_drop_db.result: Updated result with text for errno mysys/errors.c: Updated error messages to use %M Changed all errors to use Errcode: consistenly mysys/my_handler_errors.h: Updated handler errors to 5.6 error numbers sql/share/errmsg-utf8.txt: Updated error messages to use %M sql/sys_vars.cc: Added error number to ER_EVENT_SET_VAR_ERROR strings/my_vsnprintf.c: Added %M my_sprintf() modifier that prints error number - system-error-text Simplify code Movied common code to function Removed some casts that was not necessary when reading integer/unsigned int stored in longlong Added my_strerror() unittest/mysys/my_vsnprintf-t.c: Added testing of %M
This commit is contained in:
parent
3f4ef5928e
commit
aa81e025a8
@ -714,12 +714,12 @@ static ha_checksum checksum_format_specifier(const char* msg)
|
||||
}
|
||||
else if (start)
|
||||
{
|
||||
switch(*p)
|
||||
{
|
||||
switch(*p) {
|
||||
case 'd':
|
||||
case 'u':
|
||||
case 'x':
|
||||
case 's':
|
||||
case 'M':
|
||||
chksum= my_checksum(chksum, (uchar*) start, (uint) (p + 1 - start));
|
||||
start= 0; /* Not in format specifier anymore */
|
||||
break;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
reserved
|
||||
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates.
|
||||
Copyright (c) 1995, 2012 Monty Program Ab
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -456,13 +456,15 @@ enum ha_base_keytype {
|
||||
#define HA_ERR_FILE_TOO_SHORT 175 /* File too short */
|
||||
#define HA_ERR_WRONG_CRC 176 /* Wrong CRC on page */
|
||||
#define HA_ERR_TOO_MANY_CONCURRENT_TRXS 177 /*Too many active concurrent transactions */
|
||||
#define HA_ERR_INDEX_COL_TOO_LONG 178 /* Index column length exceeds limit */
|
||||
#define HA_ERR_INDEX_CORRUPT 179 /* Index corrupted */
|
||||
#define HA_ERR_UNDO_REC_TOO_BIG 180 /* Undo log record too big */
|
||||
#define HA_ERR_ROW_NOT_VISIBLE 181
|
||||
#define HA_ERR_ABORTED_BY_USER 182
|
||||
#define HA_ERR_DISK_FULL 183
|
||||
#define HA_ERR_LAST 183 /* Copy of last error nr */
|
||||
#define HA_ERR_NOT_IN_LOCK_PARTITIONS 178
|
||||
#define HA_ERR_INDEX_COL_TOO_LONG 179 /* Index column length exceeds limit */
|
||||
#define HA_ERR_INDEX_CORRUPT 180 /* Index corrupted */
|
||||
#define HA_ERR_UNDO_REC_TOO_BIG 181 /* Undo log record too big */
|
||||
#define HA_FTS_INVALID_DOCID 182 /* Invalid InnoDB Doc ID */
|
||||
#define HA_ERR_ROW_NOT_VISIBLE 183
|
||||
#define HA_ERR_ABORTED_BY_USER 184
|
||||
#define HA_ERR_DISK_FULL 185
|
||||
#define HA_ERR_LAST 185 /* Copy of last error nr */
|
||||
|
||||
/* Number of different errors */
|
||||
#define HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1)
|
||||
|
@ -52,6 +52,7 @@ typedef struct my_aio_result {
|
||||
area, and we would like to avoid unexpected truncation.
|
||||
*/
|
||||
#define MYSYS_ERRMSG_SIZE (512)
|
||||
#define MYSYS_STRERROR_SIZE (128)
|
||||
|
||||
#define MY_FILE_ERROR ((size_t) -1)
|
||||
|
||||
@ -627,6 +628,7 @@ extern FILE *my_fdopen(File Filedes,const char *name, int Flags,myf MyFlags);
|
||||
extern FILE *my_freopen(const char *path, const char *mode, FILE *stream);
|
||||
extern int my_fclose(FILE *fd,myf MyFlags);
|
||||
extern int my_vfprintf(FILE *stream, const char* format, va_list args);
|
||||
extern void my_strerror(char *buf, size_t len, int nr);
|
||||
extern File my_fileno(FILE *fd);
|
||||
extern int my_chsize(File fd,my_off_t newlength, int filler, myf MyFlags);
|
||||
extern int my_chmod(const char *name, mode_t mode, myf my_flags);
|
||||
|
@ -27,9 +27,9 @@ const char *client_errors[]=
|
||||
{
|
||||
"Unknown MySQL error",
|
||||
"Can't create UNIX socket (%d)",
|
||||
"Can't connect to local MySQL server through socket '%-.100s' (%d)",
|
||||
"Can't connect to MySQL server on '%-.100s' (%d)",
|
||||
"Can't create TCP/IP socket (%d)",
|
||||
"Can't connect to local MySQL server through socket '%-.100s' (%M)",
|
||||
"Can't connect to MySQL server on '%-.100s' (%M)",
|
||||
"Can't create TCP/IP socket (%M)",
|
||||
"Unknown MySQL server host '%-.100s' (%d)",
|
||||
"MySQL server has gone away",
|
||||
"Protocol mismatch; server version = %d, client version = %d",
|
||||
@ -80,7 +80,7 @@ const char *client_errors[]=
|
||||
"Prepared statement contains no metadata",
|
||||
"Attempt to read a row while there is no result set associated with the statement",
|
||||
"This feature is not implemented yet",
|
||||
"Lost connection to MySQL server at '%s', system error: %d",
|
||||
"Lost connection to MySQL server at '%s', system error: %M",
|
||||
"Statement closed indirectly because of a preceeding %s() call",
|
||||
"The number of columns in the result set differs from the number of bound buffers. You must reset the statement, rebind the result set columns, and execute the statement again",
|
||||
"This handle is already connected. Use a separate handle for each connection.",
|
||||
|
@ -24,7 +24,7 @@ select count(*),b from t1;
|
||||
ERROR 42S22: Unknown column 'b' in 'field list'
|
||||
drop table t1;
|
||||
create table t1 (a int(256));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 255)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 255)
|
||||
set sql_mode='traditional';
|
||||
create table t1 (a varchar(66000));
|
||||
ERROR 42000: Column length too big for column 'a' (max = 65535); use BLOB or TEXT instead
|
||||
|
@ -18,10 +18,10 @@ SET DEBUG_SYNC='now SIGNAL table_altered';
|
||||
# Complete optimization
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
|
||||
test.t1 optimize error Got error -1 from storage engine
|
||||
test.t1 optimize error Got error -1 - Internal error < 0 (Not system error) from storage engine
|
||||
test.t1 optimize status Operation failed
|
||||
Warnings:
|
||||
Error 1030 Got error -1 from storage engine
|
||||
Error 1030 Got error -1 - Internal error < 0 (Not system error) from storage engine
|
||||
DROP TABLE t1;
|
||||
SET DEBUG_SYNC='RESET';
|
||||
#
|
||||
|
@ -2,7 +2,7 @@ drop table if exists t1,t2;
|
||||
create table t1 (a int) engine=myisam;
|
||||
drop table if exists t1;
|
||||
Warnings:
|
||||
Warning 2 Can't find file: 't1' (errno: 2)
|
||||
Warning 2 Can't find file: 't1' (errno: 2 - No such file or directory)
|
||||
create table t1 (a int) engine=myisam;
|
||||
drop table t1;
|
||||
Got one of the listed errors
|
||||
|
@ -1697,7 +1697,7 @@ t1 CREATE TABLE `t1` (
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 (v varchar(65535));
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
|
||||
set storage_engine=MyISAM;
|
||||
set @save_concurrent_insert=@@concurrent_insert;
|
||||
set global concurrent_insert=1;
|
||||
|
@ -113,7 +113,7 @@ ERROR 42S02: Table 'test.t3' doesn't exist
|
||||
# ===== myisampack.4 =====
|
||||
#Tests the myisampack join operation with an existing destination .frm,.MYI,.MDI
|
||||
#the command should fail with exit status 2
|
||||
myisampack: Can't create/write to file (Errcode: 17)
|
||||
myisampack: Can't create/write to file (Errcode: 17 - File exists)
|
||||
Aborted: file is not compressed
|
||||
DROP TABLE t1,t2,t3;
|
||||
DROP TABLE mysql_db1.t1;
|
||||
|
@ -170,14 +170,14 @@ ERROR 1049 (42000) at line 1: Unknown database 'invalid'
|
||||
ERROR 1049 (42000) at line 1: Unknown database 'invalid'
|
||||
Test connect with dbname + hostname
|
||||
Test connect with dbname + _invalid_ hostname
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errno)
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errno)
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (-2)
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (-2)
|
||||
The commands reported in the bug report
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyril has found a bug :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyril has found a bug :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (-2)
|
||||
Too long dbname
|
||||
ERROR 1102 (42000) at line 1: Incorrect database name 'test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||
Too long hostname
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (-2)
|
||||
1
|
||||
1
|
||||
ERROR at line 1: DELIMITER cannot contain a backslash character
|
||||
@ -206,7 +206,7 @@ COUNT (*)
|
||||
1
|
||||
COUNT (*)
|
||||
1
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errno)
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (-2)
|
||||
End of 5.0 tests
|
||||
WARNING: --server-arg option not supported in this configuration.
|
||||
*************************** 1. row ***************************
|
||||
|
@ -110,7 +110,7 @@ OK
|
||||
DROP USER mysqltest1@'%';
|
||||
Run mysql_upgrade with a non existing server socket
|
||||
Phase 1/3: Fixing table and database names
|
||||
mysqlcheck: Got error: 2005: Unknown MySQL server host 'not_existing_host' (errno) when trying to connect
|
||||
mysqlcheck: Got error: 2005: Unknown MySQL server host 'not_existing_host' (-2) when trying to connect
|
||||
FATAL ERROR: Upgrade failed
|
||||
set GLOBAL sql_mode='STRICT_ALL_TABLES,ANSI_QUOTES,NO_ZERO_DATE';
|
||||
Phase 1/3: Fixing table and database names
|
||||
|
@ -315,11 +315,11 @@ drop table t1;
|
||||
create table t1 (a varchar(3070)) partition by key (a);
|
||||
ERROR HY000: The total length of the partitioning fields is too large
|
||||
create table t1 (a varchar(65533)) partition by key (a);
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
|
||||
create table t1 (a varchar(65534) not null) partition by key (a);
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
|
||||
create table t1 (a varchar(65535)) partition by key (a);
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
|
||||
create table t1 (a bit(27), primary key (a)) engine=myisam
|
||||
partition by hash (a)
|
||||
(partition p0, partition p1, partition p2);
|
||||
|
@ -67,7 +67,7 @@ LOCK TABLE t1 WRITE;
|
||||
# ALTER fails because COMPRESSED/KEY_BLOCK_SIZE
|
||||
# are incompatible with innodb_file_per_table = OFF;
|
||||
ALTER TABLE t1 ADD PARTITION PARTITIONS 1;
|
||||
ERROR HY000: Got error 1478 from storage engine
|
||||
ERROR HY000: Got error 1478 - Unknown error 1478 from storage engine
|
||||
t1#P#p0.ibd
|
||||
t1.frm
|
||||
t1.par
|
||||
|
@ -533,7 +533,7 @@ drop table t2;
|
||||
prepare stmt1 from ' rename table t5 to t6, t7 to t8 ' ;
|
||||
create table t5 (a int) ;
|
||||
execute stmt1 ;
|
||||
ERROR HY000: Can't find file: './test/t7' (errno: 2)
|
||||
ERROR HY000: Can't find file: './test/t7' (errno: 2 - No such file or directory)
|
||||
create table t7 (a int) ;
|
||||
execute stmt1 ;
|
||||
execute stmt1 ;
|
||||
|
@ -967,7 +967,7 @@ trigger_schema trigger_name event_object_schema event_object_table action_statem
|
||||
test t1_bi test t1 set @a:=new.id
|
||||
test t1_ai test t1 set @b:=new.id
|
||||
rename table t1 to t2;
|
||||
ERROR HY000: Can't create/write to file './test/t1_ai.TRN~' (Errcode: 13)
|
||||
ERROR HY000: Can't create/write to file './test/t1_ai.TRN~' (Errcode: 13 - Permission denied)
|
||||
insert into t1 values (102);
|
||||
select @a, @b;
|
||||
@a @b
|
||||
|
@ -36,7 +36,7 @@ select 0 + b'1000000000000001';
|
||||
32769
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (a bit(65));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 64)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 64)
|
||||
create table t1 (a bit(0));
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
|
@ -36,7 +36,7 @@ select 0 + b'1000000000000001';
|
||||
32769
|
||||
drop table if exists t1;
|
||||
create table t1 (a bit(65)) engine=innodb;
|
||||
ERROR 42000: Display width out of range for 'a' (max = 64)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 64)
|
||||
create table t1 (a bit(0)) engine=innodb;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
|
@ -833,7 +833,7 @@ drop table b15776;
|
||||
create table b15776 (data blob(4294967295));
|
||||
drop table b15776;
|
||||
create table b15776 (data blob(4294967296));
|
||||
ERROR 42000: Display width out of range for 'data' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column 'data' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a blob(2147483647), b blob(2147483648), c blob(4294967295), a1 text(2147483647), b1 text(2147483648), c1 text(4294967295) );
|
||||
show columns from b15776;
|
||||
Field Type Null Key Default Extra
|
||||
@ -845,13 +845,13 @@ b1 longtext YES NULL
|
||||
c1 longtext YES NULL
|
||||
drop table b15776;
|
||||
CREATE TABLE b15776 (a blob(4294967296));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a text(4294967296));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a blob(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a text(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a int(0));
|
||||
INSERT INTO b15776 values (NULL), (1), (42), (654);
|
||||
SELECT * from b15776 ORDER BY a;
|
||||
@ -866,7 +866,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
|
||||
CREATE TABLE b15776 (a int(255));
|
||||
DROP TABLE b15776;
|
||||
CREATE TABLE b15776 (a int(256));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 255)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 255)
|
||||
CREATE TABLE b15776 (data blob(-1));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1))' at line 1
|
||||
CREATE TABLE b15776 (a char(2147483647));
|
||||
@ -876,7 +876,7 @@ ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB or TEXT
|
||||
CREATE TABLE b15776 (a char(4294967295));
|
||||
ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB or TEXT instead
|
||||
CREATE TABLE b15776 (a char(4294967296));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a year(4294967295));
|
||||
INSERT INTO b15776 VALUES (42);
|
||||
SELECT * FROM b15776;
|
||||
@ -884,7 +884,7 @@ a
|
||||
2042
|
||||
DROP TABLE b15776;
|
||||
CREATE TABLE b15776 (a year(4294967296));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a year(0));
|
||||
DROP TABLE b15776;
|
||||
CREATE TABLE b15776 (a year(-2));
|
||||
@ -894,17 +894,17 @@ ERROR 42000: Too big precision 4294967294 specified for 'a'. Maximum is 6.
|
||||
CREATE TABLE b15776 (a timestamp(4294967295));
|
||||
ERROR 42000: Too big precision 4294967295 specified for 'a'. Maximum is 6.
|
||||
CREATE TABLE b15776 (a timestamp(4294967296));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a timestamp(-1));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1))' at line 1
|
||||
CREATE TABLE b15776 (a timestamp(-2));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-2))' at line 1
|
||||
CREATE TABLE b15776 (a int(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a year(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for 'a' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 select cast(null as char(4294967295));
|
||||
show columns from b15776;
|
||||
Field Type Null Key Default Extra
|
||||
@ -930,11 +930,11 @@ explain select cast(1 as binary(4294967295));
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
explain select cast(1 as char(4294967296));
|
||||
ERROR 42000: Display width out of range for '1' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column '1' (max = 4294967295)
|
||||
explain select cast(1 as nchar(4294967296));
|
||||
ERROR 42000: Display width out of range for '1' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column '1' (max = 4294967295)
|
||||
explain select cast(1 as binary(4294967296));
|
||||
ERROR 42000: Display width out of range for '1' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column '1' (max = 4294967295)
|
||||
explain select cast(1 as decimal(-1));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1))' at line 1
|
||||
explain select cast(1 as decimal(64, 30));
|
||||
@ -950,23 +950,23 @@ explain select convert(1, char(4294967295));
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
explain select convert(1, char(4294967296));
|
||||
ERROR 42000: Display width out of range for '1' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column '1' (max = 4294967295)
|
||||
explain select convert(1, char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for '1' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column '1' (max = 4294967295)
|
||||
explain select convert(1, nchar(4294967295));
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
explain select convert(1, nchar(4294967296));
|
||||
ERROR 42000: Display width out of range for '1' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column '1' (max = 4294967295)
|
||||
explain select convert(1, nchar(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for '1' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column '1' (max = 4294967295)
|
||||
explain select convert(1, binary(4294967295));
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
explain select convert(1, binary(4294967296));
|
||||
ERROR 42000: Display width out of range for '1' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column '1' (max = 4294967295)
|
||||
explain select convert(1, binary(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for '1' (max = 4294967295)
|
||||
ERROR 42000: Display width out of range for column '1' (max = 4294967295)
|
||||
End of 5.0 tests
|
||||
CREATE TABLE t1(id INT NOT NULL);
|
||||
CREATE TABLE t2(id INT NOT NULL, c TEXT NOT NULL);
|
||||
|
@ -12754,7 +12754,7 @@ DROP TABLE t1;
|
||||
CREATE TABLE t1(a INT) ENGINE=ARCHIVE;
|
||||
FLUSH TABLE t1;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Can't find file: 't1' (errno: 2)
|
||||
ERROR HY000: Can't find file: 't1' (errno: 2 - No such file or directory)
|
||||
DROP TABLE t1;
|
||||
ERROR 42S02: Unknown table 't1'
|
||||
#
|
||||
|
@ -134,7 +134,7 @@ master-bin.000011
|
||||
# fault_injection_registering_index
|
||||
SET SESSION debug_dbug="+d,fault_injection_registering_index";
|
||||
flush logs;
|
||||
ERROR HY000: Can't open file: 'master-bin.000012' (errno: 1)
|
||||
ERROR HY000: Can't open file: 'master-bin.000012' (errno: 1 - Operation not permitted)
|
||||
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
|
||||
SELECT @index;
|
||||
@index
|
||||
@ -159,7 +159,7 @@ master-bin.000012
|
||||
# fault_injection_updating_index
|
||||
SET SESSION debug_dbug="+d,fault_injection_updating_index";
|
||||
flush logs;
|
||||
ERROR HY000: Can't open file: 'master-bin.000013' (errno: 1)
|
||||
ERROR HY000: Can't open file: 'master-bin.000013' (errno: 1 - Operation not permitted)
|
||||
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
|
||||
SELECT @index;
|
||||
@index
|
||||
|
@ -4,9 +4,9 @@ CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb;
|
||||
INSERT INTO t1 VALUES(0);
|
||||
SET SESSION debug_dbug='+d,fail_binlog_write_1';
|
||||
INSERT INTO t1 VALUES(1);
|
||||
ERROR HY000: Error writing file 'master-bin' (errno: 28)
|
||||
ERROR HY000: Error writing file 'master-bin' (errno: 28 - No space left on device)
|
||||
INSERT INTO t1 VALUES(2);
|
||||
ERROR HY000: Error writing file 'master-bin' (errno: 28)
|
||||
ERROR HY000: Error writing file 'master-bin' (errno: 28 - No space left on device)
|
||||
SET SESSION debug_dbug='';
|
||||
INSERT INTO t1 VALUES(3);
|
||||
SELECT * FROM t1;
|
||||
|
@ -5197,7 +5197,7 @@ drop table t1;
|
||||
create table bug15205 (val int(11) not null) engine=csv;
|
||||
create table bug15205_2 (val int(11) not null) engine=csv;
|
||||
select * from bug15205;
|
||||
ERROR HY000: Can't get stat of './test/bug15205.CSV' (Errcode: 2)
|
||||
ERROR HY000: Can't get stat of './test/bug15205.CSV' (Errcode: 2 - No such file or directory)
|
||||
select * from bug15205_2;
|
||||
val
|
||||
select * from bug15205;
|
||||
@ -5379,7 +5379,7 @@ ERROR 42000: The storage engine for the table doesn't support nullable columns
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Error 1178 The storage engine for the table doesn't support nullable columns
|
||||
Error 1005 Can't create table 'test.t1' (errno: 138)
|
||||
Error 1005 Can't create table 'test.t1' (errno: 138 - Unsupported extension used for table)
|
||||
create table t1 (c1 tinyblob not null) engine=csv;
|
||||
insert into t1 values("This");
|
||||
update t1 set c1="That" where c1="This";
|
||||
@ -5392,7 +5392,7 @@ drop table t1;
|
||||
create table t1 (a int not null) engine=csv;
|
||||
lock tables t1 read;
|
||||
select * from t1;
|
||||
ERROR HY000: File 'MYSQLD_DATADIR/test/t1.CSV' not found (Errcode: 2)
|
||||
ERROR HY000: File 'MYSQLD_DATADIR/test/t1.CSV' not found (Errcode: 2 - No such file or directory)
|
||||
unlock tables;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (e enum('foo','bar') NOT NULL) ENGINE = CSV;
|
||||
|
@ -24,12 +24,12 @@ CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
|
||||
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, TABLE_COMMENT
|
||||
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
|
||||
TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE ROW_FORMAT TABLE_ROWS DATA_LENGTH TABLE_COMMENT
|
||||
test t1 BASE TABLE NULL NULL NULL NULL Can't find file: 't1' (errno: 2)
|
||||
test t1 BASE TABLE NULL NULL NULL NULL Can't find file: 't1' (errno: 2 - No such file or directory)
|
||||
Warnings:
|
||||
Warning 1017 Can't find file: 't1' (errno: 2)
|
||||
Warning 1017 Can't find file: 't1' (errno: 2 - No such file or directory)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1017 Can't find file: 't1' (errno: 2)
|
||||
Warning 1017 Can't find file: 't1' (errno: 2 - No such file or directory)
|
||||
DROP TABLE t1;
|
||||
ERROR 42S02: Unknown table 't1'
|
||||
#
|
||||
|
@ -46,11 +46,11 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
|
||||
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
||||
t1 Compact
|
||||
ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=0;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: invalid ROW_FORMAT specifier.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
|
||||
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
||||
t1 Compact
|
||||
@ -104,29 +104,29 @@ t1 Compressed key_block_size=16
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 ( i INT );
|
||||
ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=1;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: invalid ROW_FORMAT specifier.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=2;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=8;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
@ -146,11 +146,11 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
|
||||
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
||||
t1 Compact row_format=COMPACT
|
||||
ALTER TABLE t1 KEY_BLOCK_SIZE=2;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
@ -158,11 +158,11 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
|
||||
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
||||
t1 Redundant row_format=REDUNDANT
|
||||
ALTER TABLE t1 KEY_BLOCK_SIZE=4;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
@ -170,11 +170,11 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
|
||||
TABLE_NAME ROW_FORMAT CREATE_OPTIONS
|
||||
t1 Dynamic row_format=DYNAMIC
|
||||
ALTER TABLE t1 KEY_BLOCK_SIZE=8;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
@ -212,23 +212,23 @@ t1 CREATE TABLE `t1` (
|
||||
`f1` int(11) DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=2
|
||||
ALTER TABLE t1 ROW_FORMAT=COMPACT;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
@ -298,34 +298,34 @@ CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
ALTER TABLE t1 KEY_BLOCK_SIZE=8;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SET GLOBAL innodb_file_format=Barracuda;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
SET GLOBAL innodb_file_format=Antelope;
|
||||
ALTER TABLE t1 ADD COLUMN f1 INT;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
|
||||
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
@ -352,11 +352,11 @@ Level Code Message
|
||||
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
|
||||
Error 1005 Can't create table 'test.t1' (errno: 1478)
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 1478)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
|
||||
Error 1005 Can't create table 'test.t1' (errno: 1478)
|
||||
Error 1005 Can't create table 'test.t1' (errno: 1478 - Unknown error 1478)
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
@ -375,23 +375,23 @@ CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
ALTER TABLE t1 KEY_BLOCK_SIZE=1;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=COMPACT;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
@ -415,12 +415,12 @@ DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
|
||||
SET GLOBAL innodb_file_per_table=OFF;
|
||||
ALTER TABLE t1 ADD COLUMN f1 INT;
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
|
||||
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478)
|
||||
Error 1005 Can't create table '#sql-temporary' (errno: 1478 - Unknown error 1478)
|
||||
ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
|
@ -545,7 +545,7 @@ t4 CREATE TABLE `t4` (
|
||||
CONSTRAINT `dc` FOREIGN KEY (`a`) REFERENCES `t1` (`a`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
alter table t3 add constraint dc foreign key (a) references t1(a);
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 121)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 121 - Duplicate key on write or update)
|
||||
show create table t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
@ -578,7 +578,7 @@ ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fail
|
||||
drop index dc on t4;
|
||||
ERROR 42000: Can't DROP 'dc'; check that column/key exists
|
||||
alter table t3 drop foreign key dc;
|
||||
ERROR HY000: Error on rename of './test/t3' to '#sql2-temporary' (errno: 152)
|
||||
ERROR HY000: Error on rename of './test/t3' to '#sql2-temporary' (errno: 152 - Cannot delete a parent row)
|
||||
alter table t4 drop foreign key dc;
|
||||
select * from t2;
|
||||
a b c d e
|
||||
@ -1146,17 +1146,17 @@ PRIMARY KEY (c1)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
|
||||
FOREIGN KEY (c3,c2) REFERENCES t1(c1,c1);
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
|
||||
FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2);
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
|
||||
FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1);
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
ALTER TABLE t1 MODIFY COLUMN c2 BIGINT(12) NOT NULL;
|
||||
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
|
||||
FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2);
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 150)
|
||||
ERROR HY000: Can't create table '#sql-temporary' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
|
||||
FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1);
|
||||
SHOW CREATE TABLE t1;
|
||||
|
@ -126,12 +126,12 @@ CREATE TABLE t1(
|
||||
c TEXT NOT NULL, d TEXT NOT NULL,
|
||||
PRIMARY KEY (c(767),d(767)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
|
||||
CREATE TABLE t1(
|
||||
c TEXT NOT NULL, d TEXT NOT NULL,
|
||||
PRIMARY KEY (c(767),d(767)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 CHARSET=ASCII;
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
|
||||
CREATE TABLE t1(
|
||||
c TEXT NOT NULL, d TEXT NOT NULL,
|
||||
PRIMARY KEY (c(767),d(767)))
|
||||
@ -139,7 +139,7 @@ ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4 CHARSET=ASCII;
|
||||
drop table t1;
|
||||
CREATE TABLE t1(c TEXT, PRIMARY KEY (c(440)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
|
||||
CREATE TABLE t1(c TEXT, PRIMARY KEY (c(438)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
||||
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
|
||||
|
@ -2523,13 +2523,13 @@ drop table t1;
|
||||
set foreign_key_checks=0;
|
||||
create table t2 (a int primary key, b int, foreign key (b) references t1(a)) engine = innodb;
|
||||
create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 150)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
set foreign_key_checks=1;
|
||||
drop table t2;
|
||||
set foreign_key_checks=0;
|
||||
create table t1(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=latin1;
|
||||
create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=utf8;
|
||||
ERROR HY000: Can't create table 'test.t2' (errno: 150)
|
||||
ERROR HY000: Can't create table 'test.t2' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
set foreign_key_checks=1;
|
||||
drop table t1;
|
||||
set foreign_key_checks=0;
|
||||
@ -2549,7 +2549,7 @@ set foreign_key_checks=0;
|
||||
create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=latin1;
|
||||
create table t3(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=utf8;
|
||||
rename table t3 to t1;
|
||||
ERROR HY000: Error on rename of './test/t3' to './test/t1' (errno: 150)
|
||||
ERROR HY000: Error on rename of './test/t3' to './test/t1' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
set foreign_key_checks=1;
|
||||
drop table t2,t3;
|
||||
create table t1(a int primary key) row_format=redundant engine=innodb;
|
||||
@ -2976,7 +2976,7 @@ INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t2 VALUES (1);
|
||||
ALTER TABLE t2 ADD FOREIGN KEY (a) REFERENCES t1 (a) ON DELETE SET NULL;
|
||||
ALTER TABLE t2 MODIFY a INT NOT NULL;
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t2' (errno: 150)
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t2' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t2,t1;
|
||||
CREATE TABLE t1 (a VARCHAR(5) COLLATE utf8_unicode_ci PRIMARY KEY)
|
||||
@ -3024,7 +3024,7 @@ c21 CHAR(255), c22 CHAR(255), c23 CHAR(255), c24 CHAR(255),
|
||||
c25 CHAR(255), c26 CHAR(255), c27 CHAR(255), c28 CHAR(255),
|
||||
c29 CHAR(255), c30 CHAR(255), c31 CHAR(255), c32 CHAR(255)
|
||||
) ENGINE = InnoDB;
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
|
||||
DROP TABLE IF EXISTS t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
|
@ -22,7 +22,7 @@ INSERT INTO t3 VALUES (1,1,1),(2,2,2),(3,3,3);
|
||||
# Test renaming the column in the referenced table.
|
||||
|
||||
ALTER TABLE t1 CHANGE a c INT;
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t1' (errno: 150)
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t1' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
# Ensure that online column rename works.
|
||||
ALTER TABLE t1 CHANGE b c INT;
|
||||
affected rows: 3
|
||||
@ -31,7 +31,7 @@ info: Records: 3 Duplicates: 0 Warnings: 0
|
||||
# Test renaming the column in the referencing table
|
||||
|
||||
ALTER TABLE t2 CHANGE a c INT;
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t2' (errno: 150)
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t2' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
# Ensure that online column rename works.
|
||||
ALTER TABLE t2 CHANGE b c INT;
|
||||
affected rows: 3
|
||||
@ -40,9 +40,9 @@ info: Records: 3 Duplicates: 0 Warnings: 0
|
||||
# Test with self-referential constraints
|
||||
|
||||
ALTER TABLE t3 CHANGE a d INT;
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t3' (errno: 150)
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t3' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
ALTER TABLE t3 CHANGE b d INT;
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t3' (errno: 150)
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t3' (errno: 150 - Foreign key constraint is incorrectly formed)
|
||||
# Ensure that online column rename works.
|
||||
ALTER TABLE t3 CHANGE c d INT;
|
||||
affected rows: 3
|
||||
|
@ -6,7 +6,7 @@ show warnings;
|
||||
Level Code Message
|
||||
Warning 1280 Cannot Create Index with name 'GEN_CLUST_INDEX'. The name is reserved for the system default primary index.
|
||||
Error 1280 Incorrect index name 'GEN_CLUST_INDEX'
|
||||
Error 1005 Can't create table 'test.bug46000' (errno: -1)
|
||||
Error 1005 Can't create table 'test.bug46000' (errno: -1 - Internal error < 0 (Not system error))
|
||||
create table bug46000(id int) engine=innodb;
|
||||
create index GEN_CLUST_INDEX on bug46000(id);
|
||||
ERROR 42000: Incorrect index name 'GEN_CLUST_INDEX'
|
||||
|
@ -8,7 +8,7 @@ ERROR HY000: Too big row
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Error 139 Too big row
|
||||
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
|
||||
DROP TABLE bug53591;
|
||||
SET GLOBAL innodb_file_format=Antelope;
|
||||
SET GLOBAL innodb_file_per_table=0;
|
||||
|
@ -45,8 +45,8 @@ select z from corrupt_bit_test_ā;
|
||||
ERROR HY000: Index corrupt_bit_test_ā is corrupted
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Warning 179 InnoDB: Index "idxē" for table "test"."corrupt_bit_test_ā" is marked as corrupted
|
||||
Warning 179 Got error 179 when reading table `test`.`corrupt_bit_test_ā`
|
||||
Warning 180 InnoDB: Index "idxē" for table "test"."corrupt_bit_test_ā" is marked as corrupted
|
||||
Warning 180 Got error 180 when reading table `test`.`corrupt_bit_test_ā`
|
||||
Error 1712 Index corrupt_bit_test_ā is corrupted
|
||||
insert into corrupt_bit_test_ā values (10001, "a", 20001, 20001);
|
||||
select * from corrupt_bit_test_ā use index(primary) where a = 10001;
|
||||
|
@ -649,7 +649,7 @@ CREATE TABLE worklog5743 (col_1_varchar VARCHAR (4000) CHARACTER SET 'utf8',
|
||||
col_2_varchar VARCHAR (4000) CHARACTER SET 'utf8' ,
|
||||
PRIMARY KEY (col_1_varchar(1024))
|
||||
) ROW_FORMAT=DYNAMIC, engine = innodb;
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
|
||||
CREATE TABLE worklog5743 (
|
||||
col_1_varbinary VARBINARY (4000) ,
|
||||
col_2_varchar VARCHAR (4000) CHARACTER SET 'utf8',
|
||||
|
@ -76,8 +76,10 @@ SET SESSION innodb_strict_mode = ON;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--echo # 'FIXED' is sent to InnoDB since it is used by MyISAM.
|
||||
--echo # But it is an invalid mode in InnoDB
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=FIXED;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
SHOW WARNINGS;
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=0;
|
||||
SHOW WARNINGS;
|
||||
@ -106,14 +108,20 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
|
||||
--echo # Test 2) StrictMode=ON, CREATE with each ROW_FORMAT & a valid non-zero KEY_BLOCK_SIZE
|
||||
--echo # KEY_BLOCK_SIZE is incompatible with COMPACT, REDUNDANT, & DYNAMIC
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=1;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
SHOW WARNINGS;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=2;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
SHOW WARNINGS;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
SHOW WARNINGS;
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
||||
SHOW WARNINGS;
|
||||
@ -232,8 +240,10 @@ SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE
|
||||
|
||||
--echo # Test 6) StrictMode=ON, CREATE with an invalid KEY_BLOCK_SIZE.
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=9;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
SHOW WARNINGS;
|
||||
|
||||
--echo # Test 7) StrictMode=ON, Make sure ROW_FORMAT= COMPRESSED & DYNAMIC and
|
||||
@ -241,14 +251,20 @@ SHOW WARNINGS;
|
||||
--echo # and that they can be set to default values during strict mode.
|
||||
SET GLOBAL innodb_file_format=Antelope;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=4;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
SHOW WARNINGS;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
SHOW WARNINGS;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
SHOW WARNINGS;
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT;
|
||||
SHOW WARNINGS;
|
||||
@ -296,11 +312,15 @@ SET GLOBAL innodb_file_format=Barracuda;
|
||||
--echo # values during strict mode.
|
||||
SET GLOBAL innodb_file_per_table=OFF;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=16;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
SHOW WARNINGS;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
SHOW WARNINGS;
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
|
||||
|
@ -177,8 +177,10 @@ set innodb_strict_mode = on;
|
||||
|
||||
create table t1 (id int primary key) engine = innodb key_block_size = 0;
|
||||
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t2 (id int primary key) engine = innodb key_block_size = 9;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
|
||||
|
||||
@ -202,19 +204,25 @@ drop table t1, t3, t4, t5, t6, t7, t8, t9, t10, t11;
|
||||
create table t1 (id int primary key) engine = innodb
|
||||
key_block_size = 8 row_format = compressed;
|
||||
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t2 (id int primary key) engine = innodb
|
||||
key_block_size = 8 row_format = redundant;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t3 (id int primary key) engine = innodb
|
||||
key_block_size = 8 row_format = compact;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t4 (id int primary key) engine = innodb
|
||||
key_block_size = 8 row_format = dynamic;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
|
||||
create table t5 (id int primary key) engine = innodb
|
||||
@ -225,19 +233,25 @@ FROM information_schema.tables WHERE engine='innodb';
|
||||
drop table t1, t5;
|
||||
|
||||
#test multiple errors
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t1 (id int primary key) engine = innodb
|
||||
key_block_size = 9 row_format = redundant;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t2 (id int primary key) engine = innodb
|
||||
key_block_size = 9 row_format = compact;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t2 (id int primary key) engine = innodb
|
||||
key_block_size = 9 row_format = dynamic;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
|
||||
SELECT table_schema, table_name, row_format, data_length, index_length
|
||||
@ -246,26 +260,40 @@ FROM information_schema.tables WHERE engine='innodb';
|
||||
#test valid values with innodb_file_per_table unset
|
||||
set global innodb_file_per_table = off;
|
||||
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t1 (id int primary key) engine = innodb key_block_size = 1;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t2 (id int primary key) engine = innodb key_block_size = 2;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t3 (id int primary key) engine = innodb key_block_size = 4;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t4 (id int primary key) engine = innodb key_block_size = 8;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t5 (id int primary key) engine = innodb key_block_size = 16;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t6 (id int primary key) engine = innodb row_format = compressed;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t7 (id int primary key) engine = innodb row_format = dynamic;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
create table t8 (id int primary key) engine = innodb row_format = compact;
|
||||
create table t9 (id int primary key) engine = innodb row_format = redundant;
|
||||
@ -278,26 +306,40 @@ drop table t8, t9;
|
||||
set global innodb_file_per_table = on;
|
||||
set global innodb_file_format = `0`;
|
||||
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t1 (id int primary key) engine = innodb key_block_size = 1;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t2 (id int primary key) engine = innodb key_block_size = 2;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t3 (id int primary key) engine = innodb key_block_size = 4;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t4 (id int primary key) engine = innodb key_block_size = 8;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t5 (id int primary key) engine = innodb key_block_size = 16;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t6 (id int primary key) engine = innodb row_format = compressed;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table t7 (id int primary key) engine = innodb row_format = dynamic;
|
||||
--replace_regex / - .*[0-9]*)/)/
|
||||
show warnings;
|
||||
create table t8 (id int primary key) engine = innodb row_format = compact;
|
||||
create table t9 (id int primary key) engine = innodb row_format = redundant;
|
||||
|
@ -1,4 +1,4 @@
|
||||
call mtr.add_suppression("File '.*aria_log.000.*' not found \\(Errcode: 2\\)");
|
||||
call mtr.add_suppression("File '.*aria_log.000.*' not found \\(Errcode: 2 .*\\)");
|
||||
call mtr.add_suppression("Table '.\/mysqltest\/t_corrupted1' is crashed, skipping it. Please repair it with aria_chk -r");
|
||||
set global aria_log_file_size=4294959104;
|
||||
drop database if exists mysqltest;
|
||||
|
@ -5,7 +5,7 @@
|
||||
--source include/have_debug.inc
|
||||
--source include/have_maria.inc
|
||||
|
||||
call mtr.add_suppression("File '.*aria_log.000.*' not found \\(Errcode: 2\\)");
|
||||
call mtr.add_suppression("File '.*aria_log.000.*' not found \\(Errcode: 2 .*\\)");
|
||||
call mtr.add_suppression("Table '.\/mysqltest\/t_corrupted1' is crashed, skipping it. Please repair it with aria_chk -r");
|
||||
|
||||
set global aria_log_file_size=4294959104;
|
||||
|
@ -1586,7 +1586,7 @@ t1 CREATE TABLE `t1` (
|
||||
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
|
||||
drop table t1;
|
||||
create table t1 (v varchar(65535));
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
|
||||
set @save_concurrent_insert=@@concurrent_insert;
|
||||
set global concurrent_insert=1;
|
||||
create table t1 (a int) ROW_FORMAT=FIXED;
|
||||
|
@ -1,7 +1,7 @@
|
||||
SET @max_row = 20;
|
||||
drop table if exists t1;
|
||||
create table t1 (a bit(65), primary key (a)) engine='INNODB' partition by key (a);
|
||||
ERROR 42000: Display width out of range for 'a' (max = 64)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 64)
|
||||
create table t1 (a bit(0), primary key (a)) engine='INNODB' partition by key (a);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
|
@ -1,7 +1,7 @@
|
||||
SET @max_row = 20;
|
||||
drop table if exists t1;
|
||||
create table t1 (a bit(65), primary key (a)) engine='MyISAM' partition by key (a);
|
||||
ERROR 42000: Display width out of range for 'a' (max = 64)
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 64)
|
||||
create table t1 (a bit(0), primary key (a)) engine='MyISAM' partition by key (a);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
|
@ -34,7 +34,7 @@ SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
COMMIT;
|
||||
ERROR HY000: Got error 131 during COMMIT
|
||||
ERROR HY000: Got error 131 - Command not supported by database during COMMIT
|
||||
SET innodb_fake_changes=default;
|
||||
DROP TABLE t1;
|
||||
# DDL must result in error
|
||||
@ -43,13 +43,13 @@ SET autocommit=0;
|
||||
SET innodb_fake_changes=1;
|
||||
BEGIN;
|
||||
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
|
||||
ERROR HY000: Can't create table 'test.t2' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t2' (errno: 131 - Command not supported by database)
|
||||
DROP TABLE t1;
|
||||
ERROR 42S02: Unknown table 't1'
|
||||
TRUNCATE TABLE t1;
|
||||
ERROR HY000: Got error 131 during COMMIT
|
||||
ERROR HY000: Got error 131 - Command not supported by database during COMMIT
|
||||
ALTER TABLE t1 ENGINE=MyISAM;
|
||||
ERROR HY000: Got error 131 during COMMIT
|
||||
ERROR HY000: Got error 131 - Command not supported by database during COMMIT
|
||||
ROLLBACK;
|
||||
SET innodb_fake_changes=default;
|
||||
DROP TABLE t1;
|
||||
|
@ -13,8 +13,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'cond_in
|
||||
delete from performance_schema.cond_instances;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'cond_instances'
|
||||
LOCK TABLES performance_schema.cond_instances READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'cond_instances'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.cond_instances WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'cond_instances'
|
||||
UNLOCK TABLES;
|
||||
|
@ -18,8 +18,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
|
||||
delete from performance_schema.events_waits_current;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_current'
|
||||
LOCK TABLES performance_schema.events_waits_current READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_current'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.events_waits_current WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_current'
|
||||
UNLOCK TABLES;
|
||||
|
@ -22,8 +22,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
|
||||
delete from performance_schema.events_waits_history;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_history'
|
||||
LOCK TABLES performance_schema.events_waits_history READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.events_waits_history WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history'
|
||||
UNLOCK TABLES;
|
||||
|
@ -22,8 +22,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
|
||||
delete from performance_schema.events_waits_history_long;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_history_long'
|
||||
LOCK TABLES performance_schema.events_waits_history_long READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history_long'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history_long'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.events_waits_history_long WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history_long'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history_long'
|
||||
UNLOCK TABLES;
|
||||
|
@ -27,8 +27,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
|
||||
delete from performance_schema.events_waits_summary_by_instance;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
|
||||
LOCK TABLES performance_schema.events_waits_summary_by_instance READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.events_waits_summary_by_instance WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
|
||||
UNLOCK TABLES;
|
||||
|
@ -19,8 +19,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
|
||||
delete from performance_schema.events_waits_summary_by_thread_by_event_name;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
|
||||
LOCK TABLES performance_schema.events_waits_summary_by_thread_by_event_name READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.events_waits_summary_by_thread_by_event_name WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
|
||||
UNLOCK TABLES;
|
||||
|
@ -18,8 +18,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_
|
||||
delete from performance_schema.events_waits_summary_global_by_event_name;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
|
||||
LOCK TABLES performance_schema.events_waits_summary_global_by_event_name READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.events_waits_summary_global_by_event_name WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
|
||||
UNLOCK TABLES;
|
||||
|
@ -13,8 +13,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_in
|
||||
delete from performance_schema.file_instances;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_instances'
|
||||
LOCK TABLES performance_schema.file_instances READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'file_instances'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.file_instances WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'file_instances'
|
||||
UNLOCK TABLES;
|
||||
|
@ -18,8 +18,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_su
|
||||
delete from performance_schema.file_summary_by_event_name;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
|
||||
LOCK TABLES performance_schema.file_summary_by_event_name READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.file_summary_by_event_name WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
|
||||
UNLOCK TABLES;
|
||||
|
@ -18,8 +18,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_su
|
||||
delete from performance_schema.file_summary_by_instance;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
|
||||
LOCK TABLES performance_schema.file_summary_by_instance READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.file_summary_by_instance WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
|
||||
UNLOCK TABLES;
|
||||
|
@ -13,8 +13,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'mutex_i
|
||||
delete from performance_schema.mutex_instances;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'mutex_instances'
|
||||
LOCK TABLES performance_schema.mutex_instances READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'mutex_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'mutex_instances'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.mutex_instances WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'mutex_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'mutex_instances'
|
||||
UNLOCK TABLES;
|
||||
|
@ -22,8 +22,8 @@ delete from performance_schema.performance_timers
|
||||
where timer_name='CYCLE';
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'performance_timers'
|
||||
LOCK TABLES performance_schema.performance_timers READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'performance_timers'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'performance_timers'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.performance_timers WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'performance_timers'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'performance_timers'
|
||||
UNLOCK TABLES;
|
||||
|
@ -13,8 +13,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'rwlock_
|
||||
delete from performance_schema.rwlock_instances;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'rwlock_instances'
|
||||
LOCK TABLES performance_schema.rwlock_instances READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'rwlock_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'rwlock_instances'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.rwlock_instances WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'rwlock_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'rwlock_instances'
|
||||
UNLOCK TABLES;
|
||||
|
@ -17,8 +17,8 @@ ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'threads
|
||||
delete from performance_schema.threads;
|
||||
ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'threads'
|
||||
LOCK TABLES performance_schema.threads READ;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'threads'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'threads'
|
||||
UNLOCK TABLES;
|
||||
LOCK TABLES performance_schema.threads WRITE;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'threads'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'threads'
|
||||
UNLOCK TABLES;
|
||||
|
@ -6,9 +6,9 @@ AND EVENT_NAME IN
|
||||
WHERE NAME LIKE "wait/synch/%")
|
||||
LIMIT 1;
|
||||
create table test.t1(a int) engine=performance_schema;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.events_waits_current;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table performance_schema.t1(a int);
|
||||
ERROR 42000: CREATE command denied to user 'root'@'localhost' for table 't1'
|
||||
drop table if exists test.ghost;
|
||||
|
@ -152,13 +152,13 @@ before insert on performance_schema.file_instances
|
||||
for each row begin end;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
|
||||
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.setup_instruments;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.events_waits_current;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.file_instances;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
insert into performance_schema.setup_instruments
|
||||
set name="foo";
|
||||
ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'setup_instruments'
|
||||
@ -179,16 +179,16 @@ unlock tables;
|
||||
lock table performance_schema.setup_instruments write;
|
||||
unlock tables;
|
||||
lock table performance_schema.events_waits_current read;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_current'
|
||||
unlock tables;
|
||||
lock table performance_schema.events_waits_current write;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_current'
|
||||
unlock tables;
|
||||
lock table performance_schema.file_instances read;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'file_instances'
|
||||
unlock tables;
|
||||
lock table performance_schema.file_instances write;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'root'@'localhost' for table 'file_instances'
|
||||
unlock tables;
|
||||
#
|
||||
# WL#4818, NFS2: Can use grants to give normal user access
|
||||
@ -250,13 +250,13 @@ before insert on performance_schema.file_instances
|
||||
for each row begin end;
|
||||
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
|
||||
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.setup_instruments;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.events_waits_current;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.file_instances;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
insert into performance_schema.setup_instruments
|
||||
set name="foo";
|
||||
ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'setup_instruments'
|
||||
@ -277,16 +277,16 @@ unlock tables;
|
||||
lock table performance_schema.setup_instruments write;
|
||||
unlock tables;
|
||||
lock table performance_schema.events_waits_current read;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
|
||||
unlock tables;
|
||||
lock table performance_schema.events_waits_current write;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
|
||||
unlock tables;
|
||||
lock table performance_schema.file_instances read;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
|
||||
unlock tables;
|
||||
lock table performance_schema.file_instances write;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
|
||||
unlock tables;
|
||||
#
|
||||
# WL#4818, NFS2: Can use grants to give normal user access
|
||||
@ -348,13 +348,13 @@ before insert on performance_schema.file_instances
|
||||
for each row begin end;
|
||||
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
|
||||
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.setup_instruments;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.events_waits_current;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.file_instances;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
insert into performance_schema.setup_instruments
|
||||
set name="foo";
|
||||
ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'setup_instruments'
|
||||
@ -375,16 +375,16 @@ unlock tables;
|
||||
lock table performance_schema.setup_instruments write;
|
||||
unlock tables;
|
||||
lock table performance_schema.events_waits_current read;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
|
||||
unlock tables;
|
||||
lock table performance_schema.events_waits_current write;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
|
||||
unlock tables;
|
||||
lock table performance_schema.file_instances read;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
|
||||
unlock tables;
|
||||
lock table performance_schema.file_instances write;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
|
||||
unlock tables;
|
||||
#
|
||||
# WL#4818, NFS2: Can use grants to give normal user access
|
||||
@ -446,13 +446,13 @@ before insert on performance_schema.file_instances
|
||||
for each row begin end;
|
||||
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
|
||||
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.setup_instruments;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.events_waits_current;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
create table test.t1 like performance_schema.file_instances;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131)
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 131 - Command not supported by database)
|
||||
insert into performance_schema.setup_instruments
|
||||
set name="foo";
|
||||
ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'setup_instruments'
|
||||
@ -473,16 +473,16 @@ unlock tables;
|
||||
lock table performance_schema.setup_instruments write;
|
||||
unlock tables;
|
||||
lock table performance_schema.events_waits_current read;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
|
||||
unlock tables;
|
||||
lock table performance_schema.events_waits_current write;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
|
||||
unlock tables;
|
||||
lock table performance_schema.file_instances read;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
|
||||
unlock tables;
|
||||
lock table performance_schema.file_instances write;
|
||||
ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
|
||||
ERROR 42000: SELECT,LOCK TABLES command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
|
||||
unlock tables;
|
||||
#
|
||||
# WL#4818, NFS2: Can use grants to give normal user access
|
||||
|
@ -4,5 +4,5 @@ create table t1 (a int) engine=myisam;
|
||||
flush tables;
|
||||
drop table if exists t1;
|
||||
Warnings:
|
||||
Warning 2 Can't find file: 't1' (errno: 2)
|
||||
Warning 2 Can't find file: 't1' (errno: 2 - No such file or directory)
|
||||
include/rpl_end.inc
|
||||
|
@ -176,7 +176,7 @@ SHOW WARNINGS;
|
||||
Level Code Message
|
||||
SET GLOBAL debug_dbug="+d,fault_injection_registering_index";
|
||||
FLUSH LOGS;
|
||||
ERROR HY000: Can't open file: 'master-bin.000002' (errno: 1)
|
||||
ERROR HY000: Can't open file: 'master-bin.000002' (errno: 1 - Operation not permitted)
|
||||
SET GLOBAL debug_dbug="-d,fault_injection_registering_index";
|
||||
SHOW BINARY LOGS;
|
||||
ERROR HY000: You are not using binary logging
|
||||
@ -190,7 +190,7 @@ DROP TABLE t5;
|
||||
include/rpl_restart_server.inc [server_number=1]
|
||||
SET GLOBAL debug_dbug="+d,fault_injection_openning_index";
|
||||
FLUSH LOGS;
|
||||
ERROR HY000: Can't open file: 'master-bin.index' (errno: 1)
|
||||
ERROR HY000: Can't open file: 'master-bin.index' (errno: 1 - Operation not permitted)
|
||||
SET GLOBAL debug_dbug="-d,fault_injection_openning_index";
|
||||
RESET MASTER;
|
||||
ERROR HY000: Binlog closed, cannot RESET MASTER
|
||||
@ -204,7 +204,7 @@ include/rpl_restart_server.inc [server_number=1]
|
||||
###################### TEST #12
|
||||
SET GLOBAL debug_dbug="+d,fault_injection_new_file_rotate_event";
|
||||
FLUSH LOGS;
|
||||
ERROR HY000: Can't open file: 'master-bin' (errno: 2)
|
||||
ERROR HY000: Can't open file: 'master-bin' (errno: 2 - No such file or directory)
|
||||
SET GLOBAL debug_dbug="-d,fault_injection_new_file_rotate_event";
|
||||
RESET MASTER;
|
||||
ERROR HY000: Binlog closed, cannot RESET MASTER
|
||||
|
@ -8,12 +8,12 @@ select * from mysqltest1.t1 into outfile 'mysqltest1/f1.txt';
|
||||
create table mysqltest1.t2 (n int);
|
||||
create table mysqltest1.t3 (n int);
|
||||
drop database mysqltest1;
|
||||
ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17)
|
||||
ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17 - File exists)
|
||||
use mysqltest1;
|
||||
show tables;
|
||||
Tables_in_mysqltest1
|
||||
drop database mysqltest1;
|
||||
ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17)
|
||||
ERROR HY000: Error dropping database (can't rmdir './mysqltest1/', errno: 17 - File exists)
|
||||
use mysqltest1;
|
||||
show tables;
|
||||
Tables_in_mysqltest1
|
||||
|
113
mysys/errors.c
113
mysys/errors.c
@ -1,5 +1,6 @@
|
||||
/*
|
||||
Copyright (c) 2000, 2010, Oracle and/or its affiliates
|
||||
Copyright (c) 1995, 2012 Monty Program Ab
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -21,41 +22,41 @@
|
||||
|
||||
const char *globerrs[GLOBERRS]=
|
||||
{
|
||||
"Can't create/write to file '%s' (Errcode: %d)",
|
||||
"Error reading file '%s' (Errcode: %d)",
|
||||
"Error writing file '%s' (Errcode: %d)",
|
||||
"Error on close of '%s' (Errcode: %d)",
|
||||
"Can't create/write to file '%s' (Errcode: %M)",
|
||||
"Error reading file '%s' (Errcode: %M)",
|
||||
"Error writing file '%s' (Errcode: %M)",
|
||||
"Error on close of '%s' (Errcode: %M)",
|
||||
"Out of memory (Needed %u bytes)",
|
||||
"Error on delete of '%s' (Errcode: %d)",
|
||||
"Error on rename of '%s' to '%s' (Errcode: %d)",
|
||||
"Error on delete of '%s' (Errcode: %M)",
|
||||
"Error on rename of '%s' to '%s' (Errcode: %M)",
|
||||
"",
|
||||
"Unexpected eof found when reading file '%s' (Errcode: %d)",
|
||||
"Can't lock file (Errcode: %d)",
|
||||
"Can't unlock file (Errcode: %d)",
|
||||
"Can't read dir of '%s' (Errcode: %d)",
|
||||
"Can't get stat of '%s' (Errcode: %d)",
|
||||
"Can't change size of file (Errcode: %d)",
|
||||
"Can't open stream from handle (Errcode: %d)",
|
||||
"Can't get working dirctory (Errcode: %d)",
|
||||
"Can't change dir to '%s' (Errcode: %d)",
|
||||
"Unexpected end-of-file found when reading file '%s' (Errcode: %M)",
|
||||
"Can't lock file (Errcode: %M)",
|
||||
"Can't unlock file (Errcode: %M)",
|
||||
"Can't read dir of '%s' (Errcode: %M)",
|
||||
"Can't get stat of '%s' (Errcode: %M)",
|
||||
"Can't change size of file (Errcode: %M)",
|
||||
"Can't open stream from handle (Errcode: %M)",
|
||||
"Can't get working directory (Errcode: %M)",
|
||||
"Can't change dir to '%s' (Errcode: %M)",
|
||||
"Warning: '%s' had %d links",
|
||||
"Warning: %d files and %d streams is left open\n",
|
||||
"Disk is full writing '%s' (Errcode: %d). Waiting for someone to free space... (Expect up to %d secs delay for server to continue after freeing disk space)",
|
||||
"Can't create directory '%s' (Errcode: %d)",
|
||||
"Disk is full writing '%s' (Errcode: %M). Waiting for someone to free space... (Expect up to %d secs delay for server to continue after freeing disk space)",
|
||||
"Can't create directory '%s' (Errcode: %M)",
|
||||
"Character set '%s' is not a compiled character set and is not specified in the '%s' file",
|
||||
"Out of resources when opening file '%s' (Errcode: %d)",
|
||||
"Can't read value for symlink '%s' (Error %d)",
|
||||
"Can't create symlink '%s' pointing at '%s' (Error %d)",
|
||||
"Error on realpath() on '%s' (Error %d)",
|
||||
"Can't sync file '%s' to disk (Errcode: %d)",
|
||||
"Out of resources when opening file '%s' (Errcode: %M)",
|
||||
"Can't read value for symlink '%s' (Errcode: %M)",
|
||||
"Can't create symlink '%s' pointing at '%s' (Errcode: %M)",
|
||||
"Error on realpath() on '%s' (Errcode: %M)",
|
||||
"Can't sync file '%s' to disk (Errcode: %M)",
|
||||
"Collation '%s' is not a compiled collation and is not specified in the '%s' file",
|
||||
"File '%s' not found (Errcode: %d)",
|
||||
"File '%s' not found (Errcode: %M)",
|
||||
"File '%s' (fileno: %d) was not closed",
|
||||
"Can't change ownership of the file '%s' (Errcode: %d)",
|
||||
"Can't change permissions of the file '%s' (Errcode: %d)",
|
||||
"Can't seek in file '%s' (Errcode: %d)"
|
||||
"Can't change mode for file '%s' to 0x%lx (Error: %d)",
|
||||
"Warning: Can't copy ownership for file '%s' (Error: %d)"
|
||||
"Can't change ownership of the file '%s' (Errcode: %M)",
|
||||
"Can't change permissions of the file '%s' (Errcode: %M)",
|
||||
"Can't seek in file '%s' (Errcode: %M)"
|
||||
"Can't change mode for file '%s' to 0x%lx (Errcode: %M)",
|
||||
"Warning: Can't copy ownership for file '%s' (Errcode: %M)"
|
||||
};
|
||||
|
||||
void init_glob_errs(void)
|
||||
@ -67,40 +68,40 @@ void init_glob_errs(void)
|
||||
|
||||
void init_glob_errs()
|
||||
{
|
||||
EE(EE_CANTCREATEFILE) = "Can't create/write to file '%s' (Errcode: %d)";
|
||||
EE(EE_READ) = "Error reading file '%s' (Errcode: %d)";
|
||||
EE(EE_WRITE) = "Error writing file '%s' (Errcode: %d)";
|
||||
EE(EE_BADCLOSE) = "Error on close of '%'s (Errcode: %d)";
|
||||
EE(EE_CANTCREATEFILE) = "Can't create/write to file '%s' (Errcode: %M)";
|
||||
EE(EE_READ) = "Error reading file '%s' (Errcode: %M)";
|
||||
EE(EE_WRITE) = "Error writing file '%s' (Errcode: %M)";
|
||||
EE(EE_BADCLOSE) = "Error on close of '%'s (Errcode: %M)";
|
||||
EE(EE_OUTOFMEMORY) = "Out of memory (Needed %u bytes)";
|
||||
EE(EE_DELETE) = "Error on delete of '%s' (Errcode: %d)";
|
||||
EE(EE_LINK) = "Error on rename of '%s' to '%s' (Errcode: %d)";
|
||||
EE(EE_EOFERR) = "Unexpected eof found when reading file '%s' (Errcode: %d)";
|
||||
EE(EE_CANTLOCK) = "Can't lock file (Errcode: %d)";
|
||||
EE(EE_CANTUNLOCK) = "Can't unlock file (Errcode: %d)";
|
||||
EE(EE_DIR) = "Can't read dir of '%s' (Errcode: %d)";
|
||||
EE(EE_STAT) = "Can't get stat of '%s' (Errcode: %d)";
|
||||
EE(EE_CANT_CHSIZE) = "Can't change size of file (Errcode: %d)";
|
||||
EE(EE_CANT_OPEN_STREAM)= "Can't open stream from handle (Errcode: %d)";
|
||||
EE(EE_GETWD) = "Can't get working directory (Errcode: %d)";
|
||||
EE(EE_SETWD) = "Can't change dir to '%s' (Errcode: %d)";
|
||||
EE(EE_DELETE) = "Error on delete of '%s' (Errcode: %M)";
|
||||
EE(EE_LINK) = "Error on rename of '%s' to '%s' (Errcode: %M)";
|
||||
EE(EE_EOFERR) = "Unexpected eof found when reading file '%s' (Errcode: %M)";
|
||||
EE(EE_CANTLOCK) = "Can't lock file (Errcode: %M)";
|
||||
EE(EE_CANTUNLOCK) = "Can't unlock file (Errcode: %M)";
|
||||
EE(EE_DIR) = "Can't read dir of '%s' (Errcode: %M)";
|
||||
EE(EE_STAT) = "Can't get stat of '%s' (Errcode: %M)";
|
||||
EE(EE_CANT_CHSIZE) = "Can't change size of file (Errcode: %M)";
|
||||
EE(EE_CANT_OPEN_STREAM)= "Can't open stream from handle (Errcode: %M)";
|
||||
EE(EE_GETWD) = "Can't get working directory (Errcode: %M)";
|
||||
EE(EE_SETWD) = "Can't change dir to '%s' (Errcode: %M)";
|
||||
EE(EE_LINK_WARNING) = "Warning: '%s' had %d links";
|
||||
EE(EE_OPEN_WARNING) = "Warning: %d files and %d streams is left open\n";
|
||||
EE(EE_DISK_FULL) = "Disk is full writing '%s'. Waiting for someone to free space...";
|
||||
EE(EE_CANT_MKDIR) ="Can't create directory '%s' (Errcode: %d)";
|
||||
EE(EE_DISK_FULL) = "Disk is full writing '%s' (Errcode: %M). Waiting for someone to free space... (Expect up to %d secs delay for server to continue after freeing disk space)",
|
||||
EE(EE_CANT_MKDIR) ="Can't create directory '%s' (Errcode: %M)";
|
||||
EE(EE_UNKNOWN_CHARSET)= "Character set '%s' is not a compiled character set and is not specified in the %s file";
|
||||
EE(EE_OUT_OF_FILERESOURCES)="Out of resources when opening file '%s' (Errcode: %d)";
|
||||
EE(EE_CANT_READLINK)= "Can't read value for symlink '%s' (Error %d)";
|
||||
EE(EE_CANT_SYMLINK)= "Can't create symlink '%s' pointing at '%s' (Error %d)";
|
||||
EE(EE_REALPATH)= "Error on realpath() on '%s' (Error %d)";
|
||||
EE(EE_SYNC)= "Can't sync file '%s' to disk (Errcode: %d)";
|
||||
EE(EE_OUT_OF_FILERESOURCES)="Out of resources when opening file '%s' (Errcode: %M)";
|
||||
EE(EE_CANT_READLINK)= "Can't read value for symlink '%s' (Errcode: %M)";
|
||||
EE(EE_CANT_SYMLINK)= "Can't create symlink '%s' pointing at '%s' (Errcode: %M)";
|
||||
EE(EE_REALPATH)= "Error on realpath() on '%s' (Errcode: %M)";
|
||||
EE(EE_SYNC)= "Can't sync file '%s' to disk (Errcode: %M)";
|
||||
EE(EE_UNKNOWN_COLLATION)= "Collation '%s' is not a compiled collation and is not specified in the %s file";
|
||||
EE(EE_FILENOTFOUND) = "File '%s' not found (Errcode: %d)";
|
||||
EE(EE_FILENOTFOUND) = "File '%s' not found (Errcode: %M)";
|
||||
EE(EE_FILE_NOT_CLOSED) = "File '%s' (fileno: %d) was not closed";
|
||||
EE(EE_CHANGE_OWNERSHIP) = "Can't change ownership of the file '%s' (Errcode: %d)";
|
||||
EE(EE_CHANGE_PERMISSIONS) = "Can't change permissions of the file '%s' (Errcode: %d)";
|
||||
EE(EE_CANT_SEEK) = "Can't seek in file '%s' (Errcode: %d)";
|
||||
EE(EE_CANT_CHMOD) = "Can't change mode for file '%s' to 0x%lx (Error: %d)";
|
||||
EE(EE_CANT_COPY_OWNERSHIP)= "Warning: Can't copy ownership for file '%s' (Error: %d)";
|
||||
EE(EE_CHANGE_OWNERSHIP) = "Can't change ownership of the file '%s' (Errcode: %M)";
|
||||
EE(EE_CHANGE_PERMISSIONS) = "Can't change permissions of the file '%s' (Errcode: %M)";
|
||||
EE(EE_CANT_SEEK) = "Can't seek in file '%s' (Errcode: %M)";
|
||||
EE(EE_CANT_CHMOD) = "Can't change mode for file '%s' to 0x%lx (Errcode: %M)";
|
||||
EE(EE_CANT_COPY_OWNERSHIP)= "Warning: Can't copy ownership for file '%s' (Errcode: %M)";
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -81,9 +81,11 @@ static const char *handler_error_messages[]=
|
||||
"File too short; Expected more data in file",
|
||||
"Read page with wrong checksum",
|
||||
"Too many active concurrent transactions",
|
||||
"Record not matching the given partition set",
|
||||
"Index column length exceeds limit",
|
||||
"Index corrupted",
|
||||
"Undo record too big",
|
||||
"Invalid InnoDB FTS Doc ID",
|
||||
"Row is not visible by the current transaction",
|
||||
"Operation was interrupted by end user (probably kill command?)",
|
||||
"Disk full"
|
||||
|
@ -3196,7 +3196,7 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
|
||||
*/
|
||||
DBUG_PRINT("info",("IPV6 getaddrinfo error %d", gai_errno));
|
||||
set_mysql_extended_error(mysql, CR_UNKNOWN_HOST, unknown_sqlstate,
|
||||
ER(CR_UNKNOWN_HOST), host, errno);
|
||||
ER(CR_UNKNOWN_HOST), host, gai_errno);
|
||||
|
||||
goto error;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -687,7 +687,7 @@ static bool event_scheduler_update(sys_var *self, THD *thd, enum_var_type type)
|
||||
: Events::stop();
|
||||
mysql_mutex_lock(&LOCK_global_system_variables);
|
||||
if (ret)
|
||||
my_error(ER_EVENT_SET_VAR_ERROR, MYF(0), 0);
|
||||
my_error(ER_EVENT_SET_VAR_ERROR, MYF(0), my_errno);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -17,10 +17,14 @@
|
||||
#include "strings_def.h"
|
||||
#include <m_ctype.h>
|
||||
#include <stdarg.h>
|
||||
#include <my_sys.h>
|
||||
#include <my_base.h>
|
||||
#include <../mysys/my_handler_errors.h>
|
||||
|
||||
|
||||
#define MAX_ARGS 32 /* max positional args count*/
|
||||
#define MAX_PRINT_INFO 32 /* max print position count */
|
||||
#define MAX_WIDTH 65535
|
||||
|
||||
#define LENGTH_ARG 1
|
||||
#define WIDTH_ARG 2
|
||||
@ -65,6 +69,7 @@ struct print_info
|
||||
|
||||
static const char *get_length(const char *fmt, size_t *length, uint *pre_zero)
|
||||
{
|
||||
|
||||
for (; my_isdigit(&my_charset_latin1, *fmt); fmt++)
|
||||
{
|
||||
*length= *length * 10 + (uint)(*fmt - '0');
|
||||
@ -75,23 +80,27 @@ static const char *get_length(const char *fmt, size_t *length, uint *pre_zero)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Calculates print width or index of positional argument
|
||||
/*
|
||||
Get argument for '*' parameter
|
||||
|
||||
@param fmt processed string
|
||||
@param width print width or index of positional argument
|
||||
@param args_arr Arguments to printf
|
||||
@param arg_count Number of arguments to printf
|
||||
@param length returns length of argument
|
||||
@param flag returns flags with PREZERO_ARG set if necessary
|
||||
|
||||
@retval
|
||||
string position right after width digits
|
||||
@return new fmt
|
||||
*/
|
||||
|
||||
static const char *get_width(const char *fmt, size_t *width)
|
||||
static const char *get_length_arg(const char *fmt, ARGS_INFO *args_arr,
|
||||
uint *arg_count, size_t *length, uint *flags)
|
||||
{
|
||||
for (; my_isdigit(&my_charset_latin1, *fmt); fmt++)
|
||||
{
|
||||
*width= *width * 10 + (uint)(*fmt - '0');
|
||||
}
|
||||
return fmt;
|
||||
fmt= get_length(fmt+1, length, flags);
|
||||
*arg_count= max(*arg_count, (uint) *length);
|
||||
(*length)--;
|
||||
DBUG_ASSERT(*fmt == '$' && *length < MAX_ARGS);
|
||||
args_arr[*length].arg_type= 'd';
|
||||
return fmt+1;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -123,6 +132,8 @@ static const char *check_longlong(const char *fmt, uint *have_longlong)
|
||||
fmt++;
|
||||
*have_longlong= (sizeof(size_t) == sizeof(longlong));
|
||||
}
|
||||
if (*fmt == 'p')
|
||||
*have_longlong= (sizeof(void *) == sizeof(longlong));
|
||||
return fmt;
|
||||
}
|
||||
|
||||
@ -227,7 +238,7 @@ static char *process_bin_arg(char *to, char *end, size_t width, char *par)
|
||||
static char *process_dbl_arg(char *to, char *end, size_t width,
|
||||
double par, char arg_type)
|
||||
{
|
||||
if (width == SIZE_T_MAX)
|
||||
if (width == MAX_WIDTH)
|
||||
width= FLT_DIG; /* width not set, use default */
|
||||
else if (width >= NOT_FIXED_DEC)
|
||||
width= NOT_FIXED_DEC - 1; /* max.precision for my_fcvt() */
|
||||
@ -338,42 +349,31 @@ start:
|
||||
/* Get print length */
|
||||
if (*fmt == '*')
|
||||
{
|
||||
fmt++;
|
||||
fmt= get_length(fmt, &print_arr[idx].length, &print_arr[idx].flags);
|
||||
print_arr[idx].length--;
|
||||
DBUG_ASSERT(*fmt == '$' && print_arr[idx].length < MAX_ARGS);
|
||||
args_arr[print_arr[idx].length].arg_type= 'd';
|
||||
fmt= get_length_arg(fmt, args_arr, &arg_count, &print_arr[idx].length,
|
||||
&print_arr[idx].flags);
|
||||
print_arr[idx].flags|= LENGTH_ARG;
|
||||
arg_count= max(arg_count, print_arr[idx].length + 1);
|
||||
fmt++;
|
||||
}
|
||||
else
|
||||
fmt= get_length(fmt, &print_arr[idx].length, &print_arr[idx].flags);
|
||||
|
||||
if (*fmt == '.')
|
||||
{
|
||||
uint flags= 0;
|
||||
fmt++;
|
||||
/* Get print width */
|
||||
if (*fmt == '*')
|
||||
{
|
||||
fmt++;
|
||||
fmt= get_width(fmt, &print_arr[idx].width);
|
||||
print_arr[idx].width--;
|
||||
DBUG_ASSERT(*fmt == '$' && print_arr[idx].width < MAX_ARGS);
|
||||
args_arr[print_arr[idx].width].arg_type= 'd';
|
||||
fmt= get_length_arg(fmt, args_arr, &arg_count, &print_arr[idx].width,
|
||||
&flags);
|
||||
print_arr[idx].flags|= WIDTH_ARG;
|
||||
arg_count= max(arg_count, print_arr[idx].width + 1);
|
||||
fmt++;
|
||||
}
|
||||
else
|
||||
fmt= get_width(fmt, &print_arr[idx].width);
|
||||
fmt= get_length(fmt, &print_arr[idx].width, &flags);
|
||||
}
|
||||
else
|
||||
print_arr[idx].width= SIZE_T_MAX;
|
||||
print_arr[idx].width= MAX_WIDTH;
|
||||
|
||||
fmt= check_longlong(fmt, &args_arr[arg_index].have_longlong);
|
||||
if (*fmt == 'p')
|
||||
args_arr[arg_index].have_longlong= (sizeof(void *) == sizeof(longlong));
|
||||
args_arr[arg_index].arg_type= print_arr[idx].arg_type= *fmt;
|
||||
|
||||
print_arr[idx].arg_idx= arg_index;
|
||||
@ -412,6 +412,7 @@ start:
|
||||
else
|
||||
args_arr[i].longlong_arg= va_arg(ap, uint);
|
||||
break;
|
||||
case 'M':
|
||||
case 'c':
|
||||
args_arr[i].longlong_arg= va_arg(ap, int);
|
||||
break;
|
||||
@ -472,17 +473,34 @@ start:
|
||||
? (size_t)args_arr[print_arr[i].length].longlong_arg
|
||||
: print_arr[i].length;
|
||||
|
||||
if (args_arr[print_arr[i].arg_idx].have_longlong)
|
||||
larg = args_arr[print_arr[i].arg_idx].longlong_arg;
|
||||
else if (print_arr[i].arg_type == 'd' || print_arr[i].arg_type == 'i' )
|
||||
larg = (int) args_arr[print_arr[i].arg_idx].longlong_arg;
|
||||
else
|
||||
larg= (uint) args_arr[print_arr[i].arg_idx].longlong_arg;
|
||||
|
||||
larg = args_arr[print_arr[i].arg_idx].longlong_arg;
|
||||
to= process_int_arg(to, end, length, larg, print_arr[i].arg_type,
|
||||
print_arr[i].flags);
|
||||
break;
|
||||
}
|
||||
case 'M':
|
||||
{
|
||||
longlong larg;
|
||||
char *org_to= to;
|
||||
char errmsg_buff[MYSYS_STRERROR_SIZE];
|
||||
|
||||
length= (print_arr[i].flags & WIDTH_ARG)
|
||||
? (size_t)args_arr[print_arr[i].width].longlong_arg
|
||||
: print_arr[i].width;
|
||||
|
||||
larg = args_arr[print_arr[i].arg_idx].longlong_arg;
|
||||
to= process_int_arg(to, end, 0, larg, 'd', print_arr[i].flags);
|
||||
width-= (to - org_to);
|
||||
if (width <= 4)
|
||||
break;
|
||||
*to++= ' ';
|
||||
*to++= '-';
|
||||
*to++= ' ';
|
||||
my_strerror(errmsg_buff, sizeof(errmsg_buff), (int) larg);
|
||||
to= process_str_arg(cs, to, end, width, errmsg_buff,
|
||||
print_arr[i].flags);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -490,6 +508,7 @@ start:
|
||||
if (to == end)
|
||||
break;
|
||||
|
||||
/* Copy data after the % format expression until next % */
|
||||
length= min(end - to , print_arr[i].end - print_arr[i].begin);
|
||||
if (to + length < end)
|
||||
length++;
|
||||
@ -501,13 +520,14 @@ start:
|
||||
}
|
||||
else
|
||||
{
|
||||
uint flags= 0;
|
||||
/* Process next positional argument*/
|
||||
DBUG_ASSERT(*fmt == '%');
|
||||
print_arr[idx].end= fmt - 1;
|
||||
idx++;
|
||||
fmt++;
|
||||
arg_index= 0;
|
||||
fmt= get_width(fmt, &arg_index);
|
||||
fmt= get_length(fmt, &arg_index, &flags);
|
||||
DBUG_ASSERT(*fmt == '$');
|
||||
fmt++;
|
||||
arg_count= max(arg_count, arg_index);
|
||||
@ -585,6 +605,7 @@ size_t my_vsnprintf_ex(CHARSET_INFO *cs, char *to, size_t n,
|
||||
|
||||
if (*fmt == '.')
|
||||
{
|
||||
uint flags= 0;
|
||||
fmt++;
|
||||
if (*fmt == '*')
|
||||
{
|
||||
@ -592,10 +613,10 @@ size_t my_vsnprintf_ex(CHARSET_INFO *cs, char *to, size_t n,
|
||||
width= va_arg(ap, int);
|
||||
}
|
||||
else
|
||||
fmt= get_width(fmt, &width);
|
||||
fmt= get_length(fmt, &width, &flags);
|
||||
}
|
||||
else
|
||||
width= SIZE_T_MAX;
|
||||
width= MAX_WIDTH;
|
||||
|
||||
fmt= check_longlong(fmt, &have_longlong);
|
||||
|
||||
@ -622,8 +643,6 @@ size_t my_vsnprintf_ex(CHARSET_INFO *cs, char *to, size_t n,
|
||||
{
|
||||
/* Integer parameter */
|
||||
longlong larg;
|
||||
if (*fmt == 'p')
|
||||
have_longlong= (sizeof(void *) == sizeof(longlong));
|
||||
|
||||
if (have_longlong)
|
||||
larg = va_arg(ap,longlong);
|
||||
@ -644,6 +663,24 @@ size_t my_vsnprintf_ex(CHARSET_INFO *cs, char *to, size_t n,
|
||||
*to++= (char) larg;
|
||||
continue;
|
||||
}
|
||||
else if (*fmt == 'M')
|
||||
{
|
||||
const char *org_to= to;
|
||||
int larg= va_arg(ap, int);
|
||||
to= process_int_arg(to, end, 0, larg, 'd', print_type);
|
||||
width-= (to - org_to);
|
||||
if ((end - to) >= 4 && (int) width >= 4)
|
||||
{
|
||||
char errmsg_buff[MYSYS_STRERROR_SIZE];
|
||||
*to++= ' ';
|
||||
*to++= '-';
|
||||
*to++= ' ';
|
||||
width-= 3;
|
||||
my_strerror(errmsg_buff, sizeof(errmsg_buff), larg);
|
||||
to= process_str_arg(cs, to, end, width, errmsg_buff, print_type);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
/* We come here on '%%', unknown code or too long parameter */
|
||||
if (to == end)
|
||||
@ -697,3 +734,67 @@ int my_vfprintf(FILE *stream, const char* format, va_list args)
|
||||
(void) my_vsnprintf(cvtbuf, sizeof(cvtbuf), format, args);
|
||||
return fprintf(stream, "%s\n", cvtbuf);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Return system error text for given error number
|
||||
|
||||
@param buf Buffer (of size MYSYS_STRERROR_SIZE)
|
||||
@param len Length of buffer
|
||||
@param nr Error number
|
||||
*/
|
||||
|
||||
void my_strerror(char *buf, size_t len, int nr)
|
||||
{
|
||||
char *msg= NULL;
|
||||
|
||||
buf[0]= '\0'; /* failsafe */
|
||||
|
||||
if (nr <= 0)
|
||||
{
|
||||
strmake(buf, (nr == 0 ?
|
||||
"Internal error/check (Not system error)" :
|
||||
"Internal error < 0 (Not system error)"),
|
||||
len-1);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
These (handler-) error messages are shared by perror, as required
|
||||
by the principle of least surprise.
|
||||
*/
|
||||
if ((nr >= HA_ERR_FIRST) && (nr <= HA_ERR_LAST))
|
||||
{
|
||||
msg= (char *) handler_error_messages[nr - HA_ERR_FIRST];
|
||||
strmake(buf, msg, len - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
On Windows, do things the Windows way. On a system that supports both
|
||||
the GNU and the XSI variant, use whichever was configured (GNU); if
|
||||
this choice is not advertised, use the default (POSIX/XSI). Testing
|
||||
for __GNUC__ is not sufficient to determine whether this choice exists.
|
||||
*/
|
||||
#if defined(__WIN__)
|
||||
strerror_s(buf, len, nr);
|
||||
#elif ((defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE >= 200112L)) || \
|
||||
(defined _XOPEN_SOURCE && (_XOPEN_SOURCE >= 600))) && \
|
||||
! defined _GNU_SOURCE
|
||||
strerror_r(nr, buf, len); /* I can build with or without GNU */
|
||||
#elif defined _GNU_SOURCE
|
||||
char *r= strerror_r(nr, buf, len);
|
||||
if (r != buf) /* Want to help, GNU? */
|
||||
strmake(buf, r, len - 1); /* Then don't. */
|
||||
#else
|
||||
strerror_r(nr, buf, len);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
strerror() return values are implementation-dependent, so let's
|
||||
be pragmatic.
|
||||
*/
|
||||
if (!buf[0])
|
||||
strmake(buf, "unknown error", len - 1);
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ void test1(const char *res, const char *fmt, ...)
|
||||
|
||||
int main(void)
|
||||
{
|
||||
plan(58);
|
||||
plan(59);
|
||||
|
||||
test1("Constant string",
|
||||
"Constant string");
|
||||
@ -177,6 +177,8 @@ int main(void)
|
||||
test1("My `DDDD` test CCCC, `DDD`",
|
||||
"My %1$`s test %2$s, %1$`-.3s", "DDDD", "CCCC");
|
||||
|
||||
test1("Error 1 - Operation not permitted", "Error %M", 1);
|
||||
|
||||
return exit_status();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user