Don't use PATH_MAX for FN_REFLEN as this uses too much stack space
Larger stack size neaded for open table on x86 64 bit Fix failing test cases Deleted symlink from bk BitKeeper/etc/ignore: added libmysqld/ha_blackhole.cc BitKeeper/deleted/.del-ha_blackhole.cc~727c69ef7846623a: Delete: libmysqld/ha_blackhole.cc include/my_global.h: Don't use PATH_MAX for FN_REFLEN as this uses too much stack space. (With a PATH_MAX of 4096, we use 80K for opening a table as there is several objects of size FN_REFLEN on stack) mysql-test/r/federated.result: Update results after error message changes mysql-test/r/grant.result: Update results after error message changes mysql-test/r/grant2.result: Update results after error message changes sql/ha_federated.cc: Fix error messages to be more consistent sql/mysql_priv.h: Stack size to have when opening a table (This was needed on x86 64 bit Linux) sql/share/errmsg.txt: Remove quotes around error string for federated as two quotes in the output looks strange sql/sql_base.cc: More correct stack size sql/sql_parse.cc: Set thread_stack before store_globals() sql/unireg.h: More correct MAX_DBKEY_LENGTH
This commit is contained in:
parent
f443161911
commit
97bfd41fe1
@ -1268,3 +1268,4 @@ vio/viotest-sslconnect.cpp
|
||||
vio/viotest.cpp
|
||||
zlib/*.ds?
|
||||
zlib/*.vcproj
|
||||
libmysqld/ha_blackhole.cc
|
||||
|
@ -574,11 +574,7 @@ typedef SOCKET_SIZE_TYPE size_socket;
|
||||
#define FN_LEN 256 /* Max file name len */
|
||||
#define FN_HEADLEN 253 /* Max length of filepart of file name */
|
||||
#define FN_EXTLEN 20 /* Max length of extension (part of FN_LEN) */
|
||||
#ifdef PATH_MAX
|
||||
#define FN_REFLEN PATH_MAX/* Max length of full path-name */
|
||||
#else
|
||||
#define FN_REFLEN 512 /* Max length of full path-name */
|
||||
#endif
|
||||
#define FN_EXTCHAR '.'
|
||||
#define FN_HOMELIB '~' /* ~/ is used as abbrev for home dir */
|
||||
#define FN_CURLIB '.' /* ./ is used as abbrev for current dir */
|
||||
|
@ -40,14 +40,14 @@ CREATE TABLE federated.t1 (
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t3';
|
||||
ERROR HY000: Can't create federated table. Foreign data src error : ': 1146 : Table 'federated.t3' doesn't exist'
|
||||
ERROR HY000: Can't create federated table. Foreign data src error: error: 1146 'Table 'federated.t3' doesn't exist'
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(32) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://user:pass@127.0.0.1:SLAVE_PORT/federated/t1';
|
||||
ERROR HY000: Unable to connect to foreign data source - database ' database federated username user hostname 127.0.0.1'!
|
||||
ERROR HY000: Unable to connect to foreign data source: database: 'federated' username: 'user' hostname: '127.0.0.1'
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
|
@ -238,7 +238,7 @@ Grants for drop_user@localhost
|
||||
GRANT USAGE ON *.* TO 'drop_user'@'localhost'
|
||||
drop user drop_user@localhost;
|
||||
revoke all privileges, grant option from drop_user@localhost;
|
||||
ERROR HY000: Can't revoke all privileges, grant for one or more of the requested users
|
||||
ERROR HY000: Can't revoke all privileges for one or more of the requested users
|
||||
grant select(a) on test.t1 to drop_user1@localhost;
|
||||
grant select on test.t1 to drop_user2@localhost;
|
||||
grant select on test.* to drop_user3@localhost;
|
||||
@ -247,7 +247,7 @@ drop user drop_user1@localhost, drop_user2@localhost, drop_user3@localhost,
|
||||
drop_user4@localhost;
|
||||
revoke all privileges, grant option from drop_user1@localhost, drop_user2@localhost,
|
||||
drop_user3@localhost, drop_user4@localhost;
|
||||
ERROR HY000: Can't revoke all privileges, grant for one or more of the requested users
|
||||
ERROR HY000: Can't revoke all privileges for one or more of the requested users
|
||||
drop user drop_user1@localhost, drop_user2@localhost, drop_user3@localhost,
|
||||
drop_user4@localhost;
|
||||
ERROR HY000: Operation DROP USER failed for 'drop_user1'@'localhost','drop_user2'@'localhost','drop_user3'@'localhost','drop_user4'@'localhost'
|
||||
|
@ -191,7 +191,7 @@ flush privileges;
|
||||
show grants for 'mysqltest_1';
|
||||
ERROR 42000: There is no such grant defined for user 'mysqltest_1' on host '%'
|
||||
revoke all privileges, grant option from 'mysqltest_1';
|
||||
ERROR HY000: Can't revoke all privileges, grant for one or more of the requested users
|
||||
ERROR HY000: Can't revoke all privileges for one or more of the requested users
|
||||
drop user 'mysqltest_1';
|
||||
select host,db,user from mysql.db where user = 'mysqltest_1' order by host,db,user;
|
||||
host db user
|
||||
|
@ -469,8 +469,7 @@ bool federated_db_end()
|
||||
table, and if so, does the foreign table exist.
|
||||
*/
|
||||
|
||||
static int check_foreign_data_source(
|
||||
FEDERATED_SHARE *share,
|
||||
static int check_foreign_data_source(FEDERATED_SHARE *share,
|
||||
bool table_create_flag)
|
||||
{
|
||||
char escaped_table_name[NAME_LEN*2];
|
||||
@ -496,15 +495,17 @@ static int check_foreign_data_source(
|
||||
share->port,
|
||||
share->socket, 0))
|
||||
{
|
||||
/*
|
||||
we want the correct error message, but it to return
|
||||
ER_CANT_CREATE_FEDERATED_TABLE if called by ::create
|
||||
*/
|
||||
error_code= table_create_flag?
|
||||
ER_CANT_CREATE_FEDERATED_TABLE : ER_CONNECT_TO_FOREIGN_DATA_SOURCE;
|
||||
/*
|
||||
we want the correct error message, but it to return
|
||||
ER_CANT_CREATE_FEDERATED_TABLE if called by ::create
|
||||
*/
|
||||
error_code= (table_create_flag ?
|
||||
ER_CANT_CREATE_FEDERATED_TABLE :
|
||||
ER_CONNECT_TO_FOREIGN_DATA_SOURCE);
|
||||
|
||||
my_sprintf(error_buffer,
|
||||
(error_buffer, " database %s username %s hostname %s",
|
||||
(error_buffer,
|
||||
"database: '%s' username: '%s' hostname: '%s'",
|
||||
share->database, share->username, share->hostname));
|
||||
|
||||
my_error(ER_CONNECT_TO_FOREIGN_DATA_SOURCE, MYF(0), error_buffer);
|
||||
@ -545,8 +546,8 @@ static int check_foreign_data_source(
|
||||
{
|
||||
error_code= table_create_flag ?
|
||||
ER_CANT_CREATE_FEDERATED_TABLE : ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST;
|
||||
my_sprintf(error_buffer, (error_buffer, ": %d : %s",
|
||||
mysql_errno(mysql), mysql_error(mysql)));
|
||||
my_sprintf(error_buffer, (error_buffer, "error: %d '%s'",
|
||||
mysql_errno(mysql), mysql_error(mysql)));
|
||||
|
||||
my_error(error_code, MYF(0), error_buffer);
|
||||
goto error;
|
||||
@ -2035,7 +2036,7 @@ int ha_federated::index_read_idx(byte *buf, uint index, const byte *key,
|
||||
}
|
||||
if (mysql_real_query(mysql, sql_query.ptr(), sql_query.length()))
|
||||
{
|
||||
my_sprintf(error_buffer, (error_buffer, ": %d : %s",
|
||||
my_sprintf(error_buffer, (error_buffer, "error: %d '%s'",
|
||||
mysql_errno(mysql), mysql_error(mysql)));
|
||||
retval= ER_QUERY_ON_FOREIGN_DATA_SOURCE;
|
||||
goto error;
|
||||
|
@ -101,6 +101,7 @@ extern CHARSET_INFO *national_charset_info, *table_alias_charset;
|
||||
#define MAX_FIELDS_BEFORE_HASH 32
|
||||
#define USER_VARS_HASH_SIZE 16
|
||||
#define STACK_MIN_SIZE 8192 // Abort if less stack during eval.
|
||||
#define STACK_MIN_SIZE_FOR_OPEN 1024*80
|
||||
#define STACK_BUFF_ALLOC 256 // For stack overrun checks
|
||||
#ifndef MYSQLD_NET_RETRY_COUNT
|
||||
#define MYSQLD_NET_RETRY_COUNT 10 // Abort read after this many int.
|
||||
|
@ -5520,14 +5520,14 @@ ER_WRONG_LOCK_OF_SYSTEM_TABLE
|
||||
eng "You can't combine write-locking of system '%-.64s.%-.64s' table with other tables"
|
||||
ger "Sie können Schreibsperren auf der Systemtabelle '%-.64s.%-.64s' nicht mit anderen Tabellen kombinieren"
|
||||
ER_CONNECT_TO_FOREIGN_DATA_SOURCE
|
||||
eng "Unable to connect to foreign data source - database '%.64s'!"
|
||||
ger "Kann nicht mit Fremddatenquelle verbinden - Datenquelle '%.64s'"
|
||||
eng "Unable to connect to foreign data source: %.64s"
|
||||
ger "Kann nicht mit Fremddatenquelle verbinden: %.64s"
|
||||
ER_QUERY_ON_FOREIGN_DATA_SOURCE
|
||||
eng "There was a problem processing the query on the foreign data source. Data source error: '%-.64s'"
|
||||
ger "Bei der Verarbeitung der Abfrage ist in der Fremddatenquelle ein Problem aufgetreten. Datenquellenfehlermeldung: '%-.64s'"
|
||||
eng "There was a problem processing the query on the foreign data source. Data source error: %-.64"
|
||||
ger "Bei der Verarbeitung der Abfrage ist in der Fremddatenquelle ein Problem aufgetreten. Datenquellenfehlermeldung: %-.64s"
|
||||
ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST
|
||||
eng "The foreign data source you are trying to reference does not exist. Data source error: '%-.64s'"
|
||||
ger "Die Fremddatenquelle, auf die Sie zugreifen wollen, existiert nicht. Datenquellenfehlermeldung: '%-.64s'"
|
||||
eng "The foreign data source you are trying to reference does not exist. Data source error: %-.64s"
|
||||
ger "Die Fremddatenquelle, auf die Sie zugreifen wollen, existiert nicht. Datenquellenfehlermeldung: %-.64s"
|
||||
ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE
|
||||
eng "Can't create federated table. The data source connection string '%-.64s' is not in the correct format"
|
||||
ger "Kann föderierte Tabelle nicht erzeugen. Der Datenquellen-Verbindungsstring '%-.64s' hat kein korrektes Format"
|
||||
@ -5535,8 +5535,8 @@ ER_FOREIGN_DATA_STRING_INVALID
|
||||
eng "The data source connection string '%-.64s' is not in the correct format"
|
||||
ger "Der Datenquellen-Verbindungsstring '%-.64s' hat kein korrektes Format"
|
||||
ER_CANT_CREATE_FEDERATED_TABLE
|
||||
eng "Can't create federated table. Foreign data src error: '%-.64s'"
|
||||
ger "Kann föderierte Tabelle nicht erzeugen. Fremddatenquellenfehlermeldung: '%-.64s'"
|
||||
eng "Can't create federated table. Foreign data src error: %-.64s"
|
||||
ger "Kann föderierte Tabelle nicht erzeugen. Fremddatenquellenfehlermeldung: %-.64s"
|
||||
ER_TRG_IN_WRONG_SCHEMA
|
||||
eng "Trigger in wrong schema"
|
||||
ger "Trigger im falschen Schema"
|
||||
|
@ -1090,7 +1090,7 @@ TABLE *open_table(THD *thd, TABLE_LIST *table_list, MEM_ROOT *mem_root,
|
||||
*refresh=0;
|
||||
|
||||
/* an open table operation needs a lot of the stack space */
|
||||
if (check_stack_overrun(thd, 8 * STACK_MIN_SIZE, (char *)&alias))
|
||||
if (check_stack_overrun(thd, STACK_MIN_SIZE_FOR_OPEN, (char *)&alias))
|
||||
return 0;
|
||||
|
||||
if (thd->killed)
|
||||
|
@ -1201,6 +1201,7 @@ pthread_handler_t handle_bootstrap(void *arg)
|
||||
char *buff;
|
||||
|
||||
/* The following must be called before DBUG_ENTER */
|
||||
thd->thread_stack= (char*) &thd;
|
||||
if (my_thread_init() || thd->store_globals())
|
||||
{
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
|
@ -43,8 +43,8 @@
|
||||
|
||||
#define ERRMAPP 1 /* Errormap f|r my_error */
|
||||
#define LIBLEN FN_REFLEN-FN_LEN /* Max l{ngd p} dev */
|
||||
#define MAX_DBKEY_LENGTH (FN_LEN*2+1+1+4+4) /* extra 4+4 bytes for slave tmp
|
||||
* tables */
|
||||
/* extra 4+4 bytes for slave tmp tables */
|
||||
#define MAX_DBKEY_LENGTH (NAME_LEN*2+1+1+4+4)
|
||||
#define MAX_ALIAS_NAME 256
|
||||
#define MAX_FIELD_NAME 34 /* Max colum name length +2 */
|
||||
#define MAX_SYS_VAR_LENGTH 32
|
||||
|
Loading…
x
Reference in New Issue
Block a user