by starting with an empty index set and adding indexes to it until it
becomes covering. If the set becomes covering after adding the first index,
return NULL and don't try constructing ROR-intersection of one index (which
caused a crash)
Post-review version. Some minor review fixes, but also changed the way
some errors are handled: Don't return specific parse errors; instead
always use the more general "table corrupt" error (amended accordingly).
mysql-test/r/sp-destruct.result:
Updated results.
mysql-test/r/sp-error.result:
Updated for fully qualified name in "no return" error message.
mysql-test/t/sp-destruct.test:
Adopted the more consistent error handling for a corrupted mysql.proc table.
(No more "parse error" et al).
sql/share/errmsg.txt:
Changed ER_SP_PROC_TABLE_CORRUPT to be more explicit.
sql/sp.cc:
Review fixes.
Changed the handling of parse errors, and added the routine name to the "table corrupt" error message.
sql/sql_base.cc:
Review changes: Change error tests and added comments.
sql/sql_parse.cc:
Mored ER_SP_NORETURN test of functions to sql_yacc.yy for more general error handling.
sql/sql_yacc.yy:
Mored ER_SP_NORETURN test of functions from sql_parse.cc for more general error handling.
CREATE TABLE and PS/SP": make sure that 'typelib' object for
ENUM values and 'Item_string' object for DEFAULT clause are
created in the statement memory root.
mysql-test/r/ps.result:
Test results has been fixed (Bug#14410)
mysql-test/t/ps.test:
A test case for Bug#14410 "Crash in Enum or Set type in CREATE
TABLE and PS/SP"
sql/mysql_priv.h:
typelib() function declaration has been changed.
sql/sql_table.cc:
Supply the statement memory root to use in typelib() and
safe_charset_converter() functions to ensure that objects
created during the first execution of CREATE TABLE statement
are allocated in persistent memory of the statement.
sql/table.cc:
Change typelib() function to require MEM_ROOT.
mysql-test/t/sp.test:
Tidying up after merge.
sql/mysqld.cc:
Make sure we have thd->thread_stack set before calling store_globals().
(And fixed compiler warning.)
sql/sql_class.cc:
Init THD::tread_stack in constructor.
Loose index scan using only second part of multipart index was choosen, which
results in creating wrong keys and endless loop.
get_best_group_min_max() now allows loose index scan for distinct only if used
keyparts forms a prefix of the index.
mysql-test/t/group_min_max.test:
Test case for bug #13293 Wrongly used index results in endless loop.
mysql-test/r/group_min_max.result:
Test case for bug #13293 Wrongly used index results in endless loop.
sql/opt_range.cc:
Fix bug #13293 Wrongly used index results in endless loop.
get_best_group_min_max() now allows loose index scan for distinct only if used keyparts forms a prefix of the index.
mysql-test/r/alter_table.result:
test result
mysql-test/t/alter_table.test:
test case
sql/sql_table.cc:
we should set the flag with the ALTER requirements
- Use libtool to build libraries
config/ac-macros/yassl.m4:
If necessary, disable inlining for all files in libtaocrypt not only integer.cpp
Remove ver yassl_libs_with_path, not used anymore
extra/yassl/src/Makefile.am:
Let libtool build libraries
extra/yassl/taocrypt/src/Makefile.am:
Let libtool build libraries
Only build one lib
libmysqld/Makefile.am:
Dont include yassl libs in libmysqld
libmysqld/examples/Makefile.am:
Add yassl includes and libs when linking examples with libmysqld
crash
resolve_const_item() substitutes item which will evaluate to constant with
equvalent constant item, basing on the item's result type. In this case
subselect was resolved as constant, and resolve_const_item() was substituting
it's result's Item_caches to Item_null. Later Item_cache's function was called
for Item_null object, which caused server crash.
resolve_const_item() now substitutes constants for items with
result_type == ROW_RESULT only for Item_rows.
sql/item.cc:
Fix bug #14482 Wrongly applied optimization in resolve_const_item() caused
crash
resolve_const_item() now applies optimization for items with
result_type == ROW_RESULT only to Item_rows.
mysql-test/t/select.test:
Test case for bug #14482 Wrongly applied optimization in resolve_const_item() caused crash
mysql-test/r/select.result:
Test case for bug #14482 Wrongly applied optimization in resolve_const_item() caused crash
extra/innochecksum.c:
Define _XOPEN_SOURCE in order to include getopt.h when needed.
The problem is that some platforms (for instance,
SuSE 9.1/gcc-3.3.3) do not include getopt.h unless _XOPEN_SOURCE
is defined, so optarg is undefined and the compiler complains.
In the rare circumstance where a mysqld connects to a mgm server, then the
mgm server goes away before a node id can be allocated, it was possible to get
an Error in mgm protocol parser error message.
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
When allocating node id, retry connecting to a management server if it goes away.
ndb/src/mgmapi/mgmapi.cpp:
Treat Eof and NoLine results from the parser as a sign that we should disconnect
from this management server. It's up to the caller to work out if they want
to try again.
--hex-blob is used. (Bug #13318)
client/mysqldump.c:
Don't use 0x... syntax for empty fields.
mysql-test/r/mysqldump.result:
Add new results
mysql-test/t/mysqldump.test:
Add new regression test
mysql-test/r/create.result:
Add new results
mysql-test/t/create.test:
Add regression test
sql/table.cc:
To cap a value at 2^32-1 on a 64-bit platform, use UINT_MAX32, not
~(ulong)0, since a ulong may be 64-bit itself.
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
check_stack_overrun().
sql/slave.cc:
Move initialization of THD::thread_stack before THD::store_globals()
sql/sql_acl.cc:
Initialize THD::thread_stack in artificial THDs used
to load gratns subsystem.
sql/sql_class.cc:
Add an assert that THD::thread_stack is assigned.
sql/sql_insert.cc:
Add initialization of THD::thread_stack (delayed insert
thread).
sql/sql_parse.cc:
Move initialization of THD::thread_stack before
THD::store_globals().
sql/sql_udf.cc:
Add initialization for THD::thread_stack (an artificial
THD used to initialize UDF subsystem).
sql/tztime.cc:
Add initialization for THD::thread_stack (an artificial
THD used to initialize timezones).
table statistics is not updated, so the next execution of analyze table will
try to update statistics again.
mysql-test/r/analyze.result:
Updated result file for bug #14902 test.
mysql-test/t/analyze.test:
Test for bug #14902.
Don't set thd->is_fatal_error in sql_update for duplicate key errors.
mysql-test/r/sp.result:
New test case for BUG#13729.
mysql-test/r/sp_trans.result:
New test case for BUG#14840.
mysql-test/t/sp.test:
New test case for BUG#13729.
mysql-test/t/sp_trans.test:
New test case for BUG#14840.
sql/sql_update.cc:
Don't set thd->is_fatal_error if it's a duplicate key error.