mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge BUG#35478 into mysql-5.1-bugteam
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
############## mysql-test\t\query_prealloc_size_basic.test ###############
|
################# mysql-test\t\query_prealloc_size_basic.test ##################
|
||||||
# #
|
# #
|
||||||
# Variable Name: query_prealloc_size #
|
# Variable Name: query_prealloc_size #
|
||||||
# Scope: GLOBAL | SESSION #
|
# Scope: GLOBAL | SESSION #
|
||||||
@ -18,10 +18,13 @@
|
|||||||
# * Scope & Access method #
|
# * Scope & Access method #
|
||||||
# * Data Integrity #
|
# * Data Integrity #
|
||||||
# #
|
# #
|
||||||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
|
# Reference: #
|
||||||
# server-system-variables.html #
|
# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
|
||||||
# #
|
# #
|
||||||
###############################################################################
|
# Last Modification: #
|
||||||
|
# 2008-07-14 hhunger removed values for 64 bit platforms. #
|
||||||
|
# #
|
||||||
|
################################################################################
|
||||||
|
|
||||||
--source include/load_sysvars.inc
|
--source include/load_sysvars.inc
|
||||||
|
|
||||||
@ -67,30 +70,32 @@ SELECT @@session.query_prealloc_size = 8192;
|
|||||||
|
|
||||||
|
|
||||||
--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
|
--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
|
||||||
##################################################################################
|
################################################################################
|
||||||
# Change the value of query_prealloc_size to a valid value for GLOBAL Scope #
|
# Change the value of query_prealloc_size to a valid value for GLOBAL Scope #
|
||||||
##################################################################################
|
################################################################################
|
||||||
|
|
||||||
SET @@global.query_prealloc_size = 8192;
|
SET @@global.query_prealloc_size = 8192;
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
|
|
||||||
SET @@global.query_prealloc_size = 4294967295;
|
# Due to problems with 64 bit machines having less than 6 GB main memory.
|
||||||
SELECT @@global.query_prealloc_size ;
|
#SET @@global.query_prealloc_size = 4294967295;
|
||||||
|
#SELECT @@global.query_prealloc_size ;
|
||||||
|
|
||||||
SET @@global.query_prealloc_size = 655354;
|
SET @@global.query_prealloc_size = 655354;
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
|
|
||||||
|
|
||||||
--echo '#--------------------FN_DYNVARS_005_04-------------------------#'
|
--echo '#--------------------FN_DYNVARS_005_04-------------------------#'
|
||||||
###################################################################################
|
##################################################################################
|
||||||
# Change the value of query_prealloc_size to a valid value for SESSION Scope #
|
# Change the value of query_prealloc_size to a valid value for SESSION Scope #
|
||||||
###################################################################################
|
##################################################################################
|
||||||
|
|
||||||
SET @@session.query_prealloc_size = 8192;
|
SET @@session.query_prealloc_size = 8192;
|
||||||
SELECT @@session.query_prealloc_size ;
|
SELECT @@session.query_prealloc_size ;
|
||||||
|
|
||||||
SET @@session.query_prealloc_size = 4294967295;
|
# Due to problems with 64 bit machines having less than 6 GB main memory.
|
||||||
SELECT @@session.query_prealloc_size ;
|
#SET @@session.query_prealloc_size = 4294967295;
|
||||||
|
#SELECT @@session.query_prealloc_size ;
|
||||||
|
|
||||||
SET @@session.query_prealloc_size = 655345;
|
SET @@session.query_prealloc_size = 655345;
|
||||||
SELECT @@session.query_prealloc_size ;
|
SELECT @@session.query_prealloc_size ;
|
||||||
@ -109,8 +114,9 @@ SELECT @@global.query_prealloc_size ;
|
|||||||
SET @@global.query_prealloc_size = -1024;
|
SET @@global.query_prealloc_size = -1024;
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
|
|
||||||
SET @@global.query_prealloc_size = 429496729533;
|
# Due to problems with 64 bit machines having less than 6 GB main memory.
|
||||||
SELECT @@global.query_prealloc_size ;
|
#SET @@global.query_prealloc_size = 429496729533;
|
||||||
|
#SELECT @@global.query_prealloc_size ;
|
||||||
|
|
||||||
|
|
||||||
--Error ER_PARSE_ERROR
|
--Error ER_PARSE_ERROR
|
||||||
@ -188,18 +194,19 @@ SELECT @@global.query_prealloc_size ;
|
|||||||
|
|
||||||
|
|
||||||
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
|
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
|
||||||
####################################################################################
|
################################################################################
|
||||||
# Check if accessing variable with and without GLOBAL point to same variable #
|
# Check if accessing variable with and without GLOBAL point to same variable #
|
||||||
####################################################################################
|
################################################################################
|
||||||
|
|
||||||
SET @@global.query_prealloc_size = 10;
|
SET @@global.query_prealloc_size = 10;
|
||||||
SELECT @@query_prealloc_size = @@global.query_prealloc_size ;
|
SELECT @@query_prealloc_size = @@global.query_prealloc_size ;
|
||||||
|
|
||||||
|
|
||||||
--echo '#---------------------FN_DYNVARS_001_10----------------------#'
|
--echo '#---------------------FN_DYNVARS_001_10----------------------#'
|
||||||
########################################################################################################
|
##############################################################################
|
||||||
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
|
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to #
|
||||||
########################################################################################################
|
# to the same session variable #
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
SET @@query_prealloc_size = 100;
|
SET @@query_prealloc_size = 100;
|
||||||
SELECT @@query_prealloc_size = @@local.query_prealloc_size ;
|
SELECT @@query_prealloc_size = @@local.query_prealloc_size ;
|
||||||
@ -207,9 +214,9 @@ SELECT @@local.query_prealloc_size = @@session.query_prealloc_size ;
|
|||||||
|
|
||||||
|
|
||||||
--echo '#---------------------FN_DYNVARS_001_11----------------------#'
|
--echo '#---------------------FN_DYNVARS_001_11----------------------#'
|
||||||
###################################################################################
|
################################################################################
|
||||||
# Check if query_prealloc_size can be accessed with and without @@ sign #
|
# Check if query_prealloc_size can be accessed with and without @@ sign #
|
||||||
###################################################################################
|
################################################################################
|
||||||
|
|
||||||
SET query_prealloc_size = 1;
|
SET query_prealloc_size = 1;
|
||||||
SELECT @@query_prealloc_size ;
|
SELECT @@query_prealloc_size ;
|
||||||
@ -237,3 +244,4 @@ SELECT @@session.query_prealloc_size ;
|
|||||||
#############################################################
|
#############################################################
|
||||||
# END OF query_prealloc_size TESTS #
|
# END OF query_prealloc_size TESTS #
|
||||||
#############################################################
|
#############################################################
|
||||||
|
|
||||||
|
@ -35,10 +35,6 @@ SET @@global.query_prealloc_size = 8192;
|
|||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
8192
|
8192
|
||||||
SET @@global.query_prealloc_size = 4294967295;
|
|
||||||
SELECT @@global.query_prealloc_size ;
|
|
||||||
@@global.query_prealloc_size
|
|
||||||
4294966272
|
|
||||||
SET @@global.query_prealloc_size = 655354;
|
SET @@global.query_prealloc_size = 655354;
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
@ -48,10 +44,6 @@ SET @@session.query_prealloc_size = 8192;
|
|||||||
SELECT @@session.query_prealloc_size ;
|
SELECT @@session.query_prealloc_size ;
|
||||||
@@session.query_prealloc_size
|
@@session.query_prealloc_size
|
||||||
8192
|
8192
|
||||||
SET @@session.query_prealloc_size = 4294967295;
|
|
||||||
SELECT @@session.query_prealloc_size ;
|
|
||||||
@@session.query_prealloc_size
|
|
||||||
4294966272
|
|
||||||
SET @@session.query_prealloc_size = 655345;
|
SET @@session.query_prealloc_size = 655345;
|
||||||
SELECT @@session.query_prealloc_size ;
|
SELECT @@session.query_prealloc_size ;
|
||||||
@@session.query_prealloc_size
|
@@session.query_prealloc_size
|
||||||
@ -69,37 +61,31 @@ Warning 1292 Truncated incorrect query_prealloc_size value: '0'
|
|||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
8192
|
8192
|
||||||
SET @@global.query_prealloc_size = 429496729533;
|
|
||||||
Warnings:
|
|
||||||
Warning 1292 Truncated incorrect query_prealloc_size value: '429496729533'
|
|
||||||
SELECT @@global.query_prealloc_size ;
|
|
||||||
@@global.query_prealloc_size
|
|
||||||
4294966272
|
|
||||||
SET @@global.query_prealloc_size = 65530.34.;
|
SET @@global.query_prealloc_size = 65530.34.;
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
4294966272
|
8192
|
||||||
SET @@global.query_prealloc_size = test;
|
SET @@global.query_prealloc_size = test;
|
||||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
4294966272
|
8192
|
||||||
SET @@global.query_prealloc_size = "test";
|
SET @@global.query_prealloc_size = "test";
|
||||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
4294966272
|
8192
|
||||||
SET @@global.query_prealloc_size = 'test';
|
SET @@global.query_prealloc_size = 'test';
|
||||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
4294966272
|
8192
|
||||||
SET @@global.query_prealloc_size = ON;
|
SET @@global.query_prealloc_size = ON;
|
||||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
4294966272
|
8192
|
||||||
SET @@session.query_prealloc_size = 0;
|
SET @@session.query_prealloc_size = 0;
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1292 Truncated incorrect query_prealloc_size value: '0'
|
Warning 1292 Truncated incorrect query_prealloc_size value: '0'
|
||||||
|
@ -35,10 +35,6 @@ SET @@global.query_prealloc_size = 8192;
|
|||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
8192
|
8192
|
||||||
SET @@global.query_prealloc_size = 4294967295;
|
|
||||||
SELECT @@global.query_prealloc_size ;
|
|
||||||
@@global.query_prealloc_size
|
|
||||||
4294966272
|
|
||||||
SET @@global.query_prealloc_size = 655354;
|
SET @@global.query_prealloc_size = 655354;
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
@ -48,10 +44,6 @@ SET @@session.query_prealloc_size = 8192;
|
|||||||
SELECT @@session.query_prealloc_size ;
|
SELECT @@session.query_prealloc_size ;
|
||||||
@@session.query_prealloc_size
|
@@session.query_prealloc_size
|
||||||
8192
|
8192
|
||||||
SET @@session.query_prealloc_size = 4294967295;
|
|
||||||
SELECT @@session.query_prealloc_size ;
|
|
||||||
@@session.query_prealloc_size
|
|
||||||
4294966272
|
|
||||||
SET @@session.query_prealloc_size = 655345;
|
SET @@session.query_prealloc_size = 655345;
|
||||||
SELECT @@session.query_prealloc_size ;
|
SELECT @@session.query_prealloc_size ;
|
||||||
@@session.query_prealloc_size
|
@@session.query_prealloc_size
|
||||||
@ -69,35 +61,31 @@ Warning 1292 Truncated incorrect query_prealloc_size value: '0'
|
|||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
8192
|
8192
|
||||||
SET @@global.query_prealloc_size = 429496729533;
|
|
||||||
SELECT @@global.query_prealloc_size ;
|
|
||||||
@@global.query_prealloc_size
|
|
||||||
429496728576
|
|
||||||
SET @@global.query_prealloc_size = 65530.34.;
|
SET @@global.query_prealloc_size = 65530.34.;
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
429496728576
|
8192
|
||||||
SET @@global.query_prealloc_size = test;
|
SET @@global.query_prealloc_size = test;
|
||||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
429496728576
|
8192
|
||||||
SET @@global.query_prealloc_size = "test";
|
SET @@global.query_prealloc_size = "test";
|
||||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
429496728576
|
8192
|
||||||
SET @@global.query_prealloc_size = 'test';
|
SET @@global.query_prealloc_size = 'test';
|
||||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
429496728576
|
8192
|
||||||
SET @@global.query_prealloc_size = ON;
|
SET @@global.query_prealloc_size = ON;
|
||||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||||
SELECT @@global.query_prealloc_size ;
|
SELECT @@global.query_prealloc_size ;
|
||||||
@@global.query_prealloc_size
|
@@global.query_prealloc_size
|
||||||
429496728576
|
8192
|
||||||
SET @@session.query_prealloc_size = 0;
|
SET @@session.query_prealloc_size = 0;
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1292 Truncated incorrect query_prealloc_size value: '0'
|
Warning 1292 Truncated incorrect query_prealloc_size value: '0'
|
||||||
|
@ -3758,8 +3758,6 @@ longlong Item_func_in::val_int()
|
|||||||
return (longlong) (!null_value && tmp != negated);
|
return (longlong) (!null_value && tmp != negated);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((null_value= args[0]->null_value))
|
|
||||||
return 0;
|
|
||||||
have_null= 0;
|
have_null= 0;
|
||||||
for (uint i= 1 ; i < arg_count ; i++)
|
for (uint i= 1 ; i < arg_count ; i++)
|
||||||
{
|
{
|
||||||
@ -3769,6 +3767,8 @@ longlong Item_func_in::val_int()
|
|||||||
if (!(value_added_map & (1 << (uint)cmp_type)))
|
if (!(value_added_map & (1 << (uint)cmp_type)))
|
||||||
{
|
{
|
||||||
in_item->store_value(args[0]);
|
in_item->store_value(args[0]);
|
||||||
|
if ((null_value= args[0]->null_value))
|
||||||
|
return 0;
|
||||||
value_added_map|= 1 << (uint)cmp_type;
|
value_added_map|= 1 << (uint)cmp_type;
|
||||||
}
|
}
|
||||||
if (!in_item->cmp(args[i]) && !args[i]->null_value)
|
if (!in_item->cmp(args[i]) && !args[i]->null_value)
|
||||||
|
@ -7936,7 +7936,7 @@ int QUICK_INDEX_MERGE_SELECT::read_keys_and_merge()
|
|||||||
handler *file= head->file;
|
handler *file= head->file;
|
||||||
DBUG_ENTER("QUICK_INDEX_MERGE_SELECT::read_keys_and_merge");
|
DBUG_ENTER("QUICK_INDEX_MERGE_SELECT::read_keys_and_merge");
|
||||||
|
|
||||||
|
/* We're going to just read rowids. */
|
||||||
file->extra(HA_EXTRA_KEYREAD);
|
file->extra(HA_EXTRA_KEYREAD);
|
||||||
head->prepare_for_position();
|
head->prepare_for_position();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user