mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
merged
mysql-test/r/ps_1general.result: Auto merged mysql-test/r/ps_2myisam.result: Auto merged mysql-test/r/ps_3innodb.result: Auto merged mysql-test/r/ps_4heap.result: Auto merged mysql-test/r/ps_5merge.result: Auto merged mysql-test/r/ps_6bdb.result: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_select.cc: Auto merged
This commit is contained in:
@@ -317,58 +317,59 @@
|
|||||||
#define ER_UNKNOWN_TIME_ZONE 1298
|
#define ER_UNKNOWN_TIME_ZONE 1298
|
||||||
#define ER_WARN_INVALID_TIMESTAMP 1299
|
#define ER_WARN_INVALID_TIMESTAMP 1299
|
||||||
#define ER_INVALID_CHARACTER_STRING 1300
|
#define ER_INVALID_CHARACTER_STRING 1300
|
||||||
#define ER_SP_NO_RECURSIVE_CREATE 1301
|
#define ER_WARN_ALLOWED_PACKET_OVERFLOWED 1301
|
||||||
#define ER_SP_ALREADY_EXISTS 1302
|
#define ER_SP_NO_RECURSIVE_CREATE 1302
|
||||||
#define ER_SP_DOES_NOT_EXIST 1303
|
#define ER_SP_ALREADY_EXISTS 1303
|
||||||
#define ER_SP_DROP_FAILED 1304
|
#define ER_SP_DOES_NOT_EXIST 1304
|
||||||
#define ER_SP_STORE_FAILED 1305
|
#define ER_SP_DROP_FAILED 1305
|
||||||
#define ER_SP_LILABEL_MISMATCH 1306
|
#define ER_SP_STORE_FAILED 1306
|
||||||
#define ER_SP_LABEL_REDEFINE 1307
|
#define ER_SP_LILABEL_MISMATCH 1307
|
||||||
#define ER_SP_LABEL_MISMATCH 1308
|
#define ER_SP_LABEL_REDEFINE 1308
|
||||||
#define ER_SP_UNINIT_VAR 1309
|
#define ER_SP_LABEL_MISMATCH 1309
|
||||||
#define ER_SP_BADSELECT 1310
|
#define ER_SP_UNINIT_VAR 1310
|
||||||
#define ER_SP_BADRETURN 1311
|
#define ER_SP_BADSELECT 1311
|
||||||
#define ER_SP_BADSTATEMENT 1312
|
#define ER_SP_BADRETURN 1312
|
||||||
#define ER_UPDATE_LOG_DEPRECATED_IGNORED 1313
|
#define ER_SP_BADSTATEMENT 1313
|
||||||
#define ER_UPDATE_LOG_DEPRECATED_TRANSLATED 1314
|
#define ER_UPDATE_LOG_DEPRECATED_IGNORED 1314
|
||||||
#define ER_QUERY_INTERRUPTED 1315
|
#define ER_UPDATE_LOG_DEPRECATED_TRANSLATED 1315
|
||||||
#define ER_SP_WRONG_NO_OF_ARGS 1316
|
#define ER_QUERY_INTERRUPTED 1316
|
||||||
#define ER_SP_COND_MISMATCH 1317
|
#define ER_SP_WRONG_NO_OF_ARGS 1317
|
||||||
#define ER_SP_NORETURN 1318
|
#define ER_SP_COND_MISMATCH 1318
|
||||||
#define ER_SP_NORETURNEND 1319
|
#define ER_SP_NORETURN 1319
|
||||||
#define ER_SP_BAD_CURSOR_QUERY 1320
|
#define ER_SP_NORETURNEND 1320
|
||||||
#define ER_SP_BAD_CURSOR_SELECT 1321
|
#define ER_SP_BAD_CURSOR_QUERY 1321
|
||||||
#define ER_SP_CURSOR_MISMATCH 1322
|
#define ER_SP_BAD_CURSOR_SELECT 1322
|
||||||
#define ER_SP_CURSOR_ALREADY_OPEN 1323
|
#define ER_SP_CURSOR_MISMATCH 1323
|
||||||
#define ER_SP_CURSOR_NOT_OPEN 1324
|
#define ER_SP_CURSOR_ALREADY_OPEN 1324
|
||||||
#define ER_SP_UNDECLARED_VAR 1325
|
#define ER_SP_CURSOR_NOT_OPEN 1325
|
||||||
#define ER_SP_WRONG_NO_OF_FETCH_ARGS 1326
|
#define ER_SP_UNDECLARED_VAR 1326
|
||||||
#define ER_SP_FETCH_NO_DATA 1327
|
#define ER_SP_WRONG_NO_OF_FETCH_ARGS 1327
|
||||||
#define ER_SP_DUP_PARAM 1328
|
#define ER_SP_FETCH_NO_DATA 1328
|
||||||
#define ER_SP_DUP_VAR 1329
|
#define ER_SP_DUP_PARAM 1329
|
||||||
#define ER_SP_DUP_COND 1330
|
#define ER_SP_DUP_VAR 1330
|
||||||
#define ER_SP_DUP_CURS 1331
|
#define ER_SP_DUP_COND 1331
|
||||||
#define ER_SP_CANT_ALTER 1332
|
#define ER_SP_DUP_CURS 1332
|
||||||
#define ER_SP_SUBSELECT_NYI 1333
|
#define ER_SP_CANT_ALTER 1333
|
||||||
#define ER_SP_NO_USE 1334
|
#define ER_SP_SUBSELECT_NYI 1334
|
||||||
#define ER_SP_VARCOND_AFTER_CURSHNDLR 1335
|
#define ER_SP_NO_USE 1335
|
||||||
#define ER_SP_CURSOR_AFTER_HANDLER 1336
|
#define ER_SP_VARCOND_AFTER_CURSHNDLR 1336
|
||||||
#define ER_SP_CASE_NOT_FOUND 1337
|
#define ER_SP_CURSOR_AFTER_HANDLER 1337
|
||||||
#define ER_FPARSER_TOO_BIG_FILE 1338
|
#define ER_SP_CASE_NOT_FOUND 1338
|
||||||
#define ER_FPARSER_BAD_HEADER 1339
|
#define ER_FPARSER_TOO_BIG_FILE 1339
|
||||||
#define ER_FPARSER_EOF_IN_COMMENT 1340
|
#define ER_FPARSER_BAD_HEADER 1340
|
||||||
#define ER_FPARSER_ERROR_IN_PARAMETER 1341
|
#define ER_FPARSER_EOF_IN_COMMENT 1341
|
||||||
#define ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER 1342
|
#define ER_FPARSER_ERROR_IN_PARAMETER 1342
|
||||||
#define ER_VIEW_NO_EXPLAIN 1343
|
#define ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER 1343
|
||||||
#define ER_FRM_UNKNOWN_TYPE 1344
|
#define ER_VIEW_NO_EXPLAIN 1344
|
||||||
#define ER_WRONG_OBJECT 1345
|
#define ER_FRM_UNKNOWN_TYPE 1345
|
||||||
#define ER_NONUPDATEABLE_COLUMN 1346
|
#define ER_WRONG_OBJECT 1346
|
||||||
#define ER_VIEW_SELECT_DERIVED 1347
|
#define ER_NONUPDATEABLE_COLUMN 1347
|
||||||
#define ER_VIEW_SELECT_PROCEDURE 1348
|
#define ER_VIEW_SELECT_DERIVED 1348
|
||||||
#define ER_VIEW_SELECT_VARIABLE 1349
|
#define ER_VIEW_SELECT_PROCEDURE 1349
|
||||||
#define ER_VIEW_SELECT_TMPTABLE 1350
|
#define ER_VIEW_SELECT_VARIABLE 1350
|
||||||
#define ER_VIEW_WRONG_LIST 1351
|
#define ER_VIEW_SELECT_TMPTABLE 1351
|
||||||
#define ER_WARN_VIEW_MERGE 1352
|
#define ER_VIEW_WRONG_LIST 1352
|
||||||
#define ER_WARN_VIEW_WITHOUT_KEY 1353
|
#define ER_WARN_VIEW_MERGE 1353
|
||||||
#define ER_VIEW_INVALID 1354
|
#define ER_WARN_VIEW_WITHOUT_KEY 1354
|
||||||
#define ER_ERROR_MESSAGES 355
|
#define ER_VIEW_INVALID 1355
|
||||||
|
#define ER_ERROR_MESSAGES 356
|
||||||
|
@@ -246,6 +246,11 @@ select a,b from t1 order by 2 ;
|
|||||||
prepare stmt1 from ' select a,b from t1
|
prepare stmt1 from ' select a,b from t1
|
||||||
order by ? ';
|
order by ? ';
|
||||||
execute stmt1 using @arg00;
|
execute stmt1 using @arg00;
|
||||||
|
set @arg00=1 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
set @arg00=0 ;
|
||||||
|
--error 1054
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
|
||||||
##### parameter used in limit clause
|
##### parameter used in limit clause
|
||||||
set @arg00=1;
|
set @arg00=1;
|
||||||
|
@@ -225,6 +225,8 @@ substring_index("www.tcx.se","",3)
|
|||||||
select length(repeat("a",100000000)),length(repeat("a",1000*64));
|
select length(repeat("a",100000000)),length(repeat("a",1000*64));
|
||||||
length(repeat("a",100000000)) length(repeat("a",1000*64))
|
length(repeat("a",100000000)) length(repeat("a",1000*64))
|
||||||
NULL 64000
|
NULL 64000
|
||||||
|
Warnings:
|
||||||
|
Warning 1301 Result of repeat() was larger than max_allowed_packet (1048576) - truncated
|
||||||
select position("0" in "baaa" in (1)),position("0" in "1" in (1,2,3)),position("sql" in ("mysql"));
|
select position("0" in "baaa" in (1)),position("0" in "1" in (1,2,3)),position("sql" in ("mysql"));
|
||||||
position("0" in "baaa" in (1)) position("0" in "1" in (1,2,3)) position("sql" in ("mysql"))
|
position("0" in "baaa" in (1)) position("0" in "1" in (1,2,3)) position("sql" in ("mysql"))
|
||||||
1 0 3
|
1 0 3
|
||||||
|
@@ -8,6 +8,8 @@ len
|
|||||||
select repeat('a',2000);
|
select repeat('a',2000);
|
||||||
repeat('a',2000)
|
repeat('a',2000)
|
||||||
NULL
|
NULL
|
||||||
|
Warnings:
|
||||||
|
Warning 1301 Result of repeat() was larger than max_allowed_packet (1024) - truncated
|
||||||
select @@net_buffer_length, @@max_allowed_packet;
|
select @@net_buffer_length, @@max_allowed_packet;
|
||||||
@@net_buffer_length @@max_allowed_packet
|
@@net_buffer_length @@max_allowed_packet
|
||||||
1024 1024
|
1024 1024
|
||||||
|
@@ -334,6 +334,16 @@ a b
|
|||||||
1 one
|
1 one
|
||||||
3 three
|
3 three
|
||||||
2 two
|
2 two
|
||||||
|
set @arg00=1 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
a b
|
||||||
|
1 one
|
||||||
|
2 two
|
||||||
|
3 three
|
||||||
|
4 four
|
||||||
|
set @arg00=0 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
ERROR 42S22: Unknown column '?' in 'order clause'
|
||||||
set @arg00=1;
|
set @arg00=1;
|
||||||
prepare stmt1 from ' select a,b from t1
|
prepare stmt1 from ' select a,b from t1
|
||||||
limit 1 ';
|
limit 1 ';
|
||||||
|
@@ -334,6 +334,16 @@ a b
|
|||||||
1 one
|
1 one
|
||||||
3 three
|
3 three
|
||||||
2 two
|
2 two
|
||||||
|
set @arg00=1 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
a b
|
||||||
|
1 one
|
||||||
|
2 two
|
||||||
|
3 three
|
||||||
|
4 four
|
||||||
|
set @arg00=0 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
ERROR 42S22: Unknown column '?' in 'order clause'
|
||||||
set @arg00=1;
|
set @arg00=1;
|
||||||
prepare stmt1 from ' select a,b from t1
|
prepare stmt1 from ' select a,b from t1
|
||||||
limit 1 ';
|
limit 1 ';
|
||||||
|
@@ -335,6 +335,16 @@ a b
|
|||||||
1 one
|
1 one
|
||||||
3 three
|
3 three
|
||||||
2 two
|
2 two
|
||||||
|
set @arg00=1 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
a b
|
||||||
|
1 one
|
||||||
|
2 two
|
||||||
|
3 three
|
||||||
|
4 four
|
||||||
|
set @arg00=0 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
ERROR 42S22: Unknown column '?' in 'order clause'
|
||||||
set @arg00=1;
|
set @arg00=1;
|
||||||
prepare stmt1 from ' select a,b from t1
|
prepare stmt1 from ' select a,b from t1
|
||||||
limit 1 ';
|
limit 1 ';
|
||||||
|
@@ -377,6 +377,16 @@ a b
|
|||||||
1 one
|
1 one
|
||||||
3 three
|
3 three
|
||||||
2 two
|
2 two
|
||||||
|
set @arg00=1 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
a b
|
||||||
|
1 one
|
||||||
|
2 two
|
||||||
|
3 three
|
||||||
|
4 four
|
||||||
|
set @arg00=0 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
ERROR 42S22: Unknown column '?' in 'order clause'
|
||||||
set @arg00=1;
|
set @arg00=1;
|
||||||
prepare stmt1 from ' select a,b from t1
|
prepare stmt1 from ' select a,b from t1
|
||||||
limit 1 ';
|
limit 1 ';
|
||||||
@@ -1560,6 +1570,16 @@ a b
|
|||||||
1 one
|
1 one
|
||||||
3 three
|
3 three
|
||||||
2 two
|
2 two
|
||||||
|
set @arg00=1 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
a b
|
||||||
|
1 one
|
||||||
|
2 two
|
||||||
|
3 three
|
||||||
|
4 four
|
||||||
|
set @arg00=0 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
ERROR 42S22: Unknown column '?' in 'order clause'
|
||||||
set @arg00=1;
|
set @arg00=1;
|
||||||
prepare stmt1 from ' select a,b from t1
|
prepare stmt1 from ' select a,b from t1
|
||||||
limit 1 ';
|
limit 1 ';
|
||||||
|
@@ -334,6 +334,16 @@ a b
|
|||||||
1 one
|
1 one
|
||||||
3 three
|
3 three
|
||||||
2 two
|
2 two
|
||||||
|
set @arg00=1 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
a b
|
||||||
|
1 one
|
||||||
|
2 two
|
||||||
|
3 three
|
||||||
|
4 four
|
||||||
|
set @arg00=0 ;
|
||||||
|
execute stmt1 using @arg00;
|
||||||
|
ERROR 42S22: Unknown column '?' in 'order clause'
|
||||||
set @arg00=1;
|
set @arg00=1;
|
||||||
prepare stmt1 from ' select a,b from t1
|
prepare stmt1 from ' select a,b from t1
|
||||||
limit 1 ';
|
limit 1 ';
|
||||||
|
@@ -116,10 +116,14 @@ static ARCHIVE_SHARE *get_share(const char *table_name, TABLE *table)
|
|||||||
pthread_mutex_lock(&LOCK_mysql_create_db);
|
pthread_mutex_lock(&LOCK_mysql_create_db);
|
||||||
if (!archive_init)
|
if (!archive_init)
|
||||||
{
|
{
|
||||||
archive_init++;
|
|
||||||
VOID(pthread_mutex_init(&archive_mutex,MY_MUTEX_INIT_FAST));
|
VOID(pthread_mutex_init(&archive_mutex,MY_MUTEX_INIT_FAST));
|
||||||
(void) hash_init(&archive_open_tables,system_charset_info,32,0,0,
|
if (!hash_init(&archive_open_tables,system_charset_info,32,0,0,
|
||||||
(hash_get_key) archive_get_key,0,0);
|
(hash_get_key) archive_get_key,0,0))
|
||||||
|
{
|
||||||
|
pthread_mutex_unlock(&LOCK_mysql_create_db);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
archive_init++;
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&LOCK_mysql_create_db);
|
pthread_mutex_unlock(&LOCK_mysql_create_db);
|
||||||
}
|
}
|
||||||
@@ -130,11 +134,10 @@ static ARCHIVE_SHARE *get_share(const char *table_name, TABLE *table)
|
|||||||
(byte*) table_name,
|
(byte*) table_name,
|
||||||
length)))
|
length)))
|
||||||
{
|
{
|
||||||
if (!(share=(ARCHIVE_SHARE *)
|
if (!my_multi_malloc(MYF(MY_WME | MY_ZEROFILL),
|
||||||
my_multi_malloc(MYF(MY_WME | MY_ZEROFILL),
|
|
||||||
&share, sizeof(*share),
|
&share, sizeof(*share),
|
||||||
&tmp_name, length+1,
|
&tmp_name, length+1,
|
||||||
NullS)))
|
NullS))
|
||||||
{
|
{
|
||||||
pthread_mutex_unlock(&archive_mutex);
|
pthread_mutex_unlock(&archive_mutex);
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -238,11 +241,7 @@ int ha_archive::open(const char *name, int mode, uint test_if_locked)
|
|||||||
int ha_archive::close(void)
|
int ha_archive::close(void)
|
||||||
{
|
{
|
||||||
DBUG_ENTER("ha_archive::close");
|
DBUG_ENTER("ha_archive::close");
|
||||||
int rc= 0;
|
DBUG_RETURN(((gzclose(archive) == Z_ERRNO || free_share(share)) ? -1 : 0));
|
||||||
if (gzclose(archive) == Z_ERRNO)
|
|
||||||
rc =-1;
|
|
||||||
rc |= free_share(share);
|
|
||||||
DBUG_RETURN(rc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -276,12 +275,7 @@ int ha_archive::create(const char *name, TABLE *table_arg, HA_CREATE_INFO *creat
|
|||||||
}
|
}
|
||||||
version= ARCHIVE_VERSION;
|
version= ARCHIVE_VERSION;
|
||||||
written= gzwrite(archive, &version, sizeof(version));
|
written= gzwrite(archive, &version, sizeof(version));
|
||||||
if (written == 0 || written != sizeof(version))
|
if (written != sizeof(version) || gzclose(archive))
|
||||||
{
|
|
||||||
delete_table(name);
|
|
||||||
DBUG_RETURN(-1);
|
|
||||||
}
|
|
||||||
if (gzclose(archive))
|
|
||||||
{
|
{
|
||||||
delete_table(name);
|
delete_table(name);
|
||||||
DBUG_RETURN(-1);
|
DBUG_RETURN(-1);
|
||||||
@@ -305,7 +299,7 @@ int ha_archive::write_row(byte * buf)
|
|||||||
update_timestamp(buf+table->timestamp_default_now-1);
|
update_timestamp(buf+table->timestamp_default_now-1);
|
||||||
written= gzwrite(share->archive_write, buf, table->reclength);
|
written= gzwrite(share->archive_write, buf, table->reclength);
|
||||||
share->dirty= true;
|
share->dirty= true;
|
||||||
if (written == 0 || written != table->reclength)
|
if (written != table->reclength)
|
||||||
DBUG_RETURN(-1);
|
DBUG_RETURN(-1);
|
||||||
|
|
||||||
for (Field_blob **field=table->blob_field ; *field ; field++)
|
for (Field_blob **field=table->blob_field ; *field ; field++)
|
||||||
@@ -315,7 +309,7 @@ int ha_archive::write_row(byte * buf)
|
|||||||
|
|
||||||
(*field)->get_ptr(&ptr);
|
(*field)->get_ptr(&ptr);
|
||||||
written= gzwrite(share->archive_write, ptr, (unsigned)size);
|
written= gzwrite(share->archive_write, ptr, (unsigned)size);
|
||||||
if (written == 0 || written != size)
|
if (written != size)
|
||||||
DBUG_RETURN(-1);
|
DBUG_RETURN(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -446,7 +446,13 @@ String *Item_func_spatial_collection::val_str(String *str)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (str->length() > current_thd->variables.max_allowed_packet)
|
if (str->length() > current_thd->variables.max_allowed_packet)
|
||||||
|
{
|
||||||
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
|
||||||
|
ER(ER_WARN_ALLOWED_PACKET_OVERFLOWED),
|
||||||
|
func_name(), current_thd->variables.max_allowed_packet);
|
||||||
goto err;
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
null_value = 0;
|
null_value = 0;
|
||||||
return str;
|
return str;
|
||||||
|
@@ -266,7 +266,13 @@ String *Item_func_concat::val_str(String *str)
|
|||||||
continue;
|
continue;
|
||||||
if (res->length()+res2->length() >
|
if (res->length()+res2->length() >
|
||||||
current_thd->variables.max_allowed_packet)
|
current_thd->variables.max_allowed_packet)
|
||||||
goto null; // Error check
|
{
|
||||||
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
|
||||||
|
ER(ER_WARN_ALLOWED_PACKET_OVERFLOWED), func_name(),
|
||||||
|
current_thd->variables.max_allowed_packet);
|
||||||
|
goto null;
|
||||||
|
}
|
||||||
if (res->alloced_length() >= res->length()+res2->length())
|
if (res->alloced_length() >= res->length()+res2->length())
|
||||||
{ // Use old buffer
|
{ // Use old buffer
|
||||||
res->append(*res2);
|
res->append(*res2);
|
||||||
@@ -544,7 +550,13 @@ String *Item_func_concat_ws::val_str(String *str)
|
|||||||
|
|
||||||
if (res->length() + sep_str->length() + res2->length() >
|
if (res->length() + sep_str->length() + res2->length() >
|
||||||
current_thd->variables.max_allowed_packet)
|
current_thd->variables.max_allowed_packet)
|
||||||
goto null; // Error check
|
{
|
||||||
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
|
||||||
|
ER(ER_WARN_ALLOWED_PACKET_OVERFLOWED), func_name(),
|
||||||
|
current_thd->variables.max_allowed_packet);
|
||||||
|
goto null;
|
||||||
|
}
|
||||||
if (res->alloced_length() >=
|
if (res->alloced_length() >=
|
||||||
res->length() + sep_str->length() + res2->length())
|
res->length() + sep_str->length() + res2->length())
|
||||||
{ // Use old buffer
|
{ // Use old buffer
|
||||||
@@ -801,7 +813,15 @@ redo:
|
|||||||
offset= (int) (ptr-res->ptr());
|
offset= (int) (ptr-res->ptr());
|
||||||
if (res->length()-from_length + to_length >
|
if (res->length()-from_length + to_length >
|
||||||
current_thd->variables.max_allowed_packet)
|
current_thd->variables.max_allowed_packet)
|
||||||
|
{
|
||||||
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
|
||||||
|
ER(ER_WARN_ALLOWED_PACKET_OVERFLOWED),
|
||||||
|
func_name(),
|
||||||
|
current_thd->variables.max_allowed_packet);
|
||||||
|
|
||||||
goto null;
|
goto null;
|
||||||
|
}
|
||||||
if (!alloced)
|
if (!alloced)
|
||||||
{
|
{
|
||||||
alloced=1;
|
alloced=1;
|
||||||
@@ -822,7 +842,13 @@ skip:
|
|||||||
{
|
{
|
||||||
if (res->length()-from_length + to_length >
|
if (res->length()-from_length + to_length >
|
||||||
current_thd->variables.max_allowed_packet)
|
current_thd->variables.max_allowed_packet)
|
||||||
|
{
|
||||||
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
|
||||||
|
ER(ER_WARN_ALLOWED_PACKET_OVERFLOWED), func_name(),
|
||||||
|
current_thd->variables.max_allowed_packet);
|
||||||
goto null;
|
goto null;
|
||||||
|
}
|
||||||
if (!alloced)
|
if (!alloced)
|
||||||
{
|
{
|
||||||
alloced=1;
|
alloced=1;
|
||||||
@@ -882,7 +908,13 @@ String *Item_func_insert::val_str(String *str)
|
|||||||
length=res->length()-start;
|
length=res->length()-start;
|
||||||
if (res->length() - length + res2->length() >
|
if (res->length() - length + res2->length() >
|
||||||
current_thd->variables.max_allowed_packet)
|
current_thd->variables.max_allowed_packet)
|
||||||
goto null; // OOM check
|
{
|
||||||
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
|
||||||
|
ER(ER_WARN_ALLOWED_PACKET_OVERFLOWED),
|
||||||
|
func_name(), current_thd->variables.max_allowed_packet);
|
||||||
|
goto null;
|
||||||
|
}
|
||||||
res=copy_if_not_alloced(str,res,res->length());
|
res=copy_if_not_alloced(str,res,res->length());
|
||||||
res->replace(start,length,*res2);
|
res->replace(start,length,*res2);
|
||||||
return res;
|
return res;
|
||||||
@@ -1934,7 +1966,13 @@ String *Item_func_repeat::val_str(String *str)
|
|||||||
length=res->length();
|
length=res->length();
|
||||||
// Safe length check
|
// Safe length check
|
||||||
if (length > current_thd->variables.max_allowed_packet/count)
|
if (length > current_thd->variables.max_allowed_packet/count)
|
||||||
goto err; // Probably an error
|
{
|
||||||
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
|
||||||
|
ER(ER_WARN_ALLOWED_PACKET_OVERFLOWED),
|
||||||
|
func_name(), current_thd->variables.max_allowed_packet);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
tot_length= length*(uint) count;
|
tot_length= length*(uint) count;
|
||||||
if (!(res= alloc_buffer(res,str,&tmp_value,tot_length)))
|
if (!(res= alloc_buffer(res,str,&tmp_value,tot_length)))
|
||||||
goto err;
|
goto err;
|
||||||
@@ -1999,8 +2037,15 @@ String *Item_func_rpad::val_str(String *str)
|
|||||||
return (res);
|
return (res);
|
||||||
}
|
}
|
||||||
pad_char_length= rpad->numchars();
|
pad_char_length= rpad->numchars();
|
||||||
if ((ulong) byte_count > current_thd->variables.max_allowed_packet ||
|
if ((ulong) byte_count > current_thd->variables.max_allowed_packet)
|
||||||
args[2]->null_value || !pad_char_length)
|
{
|
||||||
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
|
||||||
|
ER(ER_WARN_ALLOWED_PACKET_OVERFLOWED),
|
||||||
|
func_name(), current_thd->variables.max_allowed_packet);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
if(args[2]->null_value || !pad_char_length)
|
||||||
goto err;
|
goto err;
|
||||||
res_byte_length= res->length(); /* Must be done before alloc_buffer */
|
res_byte_length= res->length(); /* Must be done before alloc_buffer */
|
||||||
if (!(res= alloc_buffer(res,str,&tmp_value,byte_count)))
|
if (!(res= alloc_buffer(res,str,&tmp_value,byte_count)))
|
||||||
@@ -2079,8 +2124,16 @@ String *Item_func_lpad::val_str(String *str)
|
|||||||
pad_char_length= pad->numchars();
|
pad_char_length= pad->numchars();
|
||||||
byte_count= count * collation.collation->mbmaxlen;
|
byte_count= count * collation.collation->mbmaxlen;
|
||||||
|
|
||||||
if (byte_count > current_thd->variables.max_allowed_packet ||
|
if (byte_count > current_thd->variables.max_allowed_packet)
|
||||||
args[2]->null_value || !pad_char_length || str->alloc(byte_count))
|
{
|
||||||
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
|
||||||
|
ER(ER_WARN_ALLOWED_PACKET_OVERFLOWED),
|
||||||
|
func_name(), current_thd->variables.max_allowed_packet);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args[2]->null_value || !pad_char_length || str->alloc(byte_count))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
str->length(0);
|
str->length(0);
|
||||||
@@ -2368,7 +2421,10 @@ String *Item_load_file::val_str(String *str)
|
|||||||
}
|
}
|
||||||
if (stat_info.st_size > (long) current_thd->variables.max_allowed_packet)
|
if (stat_info.st_size > (long) current_thd->variables.max_allowed_packet)
|
||||||
{
|
{
|
||||||
/* my_error(ER_TOO_LONG_STRING, MYF(0), file_name->c_ptr()); */
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
|
ER_WARN_ALLOWED_PACKET_OVERFLOWED,
|
||||||
|
ER(ER_WARN_ALLOWED_PACKET_OVERFLOWED),
|
||||||
|
func_name(), current_thd->variables.max_allowed_packet);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
if (tmp_value.alloc(stat_info.st_size))
|
if (tmp_value.alloc(stat_info.st_size))
|
||||||
|
@@ -2428,6 +2428,11 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli,
|
|||||||
thd->query_length= 0; // Should not be needed
|
thd->query_length= 0; // Should not be needed
|
||||||
thd->query_error= 0;
|
thd->query_error= 0;
|
||||||
clear_all_errors(thd, rli);
|
clear_all_errors(thd, rli);
|
||||||
|
/*
|
||||||
|
Usually mysql_init_query() is called by mysql_parse(), but we need it here
|
||||||
|
as the present method does not call mysql_parse().
|
||||||
|
*/
|
||||||
|
mysql_init_query(thd, 0, 0);
|
||||||
if (!use_rli_only_for_errors)
|
if (!use_rli_only_for_errors)
|
||||||
{
|
{
|
||||||
/* Saved for InnoDB, see comment in Query_log_event::exec_event() */
|
/* Saved for InnoDB, see comment in Query_log_event::exec_event() */
|
||||||
@@ -2457,6 +2462,13 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli,
|
|||||||
VOID(pthread_mutex_lock(&LOCK_thread_count));
|
VOID(pthread_mutex_lock(&LOCK_thread_count));
|
||||||
thd->query_id = query_id++;
|
thd->query_id = query_id++;
|
||||||
VOID(pthread_mutex_unlock(&LOCK_thread_count));
|
VOID(pthread_mutex_unlock(&LOCK_thread_count));
|
||||||
|
/*
|
||||||
|
Initing thd->row_count is not necessary in theory as this variable has no
|
||||||
|
influence in the case of the slave SQL thread (it is used to generate a
|
||||||
|
"data truncated" warning but which is absorbed and never gets to the
|
||||||
|
error log); still we init it to avoid a Valgrind message.
|
||||||
|
*/
|
||||||
|
mysql_reset_errors(thd);
|
||||||
|
|
||||||
TABLE_LIST tables;
|
TABLE_LIST tables;
|
||||||
bzero((char*) &tables,sizeof(tables));
|
bzero((char*) &tables,sizeof(tables));
|
||||||
|
@@ -478,7 +478,7 @@ bool mysql_test_parse_for_slave(THD *thd,char *inBuf,uint length);
|
|||||||
bool is_update_query(enum enum_sql_command command);
|
bool is_update_query(enum enum_sql_command command);
|
||||||
bool alloc_query(THD *thd, char *packet, ulong packet_length);
|
bool alloc_query(THD *thd, char *packet, ulong packet_length);
|
||||||
void mysql_init_select(LEX *lex);
|
void mysql_init_select(LEX *lex);
|
||||||
void mysql_init_query(THD *thd, bool lexonly=0);
|
void mysql_init_query(THD *thd, uchar *buf, uint length, bool lexonly=0);
|
||||||
bool mysql_new_select(LEX *lex, bool move_down);
|
bool mysql_new_select(LEX *lex, bool move_down);
|
||||||
void create_select_for_variable(const char *var_name);
|
void create_select_for_variable(const char *var_name);
|
||||||
void mysql_init_multi_delete(LEX *lex);
|
void mysql_init_multi_delete(LEX *lex);
|
||||||
|
@@ -313,6 +313,7 @@ character-set=latin2
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -307,6 +307,7 @@ character-set=latin1
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -315,6 +315,7 @@ character-set=latin1
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -304,6 +304,7 @@ character-set=latin1
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -307,8 +307,8 @@ character-set=latin7
|
|||||||
"Got error %d '%-.100s' from %s",
|
"Got error %d '%-.100s' from %s",
|
||||||
"Got temporary error %d '%-.100s' from %s",
|
"Got temporary error %d '%-.100s' from %s",
|
||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -304,6 +304,7 @@ character-set=latin1
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -316,6 +316,7 @@ character-set=latin1
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -304,6 +304,7 @@ character-set=greek
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -306,6 +306,7 @@ character-set=latin2
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -304,6 +304,7 @@ character-set=latin1
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -306,6 +306,7 @@ character-set=ujis
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -304,6 +304,7 @@ character-set=euckr
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -306,6 +306,7 @@ character-set=latin1
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -306,6 +306,7 @@ character-set=latin1
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -308,6 +308,7 @@ character-set=latin2
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -305,6 +305,7 @@ character-set=latin1
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -308,6 +308,7 @@ character-set=latin2
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -306,6 +306,7 @@ character-set=koi8r
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -310,6 +310,7 @@ character-set=cp1250
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -312,6 +312,7 @@ character-set=latin2
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -306,6 +306,7 @@ character-set=latin1
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -304,6 +304,7 @@ character-set=latin1
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -309,6 +309,7 @@ character-set=koi8u
|
|||||||
"Unknown or incorrect time zone: '%-.64s'",
|
"Unknown or incorrect time zone: '%-.64s'",
|
||||||
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
"Invalid TIMESTAMP value in column '%s' at row %ld",
|
||||||
"Invalid %s character string: '%.64s'",
|
"Invalid %s character string: '%.64s'",
|
||||||
|
"Result of %s() was larger than max_allowed_packet (%d) - truncated"
|
||||||
"Can't create a %s from within another stored routine"
|
"Can't create a %s from within another stored routine"
|
||||||
"%s %s already exists"
|
"%s %s already exists"
|
||||||
"%s %s does not exist"
|
"%s %s does not exist"
|
||||||
|
@@ -106,7 +106,7 @@ void lex_free(void)
|
|||||||
(We already do too much here)
|
(We already do too much here)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LEX *lex_start(THD *thd, uchar *buf,uint length)
|
void lex_start(THD *thd, uchar *buf,uint length)
|
||||||
{
|
{
|
||||||
LEX *lex= thd->lex;
|
LEX *lex= thd->lex;
|
||||||
lex->thd= thd;
|
lex->thd= thd;
|
||||||
@@ -114,7 +114,6 @@ LEX *lex_start(THD *thd, uchar *buf,uint length)
|
|||||||
lex->buf= buf;
|
lex->buf= buf;
|
||||||
lex->end_of_query=(lex->ptr=buf)+length;
|
lex->end_of_query=(lex->ptr=buf)+length;
|
||||||
lex->yylineno = 1;
|
lex->yylineno = 1;
|
||||||
lex->select_lex.parsing_place= SELECT_LEX_NODE::NO_MATTER;
|
|
||||||
lex->in_comment=0;
|
lex->in_comment=0;
|
||||||
lex->length=0;
|
lex->length=0;
|
||||||
lex->select_lex.in_sum_expr=0;
|
lex->select_lex.in_sum_expr=0;
|
||||||
@@ -136,7 +135,6 @@ LEX *lex_start(THD *thd, uchar *buf,uint length)
|
|||||||
hash_init(&lex->spfuns, system_charset_info, 0, 0, 0,
|
hash_init(&lex->spfuns, system_charset_info, 0, 0, 0,
|
||||||
sp_lex_spfuns_key, 0, 0);
|
sp_lex_spfuns_key, 0, 0);
|
||||||
|
|
||||||
return lex;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void lex_end(LEX *lex)
|
void lex_end(LEX *lex)
|
||||||
@@ -1006,6 +1004,7 @@ void st_select_lex::init_query()
|
|||||||
subquery_in_having= explicit_limit= 0;
|
subquery_in_having= explicit_limit= 0;
|
||||||
first_execution= 1;
|
first_execution= 1;
|
||||||
first_cond_optimization= 1;
|
first_cond_optimization= 1;
|
||||||
|
parsing_place= SELECT_LEX_NODE::NO_MATTER;
|
||||||
}
|
}
|
||||||
|
|
||||||
void st_select_lex::init_select()
|
void st_select_lex::init_select()
|
||||||
@@ -1019,9 +1018,9 @@ void st_select_lex::init_select()
|
|||||||
in_sum_expr= with_wild= 0;
|
in_sum_expr= with_wild= 0;
|
||||||
options= 0;
|
options= 0;
|
||||||
braces= 0;
|
braces= 0;
|
||||||
when_list.empty();
|
when_list.empty();
|
||||||
expr_list.empty();
|
expr_list.empty();
|
||||||
interval_list.empty();
|
interval_list.empty();
|
||||||
use_index.empty();
|
use_index.empty();
|
||||||
ftfunc_list_alloc.empty();
|
ftfunc_list_alloc.empty();
|
||||||
ftfunc_list= &ftfunc_list_alloc;
|
ftfunc_list= &ftfunc_list_alloc;
|
||||||
@@ -1032,7 +1031,6 @@ void st_select_lex::init_select()
|
|||||||
select_limit= HA_POS_ERROR;
|
select_limit= HA_POS_ERROR;
|
||||||
offset_limit= 0;
|
offset_limit= 0;
|
||||||
with_sum_func= 0;
|
with_sum_func= 0;
|
||||||
parsing_place= SELECT_LEX_NODE::NO_MATTER;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1052,7 +1050,7 @@ void st_select_lex_node::include_down(st_select_lex_node *upper)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
include on level down (but do not link)
|
include on level down (but do not link)
|
||||||
|
|
||||||
SYNOPSYS
|
SYNOPSYS
|
||||||
st_select_lex_node::include_standalone()
|
st_select_lex_node::include_standalone()
|
||||||
upper - reference on node underr which this node should be included
|
upper - reference on node underr which this node should be included
|
||||||
|
@@ -406,7 +406,7 @@ public:
|
|||||||
int change_result(select_subselect *result, select_subselect *old_result);
|
int change_result(select_subselect *result, select_subselect *old_result);
|
||||||
void set_limit(st_select_lex *values, st_select_lex *sl);
|
void set_limit(st_select_lex *values, st_select_lex *sl);
|
||||||
|
|
||||||
friend void mysql_init_query(THD *thd, bool lexonly);
|
friend void mysql_init_query(THD *thd, uchar *buf, uint length, bool lexonly);
|
||||||
friend int subselect_union_engine::exec();
|
friend int subselect_union_engine::exec();
|
||||||
};
|
};
|
||||||
typedef class st_select_lex_unit SELECT_LEX_UNIT;
|
typedef class st_select_lex_unit SELECT_LEX_UNIT;
|
||||||
@@ -560,7 +560,7 @@ public:
|
|||||||
|
|
||||||
bool test_limit();
|
bool test_limit();
|
||||||
|
|
||||||
friend void mysql_init_query(THD *thd, bool lexonly);
|
friend void mysql_init_query(THD *thd, uchar *buf, uint length, bool lexonly);
|
||||||
st_select_lex() {}
|
st_select_lex() {}
|
||||||
void make_empty_select()
|
void make_empty_select()
|
||||||
{
|
{
|
||||||
@@ -765,7 +765,7 @@ struct st_lex_local: public st_lex
|
|||||||
|
|
||||||
void lex_init(void);
|
void lex_init(void);
|
||||||
void lex_free(void);
|
void lex_free(void);
|
||||||
LEX *lex_start(THD *thd, uchar *buf,uint length);
|
void lex_start(THD *thd, uchar *buf,uint length);
|
||||||
void lex_end(LEX *lex);
|
void lex_end(LEX *lex);
|
||||||
|
|
||||||
extern pthread_key(LEX*,THR_LEX);
|
extern pthread_key(LEX*,THR_LEX);
|
||||||
|
@@ -4209,7 +4209,7 @@ bool my_yyoverflow(short **yyss, YYSTYPE **yyvs, ulong *yystacksize)
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
void
|
void
|
||||||
mysql_init_query(THD *thd, bool lexonly)
|
mysql_init_query(THD *thd, uchar *buf, uint length, bool lexonly)
|
||||||
{
|
{
|
||||||
DBUG_ENTER("mysql_init_query");
|
DBUG_ENTER("mysql_init_query");
|
||||||
LEX *lex= thd->lex;
|
LEX *lex= thd->lex;
|
||||||
@@ -4243,6 +4243,7 @@ mysql_init_query(THD *thd, bool lexonly)
|
|||||||
lex->variables_used= 0;
|
lex->variables_used= 0;
|
||||||
lex->select_lex.parent_lex= lex;
|
lex->select_lex.parent_lex= lex;
|
||||||
lex->empty_field_list_on_rset= 0;
|
lex->empty_field_list_on_rset= 0;
|
||||||
|
lex_start(thd, buf, length);
|
||||||
if (! lexonly)
|
if (! lexonly)
|
||||||
{
|
{
|
||||||
thd->select_number= lex->select_lex.select_number= 1;
|
thd->select_number= lex->select_lex.select_number= 1;
|
||||||
@@ -4391,10 +4392,10 @@ void mysql_parse(THD *thd, char *inBuf, uint length)
|
|||||||
{
|
{
|
||||||
DBUG_ENTER("mysql_parse");
|
DBUG_ENTER("mysql_parse");
|
||||||
|
|
||||||
mysql_init_query(thd);
|
mysql_init_query(thd, (uchar*) inBuf, length);
|
||||||
if (query_cache_send_result_to_client(thd, inBuf, length) <= 0)
|
if (query_cache_send_result_to_client(thd, inBuf, length) <= 0)
|
||||||
{
|
{
|
||||||
LEX *lex=lex_start(thd, (uchar*) inBuf, length);
|
LEX *lex= thd->lex;
|
||||||
if (!yyparse((void *)thd) && ! thd->is_fatal_error)
|
if (!yyparse((void *)thd) && ! thd->is_fatal_error)
|
||||||
{
|
{
|
||||||
#ifndef NO_EMBEDDED_ACCESS_CHECKS
|
#ifndef NO_EMBEDDED_ACCESS_CHECKS
|
||||||
@@ -4460,12 +4461,11 @@ void mysql_parse(THD *thd, char *inBuf, uint length)
|
|||||||
|
|
||||||
bool mysql_test_parse_for_slave(THD *thd, char *inBuf, uint length)
|
bool mysql_test_parse_for_slave(THD *thd, char *inBuf, uint length)
|
||||||
{
|
{
|
||||||
LEX *lex;
|
LEX *lex= thd->lex;
|
||||||
bool error= 0;
|
bool error= 0;
|
||||||
DBUG_ENTER("mysql_test_parse_for_slave");
|
DBUG_ENTER("mysql_test_parse_for_slave");
|
||||||
|
|
||||||
mysql_init_query(thd);
|
mysql_init_query(thd, (uchar*) inBuf, length);
|
||||||
lex= lex_start(thd, (uchar*) inBuf, length);
|
|
||||||
if (!yyparse((void*) thd) && ! thd->is_fatal_error &&
|
if (!yyparse((void*) thd) && ! thd->is_fatal_error &&
|
||||||
all_tables_not_ok(thd,(TABLE_LIST*) lex->select_lex.table_list.first))
|
all_tables_not_ok(thd,(TABLE_LIST*) lex->select_lex.table_list.first))
|
||||||
error= 1; /* Ignore question */
|
error= 1; /* Ignore question */
|
||||||
|
@@ -1611,8 +1611,8 @@ int mysql_stmt_prepare(THD *thd, char *packet, uint packet_length,
|
|||||||
mysql_log.write(thd, COM_PREPARE, "%s", packet);
|
mysql_log.write(thd, COM_PREPARE, "%s", packet);
|
||||||
|
|
||||||
thd->current_arena= stmt;
|
thd->current_arena= stmt;
|
||||||
lex= lex_start(thd, (uchar *) thd->query, thd->query_length);
|
mysql_init_query(thd, (uchar *) thd->query, thd->query_length);
|
||||||
mysql_init_query(thd);
|
lex= thd->lex;
|
||||||
lex->safe_to_cache_query= 0;
|
lex->safe_to_cache_query= 0;
|
||||||
|
|
||||||
error= yyparse((void *)thd) || thd->is_fatal_error ||
|
error= yyparse((void *)thd) || thd->is_fatal_error ||
|
||||||
|
@@ -9681,7 +9681,7 @@ find_order_in_list(THD *thd, Item **ref_pointer_array,
|
|||||||
Item *itemptr=*order->item;
|
Item *itemptr=*order->item;
|
||||||
if (itemptr->type() == Item::INT_ITEM)
|
if (itemptr->type() == Item::INT_ITEM)
|
||||||
{ /* Order by position */
|
{ /* Order by position */
|
||||||
uint count= (uint) ((Item_int*)itemptr)->value;
|
uint count= itemptr->val_int();
|
||||||
if (!count || count > fields.elements)
|
if (!count || count > fields.elements)
|
||||||
{
|
{
|
||||||
my_printf_error(ER_BAD_FIELD_ERROR,ER(ER_BAD_FIELD_ERROR),
|
my_printf_error(ER_BAD_FIELD_ERROR,ER(ER_BAD_FIELD_ERROR),
|
||||||
|
Reference in New Issue
Block a user