The bug report revealed two problems related to min/max optimization:
1. If the length of a constant key used in a SARGable condition for
for the MIN/MAX fields is greater than the length of the field an
unwanted warning on key truncation is issued;
2. If MIN/MAX optimization is applied to a partial index, like INDEX(b(4))
than can lead to returning a wrong result set.
mysql-test/r/func_group.result:
Added test cases for bug #18206.
mysql-test/t/func_group.test:
Added test cases for bug #18206.
sql/opt_sum.cc:
Fixed bug #18206.
Suppressed the warning about data truncation when store_val_in_field
was used to store keys for the field used in MIN/MAX optimization.
Blocked MIN/MAX optimization for partial keys, such as in INDEX(b(4)).
sql/sql_select.cc:
Fixed bug #18206.
Added a parameter for the function store_val_in_field allowing to
control setting warnings about data truncation in the function.
sql/sql_select.h:
Fixed bug #18206.
Added a parameter for the function store_val_in_field allowing to
control setting warnings about data truncation in the function.
into mysql.com:/home/mysql_src/mysql-5.1-new-WL3146-handler
sql/ha_berkeley.cc:
Auto merged
sql/ha_berkeley.h:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
storage/archive/ha_archive.cc:
Auto merged
storage/archive/ha_archive.h:
Auto merged
New prototype for get_auto_increment() (but new arguments not yet used), to be able
to reserve a finite interval of auto_increment values from cooperating engines.
A hint on how many values to reserve is found in handler::estimation_rows_to_insert,
filled by ha_start_bulk_insert(), new wrapper around start_bulk_insert().
NOTE: this patch changes nothing, for all engines. But it makes the API ready for those
engines which will want to do reservation.
More csets will come to complete WL#3146.
sql/ha_berkeley.cc:
update to new prototype of get_auto_increment
sql/ha_berkeley.h:
update to new prototype of get_auto_increment
sql/ha_heap.cc:
update to new prototype of get_auto_increment
sql/ha_heap.h:
update to new prototype of get_auto_increment
sql/ha_innodb.cc:
update to new prototype of get_auto_increment
sql/ha_innodb.h:
update to new prototype of get_auto_increment
sql/ha_myisam.cc:
update to new prototype of get_auto_increment
sql/ha_myisam.h:
update to new prototype of get_auto_increment
sql/ha_ndbcluster.cc:
update to new prototype of get_auto_increment
sql/ha_ndbcluster.h:
update to new prototype of get_auto_increment
sql/ha_partition.cc:
update to new prototype of get_auto_increment
sql/ha_partition.h:
update to new prototype of get_auto_increment
sql/handler.cc:
new prototype of get_auto_increment, comments, preparation for when the MySQL layer is capable
of getting finite auto_increment intervals from cooperating engines.
sql/handler.h:
a wrapper around start_bulk_insert(): ha_bulk_insert(), which stores the argument (number
of rows expected for insertion) into a member of handler: estimation_rows_to_insert.
This member will soon be used to decide how much auto_increment values we want to reserve
from cooperating engines.
New prototype for get_auto_increment, preparing for cooperating engines to reserve finite auto_increment
intervals.
release_auto_increment() will be used by the MySQL layer to inform the engine that it has
not used all of the interval (engine can reclaim it).
sql/log.cc:
note for the future
sql/log_event.cc:
name of wrapper
sql/sql_insert.cc:
name of wrapper. When done with inserting, return unused auto_inc values to engine.
sql/sql_load.cc:
name of wrapper. When done with inserting, return unused auto_inc values to engine.
sql/sql_select.cc:
name of wrapper
sql/sql_table.cc:
name of wrapper
storage/archive/ha_archive.cc:
update to new prototype of get_auto_increment.
Archive reserves only one value (Archive's god - Brian - told me that's the truth).
storage/archive/ha_archive.h:
update to new prototype of get_auto_increment()
into mysql.com:/home/mydev/mysql-5.1-amerge
sql/sql_db.cc:
Auto merged
storage/myisam/mi_check.c:
Auto merged
storage/myisam/myisamdef.h:
Auto merged
mysql-test/r/lock_multi.result:
Manual merge of team tree
mysql-test/t/lock_multi.test:
Manual merge of team tree
3.23 regression test failure
The member SEL_ARG::min_flag was not initialized,
due to which the condition for no GEOM_FLAG in function
key_or did not choose "Range checked for each record" as
the correct access method.
mysql-test/r/select.result:
testcase for 'Range checked' access method
mysql-test/t/select.test:
testcase for 'Range checked' access method
sql/opt_range.cc:
All of the class members initialized
into mysql.com:/home/marty/MySQL/mysql-5.0
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.h:
Merge
iterators creation interface added to handlerton
sql/ha_berkeley.cc:
added new methods
sql/ha_federated.cc:
added new methods
sql/ha_heap.cc:
added new methods
sql/ha_innodb.cc:
added new methods
sql/ha_myisam.cc:
added new methods
sql/ha_myisammrg.cc:
added new methods
sql/ha_ndbcluster.cc:
added new methods
sql/ha_partition.cc:
added new methods
sql/handler.cc:
added new methods
spelling fixed
examples of functions for new interface added
sql/handler.h:
transaction logs management interface added
general iterator creatioin interface added
sql/log.cc:
added new methods
storage/archive/ha_archive.cc:
added new methods
storage/blackhole/ha_blackhole.cc:
added new methods
storage/csv/ha_tina.cc:
added new methods
storage/example/ha_example.cc:
added new methods
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-new-marvel
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
If the first part was SHOW and second part SELECT, it would have
thought that the command was SELECT, although the first part of
it was SHOW. It would then fail later.
Thus we need to set thd->lex to old_lex (first part) here before going
in to prepare_security().
ALTER TABLE crashes
Executing fast alter table (one that doesn't need to copy data)
on tables created by mysql versions prior to 4.0.25 could result
in posterior server crash when accessing these tables.
There was a bug prior to mysql-4.0.25. Number of null fields was
calculated incorrectly. As a result frm and data files gets out of
sync after fast alter table. There is no way to determine by which
mysql version (in 4.0 and 4.1 branches) table was created, thus we
disable fast alter table for all tables created by mysql versions
prior to 5.0 branch.
See BUG#6236.
sql/sql_table.cc:
There was a bug prior to mysql-4.0.25. Number of null fields was
calculated incorrectly. As a result frm and data files gets out of
sync after fast alter table. There is no way to determine by which
mysql version (in 4.0 and 4.1 branches) table was created, thus we
disable fast alter table for all tables created by mysql versions
prior to 5.0 branch.
See BUG#6236.
Only check for FN_DEVCHAR in filenames if FN_DEVCHAR is defined.
This allows to use table names with ":" on non windows platforms.
On Windows platform get an error if you use table name that contains FN_DEVCHAR
include/config-win.h:
Moved FN_DEVCHAR to config-win.h
include/my_global.h:
Moved FN_DEVCHAR to config-win.h
mysql-test/r/create.result:
Added testcase for Bug#19479:mysqldump creates invalid dump
BitKeeper/etc/ignore:
Added sql/share/iso639-2.txt sql/share/fixerrmsg.pl to the ignore list
mysql-test/t/create.test:
Added testcase for Bug#19479:mysqldump creates invalid dump
mysys/mf_fn_ext.c:
Added checking of BASKSLASH_MBTAIL as dirname_part depends on it.
Fixed cast and indentation.
sql/table.cc:
Only check for FN_DEVCHAR in filenames if FN_DEVCHAR is defined.
This allows to use table names with ":" on non windows platforms.
On Windows platform get an error if you use table name that contains FN_DEVCHAR
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
mysql-test/t/disabled.def:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
into c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug18198
sql/sql_partition.cc:
Auto merged
sql/sql_show.cc:
Auto merged
storage/archive/ha_archive.cc:
Auto merged
into c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug18198
sql/item_cmpfunc.h:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/partition_info.cc:
Auto merged
sql/item.h:
manual merge
sql/share/errmsg.txt:
manual merge
mysql-test/r/partition_error.result:
New test cases
mysql-test/t/partition_error.test:
New test cases
sql/item.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_cmpfunc.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_func.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_strfunc.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_timefunc.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_xmlfunc.h:
Added method check_partition_func_processor for check if item tree is valid
- Include prefix files that renames all public functions in yaSSLs
OpenSSL API to ya<function_name>. They will otherwise conflict
with OpenSSL functions if loaded by an application that uses OpenSSL
as well as libmysqlclient with yaSSL support.
client/Makefile.am:
Remove $yassl_includes
...and one "suspicious line"
config/ac-macros/yassl.m4:
Remove yassl_includes as they are the same as "normal" include
extra/yassl/include/openssl/crypto.h:
Add include file "prefix_crypto.h" to rename SSL_* functions to yaSSL_*
extra/yassl/include/openssl/ssl.h:
Add include file "prefix_crypto.h" to rename SSL_* functions to yaSSL_*
libmysql/Makefile.am:
Remove yassl_includes
libmysql_r/Makefile.am:
Remove yassl_includes
libmysqld/Makefile.am:
Remove yassl_includes
And one suspicious line
libmysqld/examples/Makefile.am:
Remove yassl_includes
server-tools/instance-manager/Makefile.am:
Remove yassl_includes
sql/Makefile.am:
Remove yassl_includes
tools/Makefile.am:
Add link with yaSSL libs
vio/Makefile.am:
Remove yassl_includes
extra/yassl/include/openssl/generate_prefix_files.pl:
Add utility script to parse the header files to generate the prefix_* files that renames yaSSL SSL_* functions
extra/yassl/include/openssl/prefix_crypto.h:
Add prefix file for crypto.h
extra/yassl/include/openssl/prefix_ssl.h:
Add prefix file for ssl.h
into mysql.com:/home/marty/MySQL/mysql-5.1-new
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/ha_ndbcluster.cc:
Merge
- wait for schema event also if mysqld is a single one in cluster to ensure serialization with data events
+ some current_thd removals
+ enabling kill of sql thread during shema sync wait
mysql-test/r/rpl_ndb_log.result:
Bug #18947 CRBR: order in binlog of create table and insert (on different table) not determ
mysql-test/t/disabled.def:
Bug #18947 CRBR: order in binlog of create table and insert (on different table) not determ
and in SHOW CREATE TABLE
mysql-test/r/information_schema_part.result:
Added new test cases
mysql-test/t/information_schema_part.test:
Added new test cases
sql/sql_partition.cc:
Added missing check for LINEAR keyword on subpartitions
sql/sql_show.cc:
Added missing check for LINEAR keyword on subpartitions
Small remove of duplicate code