summaryrefslogtreecommitdiff
path: root/BUILD
diff options
context:
space:
mode:
authorEvgeny Potemkin <epotemkin@mysql.com>2008-11-05 18:40:23 +0300
committerEvgeny Potemkin <epotemkin@mysql.com>2008-11-05 18:40:23 +0300
commit3c49cb0795fae5c43d00a499b1d4f71365bb9ba9 (patch)
treea52cac0068f7fecdc739e890dc0bc688ece7ae3c /BUILD
parentc8ee385d89338cca73dd069c7c03074d171cc8f4 (diff)
downloadmariadb-git-3c49cb0795fae5c43d00a499b1d4f71365bb9ba9.tar.gz
Bug#37870: Usage of uninitialized value caused failed assertion.
The convert_constant_item function converts a constant to integer using field for condition like 'field = a_constant'. In some cases the convert_constant_item is called for a subquery when outer select is already being executed, so convert_constant_item saves field's value to prevent its corruption. For EXPLAIN and at the prepare phase field's value isn't initialized yet, thus when convert_constant_item tries to restore saved value it fails assertion. Now the convert_constant_item doesn't save/restore field's value if it's haven't been read yet. Outer constant values are always saved. mysql-test/r/explain.result: Added a test case for the bug#37870. mysql-test/t/explain.test: Added a test case for the bug#37870. sql/item_cmpfunc.cc: Bug#37870: Usage of uninitialized value caused failed assertion. Now the convert_constant_item doesn't save/restore field's value if it's haven't been read yet. Outer constant values are always saved.
Diffstat (limited to 'BUILD')
-rwxr-xr-xBUILD/SETUP.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/BUILD/SETUP.sh b/BUILD/SETUP.sh
index ef8aefca710..3655d3eae67 100755
--- a/BUILD/SETUP.sh
+++ b/BUILD/SETUP.sh
@@ -80,7 +80,7 @@ path=`dirname $0`
. "$path/check-cpu"
export AM_MAKEFLAGS
-AM_MAKEFLAGS="-j 4"
+AM_MAKEFLAGS="-j 6"
# SSL library to use.--with-ssl will select our bundled yaSSL
# implementation of SSL. To use openSSl you will nee too point out
@@ -105,7 +105,7 @@ if [ "x$warning_mode" != "xpedantic" ]; then
cxx_warnings="$cxx_warnings -Wreorder"
cxx_warnings="$cxx_warnings -Wctor-dtor-privacy -Wnon-virtual-dtor"
# Added unless --with-debug=full
- debug_extra_cflags="-O1 -Wuninitialized"
+ debug_extra_cflags="-O0 -g3 -gdwarf-2" #1 -Wuninitialized"
else
warnings="-W -Wall -ansi -pedantic -Wno-long-long -Wno-unused -D_POSIX_SOURCE"
c_warnings="$warnings"