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 #
|
||||
# Scope: GLOBAL | SESSION #
|
||||
@ -12,16 +12,19 @@
|
||||
# Author: Rizwan #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable query_prealloc_size #
|
||||
# that checks the behavior of this variable in the following ways#
|
||||
# that checks the behavior of this variable in the following ways #
|
||||
# * Default Value #
|
||||
# * Valid & Invalid values #
|
||||
# * Scope & Access method #
|
||||
# * Data Integrity #
|
||||
# #
|
||||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
|
||||
# server-system-variables.html #
|
||||
# Reference: #
|
||||
# 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
|
||||
|
||||
@ -67,30 +70,32 @@ SELECT @@session.query_prealloc_size = 8192;
|
||||
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
|
||||
##################################################################################
|
||||
################################################################################
|
||||
# Change the value of query_prealloc_size to a valid value for GLOBAL Scope #
|
||||
##################################################################################
|
||||
################################################################################
|
||||
|
||||
SET @@global.query_prealloc_size = 8192;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
|
||||
SET @@global.query_prealloc_size = 4294967295;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
# Due to problems with 64 bit machines having less than 6 GB main memory.
|
||||
#SET @@global.query_prealloc_size = 4294967295;
|
||||
#SELECT @@global.query_prealloc_size ;
|
||||
|
||||
SET @@global.query_prealloc_size = 655354;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_005_04-------------------------#'
|
||||
###################################################################################
|
||||
##################################################################################
|
||||
# Change the value of query_prealloc_size to a valid value for SESSION Scope #
|
||||
###################################################################################
|
||||
##################################################################################
|
||||
|
||||
SET @@session.query_prealloc_size = 8192;
|
||||
SELECT @@session.query_prealloc_size ;
|
||||
|
||||
SET @@session.query_prealloc_size = 4294967295;
|
||||
SELECT @@session.query_prealloc_size ;
|
||||
# Due to problems with 64 bit machines having less than 6 GB main memory.
|
||||
#SET @@session.query_prealloc_size = 4294967295;
|
||||
#SELECT @@session.query_prealloc_size ;
|
||||
|
||||
SET @@session.query_prealloc_size = 655345;
|
||||
SELECT @@session.query_prealloc_size ;
|
||||
@ -109,8 +114,9 @@ SELECT @@global.query_prealloc_size ;
|
||||
SET @@global.query_prealloc_size = -1024;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
|
||||
SET @@global.query_prealloc_size = 429496729533;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
# Due to problems with 64 bit machines having less than 6 GB main memory.
|
||||
#SET @@global.query_prealloc_size = 429496729533;
|
||||
#SELECT @@global.query_prealloc_size ;
|
||||
|
||||
|
||||
--Error ER_PARSE_ERROR
|
||||
@ -188,18 +194,19 @@ SELECT @@global.query_prealloc_size ;
|
||||
|
||||
|
||||
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
|
||||
####################################################################################
|
||||
################################################################################
|
||||
# Check if accessing variable with and without GLOBAL point to same variable #
|
||||
####################################################################################
|
||||
################################################################################
|
||||
|
||||
SET @@global.query_prealloc_size = 10;
|
||||
SELECT @@query_prealloc_size = @@global.query_prealloc_size ;
|
||||
|
||||
|
||||
--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;
|
||||
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----------------------#'
|
||||
###################################################################################
|
||||
################################################################################
|
||||
# Check if query_prealloc_size can be accessed with and without @@ sign #
|
||||
###################################################################################
|
||||
################################################################################
|
||||
|
||||
SET query_prealloc_size = 1;
|
||||
SELECT @@query_prealloc_size ;
|
||||
@ -237,3 +244,4 @@ SELECT @@session.query_prealloc_size ;
|
||||
#############################################################
|
||||
# END OF query_prealloc_size TESTS #
|
||||
#############################################################
|
||||
|
||||
|
@ -35,10 +35,6 @@ SET @@global.query_prealloc_size = 8192;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
8192
|
||||
SET @@global.query_prealloc_size = 4294967295;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
4294966272
|
||||
SET @@global.query_prealloc_size = 655354;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
@ -48,10 +44,6 @@ SET @@session.query_prealloc_size = 8192;
|
||||
SELECT @@session.query_prealloc_size ;
|
||||
@@session.query_prealloc_size
|
||||
8192
|
||||
SET @@session.query_prealloc_size = 4294967295;
|
||||
SELECT @@session.query_prealloc_size ;
|
||||
@@session.query_prealloc_size
|
||||
4294966272
|
||||
SET @@session.query_prealloc_size = 655345;
|
||||
SELECT @@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 ;
|
||||
@@global.query_prealloc_size
|
||||
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.;
|
||||
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 ;
|
||||
@@global.query_prealloc_size
|
||||
4294966272
|
||||
8192
|
||||
SET @@global.query_prealloc_size = test;
|
||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
4294966272
|
||||
8192
|
||||
SET @@global.query_prealloc_size = "test";
|
||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
4294966272
|
||||
8192
|
||||
SET @@global.query_prealloc_size = 'test';
|
||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
4294966272
|
||||
8192
|
||||
SET @@global.query_prealloc_size = ON;
|
||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
4294966272
|
||||
8192
|
||||
SET @@session.query_prealloc_size = 0;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_prealloc_size value: '0'
|
||||
|
@ -35,10 +35,6 @@ SET @@global.query_prealloc_size = 8192;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
8192
|
||||
SET @@global.query_prealloc_size = 4294967295;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
4294966272
|
||||
SET @@global.query_prealloc_size = 655354;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
@ -48,10 +44,6 @@ SET @@session.query_prealloc_size = 8192;
|
||||
SELECT @@session.query_prealloc_size ;
|
||||
@@session.query_prealloc_size
|
||||
8192
|
||||
SET @@session.query_prealloc_size = 4294967295;
|
||||
SELECT @@session.query_prealloc_size ;
|
||||
@@session.query_prealloc_size
|
||||
4294966272
|
||||
SET @@session.query_prealloc_size = 655345;
|
||||
SELECT @@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 ;
|
||||
@@global.query_prealloc_size
|
||||
8192
|
||||
SET @@global.query_prealloc_size = 429496729533;
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
429496728576
|
||||
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
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
429496728576
|
||||
8192
|
||||
SET @@global.query_prealloc_size = test;
|
||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
429496728576
|
||||
8192
|
||||
SET @@global.query_prealloc_size = "test";
|
||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
429496728576
|
||||
8192
|
||||
SET @@global.query_prealloc_size = 'test';
|
||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
429496728576
|
||||
8192
|
||||
SET @@global.query_prealloc_size = ON;
|
||||
ERROR 42000: Incorrect argument type to variable 'query_prealloc_size'
|
||||
SELECT @@global.query_prealloc_size ;
|
||||
@@global.query_prealloc_size
|
||||
429496728576
|
||||
8192
|
||||
SET @@session.query_prealloc_size = 0;
|
||||
Warnings:
|
||||
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);
|
||||
}
|
||||
|
||||
if ((null_value= args[0]->null_value))
|
||||
return 0;
|
||||
have_null= 0;
|
||||
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)))
|
||||
{
|
||||
in_item->store_value(args[0]);
|
||||
if ((null_value= args[0]->null_value))
|
||||
return 0;
|
||||
value_added_map|= 1 << (uint)cmp_type;
|
||||
}
|
||||
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;
|
||||
DBUG_ENTER("QUICK_INDEX_MERGE_SELECT::read_keys_and_merge");
|
||||
|
||||
|
||||
/* We're going to just read rowids. */
|
||||
file->extra(HA_EXTRA_KEYREAD);
|
||||
head->prepare_for_position();
|
||||
|
||||
|
Reference in New Issue
Block a user