into mysql.com:/home/tnurnberg/15327/51-15327
configure.in:
Auto merged
client/mysql.cc:
Auto merged
client/mysql_upgrade.c:
Auto merged
client/mysqladmin.cc:
Auto merged
client/mysqlbinlog.cc:
Auto merged
client/mysqlcheck.c:
Auto merged
client/mysqldump.c:
Auto merged
client/mysqlimport.c:
Auto merged
client/mysqlshow.c:
Auto merged
client/mysqltest.c:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/mysql-test-run-shell.sh:
Auto merged
scripts/Makefile.am:
Auto merged
sql/mysqld.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
into mysql.com:/home/tnurnberg/15327/50-15327
client/mysql.cc:
Auto merged
client/mysql_upgrade.c:
Auto merged
client/mysqldump.c:
Auto merged
client/mysqltest.c:
Auto merged
configure.in:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/Makefile.am:
Auto merged
scripts/Makefile.am:
Auto merged
sql/mysqld.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
into trift2.:/MySQL/M51/push-5.1
config/ac-macros/misc.m4:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/rpl_record.cc:
Auto merged
sql/rpl_rli.h:
Auto merged
sql/rpl_utility.cc:
Auto merged
sql/rpl_utility.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
Merge with 5.0-opt.
mysql-test/r/binlog_unsafe.result:
Merge with 5.0-opt.
mysql-test/r/events_bugs.result:
Merge with 5.0-opt.
mysql-test/r/events_trans.result:
Merge with 5.0-opt.
mysql-test/r/sp.result:
Merge with 5.0-opt.
mysql-test/r/sp_gis.result:
Merge with 5.0-opt.
mysql-test/r/xml.result:
Merge with 5.0-opt.
mysql-test/suite/rpl/r/rpl_incident.result:
Merge with 5.0-opt.
mysql-test/suite/rpl/r/rpl_loaddata_fatal.result:
Merge with 5.0-opt.
mysql-test/suite/rpl/r/rpl_udf.result:
Merge with 5.0-opt.
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result:
Merge with 5.0-opt.
mysql-test/suite/ndb/r/ndb_dd_basic.result:
Merge with 5.0-opt.
mysql-test/suite/ndb/r/ndb_dd_ddl.result:
Merge with 5.0-opt.
mysql-test/suite/ndb/r/ndb_gis.result:
Merge with 5.0-opt.
mysql-test/suite/ndb/r/ndb_row_format.result:
Merge with 5.0-opt.
mysql-test/suite/ndb/r/ndb_single_user.result:
Merge with 5.0-opt.
The optimizer sets index traversal in reverse order only if there are
used key parts that are not compared to a constant.
However using the primary key as an ORDER BY suffix rendered the check
incomplete : going in reverse order must still be used even if
all the parts of the secondary key are compared to a constant.
Fixed by relaxing the check and set reverse traversal even when all
the secondary index keyparts are compared to a const.
Also account for the case when all the primary keys are compared to a
constant.
mysql-test/include/mix1.inc:
Bug #31001: test case
mysql-test/r/innodb_mysql.result:
Bug #31001: test case
sql/sql_select.cc:
Bug #31001:
- account for the case when all the primary key parts are compared
to a constant.
- force test_if_skip_sort_order to go backwards over the key even
when the number of keyparts used is the same as the number of
keyparts equal to a constant. (because of the primary key
suffix).
The optimizer sets index traversal in reverse order only if there are
used key parts that are not compared to a constant.
However using the primary key as an ORDER BY suffix rendered the check
incomplete : going in reverse order must still be used even if
all the parts of the secondary key are compared to a constant.
Fixed by relaxing the check and set reverse traversal even when all
the secondary index keyparts are compared to a const.
Also account for the case when all the primary keys are compared to a
constant.
mysql-test/r/innodb_mysql.result:
Bug #31001: test case
mysql-test/t/innodb_mysql.test:
Bug #31001: test case
sql/sql_select.cc:
Bug #31001:
- account for the case when all the primary key parts are compared
to a constant
- force test_if_skip_sort_order to go backwards over the key even
when the number of keyparts used is the same as the number of
keyparts equal to a constant. (because of the primary key
suffix).
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Close files when disk full
storage/ndb/src/ndbapi/ndberror.c:
Add error messages for backup failure
storage/ndb/test/src/NdbBackup.cpp:
Add test case for disk full
into mysql.com:/home/psergey/mysql-5.1-bug27927
mysql-test/r/type_bit.result:
Auto merged
mysql-test/t/type_bit.test:
Auto merged
sql/item_sum.cc:
Auto merged
- The bug was caused by COUNT(DISTINCT ...) code using Unique object in
a way that assumed that BIT(N) column occupies a contiguous space in
temp_table->record[0] buffer.
- The fix is to make COUNT(DISTINCT ...) code instruct create_tmp_table to
create temporary table with column of type BIGINT, not BIT(N).
mysql-test/r/type_bit.result:
BUG#30324: Grouping queries with COUNT(DISTINCT bit column) return wrong results
- Testcase
mysql-test/t/type_bit.test:
BUG#30324: Grouping queries with COUNT(DISTINCT bit column) return wrong results
- Testcase
sql/item_sum.cc:
BUG#30324: Grouping queries with COUNT(DISTINCT bit column) return wrong results
- Make COUNT(DISTINCT ...) code instruct create_tmp_table to create
temporary table with BIGINT, not BIT(N) column.
- Introduced val_int_endpoint() function which converts between func
argument intervals and func value intervals for monotonic functions.
- Made partition interval analyzer use part_expr->val_int_endpoint()
to check if the edge values should be included.
mysql-test/r/partition_pruning.result:
BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
- Testcase
mysql-test/t/partition_pruning.test:
BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
- Testcase
sql/item.cc:
BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
- Added Item_field::val_int_endpoint() implementation
sql/item.h:
BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
- Added Item::val_int_endpoint() which converts intervals from argument
space to function value space for unary monotonic functions.
sql/item_timefunc.cc:
BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
- Added val_int_endpoint() for TO_DAYS and YEAR functions.
sql/item_timefunc.h:
BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
- Added val_int_endpoint() for TO_DAYS and YEAR functions.
sql/partition_info.h:
BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
- Removed partition_info::range_analysis_include_bounds as it is no longer
needed.
sql/sql_partition.cc:
BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
- Make partition interval analyzer use part_expr->val_int_endpoint() to
check if the edge values should be included.
into devsrv-b.mysql.com:/data0/gshchepa/mysql-5.1-opt
mysql-test/r/select.result:
Auto merged
mysql-test/t/select.test:
Auto merged
sql/item.cc:
Auto merged
sql/share/errmsg.txt:
Merge with 5.0-opt.
MySQL provides what appears to be a non standard extension to the
FOREIGN KEY syntax which let users name (label/tag) a foreign key
to more easily identify a specific foreign key if any problems show
up later during the query parsing or execution. But the foreign key
name was not being properly set to the right key, possible leaving
the foreign key with no name.
mysql-test/include/mix1.inc:
Add test case for Bug#30747
mysql-test/r/innodb_mysql.result:
Add test case result for Bug#30747
sql/sql_yacc.yy:
Set the foreign key name to the constraint name if a specific name was
not provided. As for the constraint name, only use the foreign name if
a specific name was not provided.
Moved out a lot of code into functions from external_lock and
start_stmt
Fixed a crashing bug at memory alloc failure
Merged the stmt and all variables into one trans variable
Always register start of statement as according to the
interface of the handlers.
Also register for start of transaction when not statement commit
== not autocommit AND no begin - commit ongoing
Now that we registered in a proper manner we also needed to handle
the commit call when end of statement and transaction is ongoing
Added start_stmt_count to know when we have start of statement
for first table
mysql-test/suite/ndb/r/ndb_lock_table.result:
Added a new test case for bug30996
mysql-test/suite/ndb/t/ndb_lock_table.test:
Added a new test case for bug30996
sql/ha_ndbcluster.cc:
Moved out a lot of code into functions from external_lock and
start_stmt
Fixed a crashing bug at memory alloc failure
Merged the stmt and all variables into one trans variable
Always register start of statement as according to the
interface of the handlers.
Also register for start of transaction when not statement commit
== not autocommit AND no begin - commit ongoing
Now that we registered in a proper manner we also needed to handle
the commit call when end of statement and transaction is ongoing
Added start_stmt_count to know when we have start of statement
for first table
sql/ha_ndbcluster.h:
New functions and merged variables
make sure that if builder configured with a non-standard (!= 3306)
default TCP port that value actually gets used throughout. if they
didn't configure a value, assume "use a sensible default", which
will be read from /etc/services or, failing that, from the factory
default. That makes the order of preference
- command-line option
- my.cnf, where applicable
- $MYSQL_TCP_PORT environment variable
- /etc/services (unless configured --with-tcp-port)
- default port (--with-tcp-port=... or factory default)
client/mysql.cc:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
client/mysql_upgrade.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
client/mysqladmin.cc:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
client/mysqlbinlog.cc:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
client/mysqlcheck.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
client/mysqldump.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
client/mysqlimport.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
client/mysqlmanagerc.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
configure.in:
Bug #15327: configure: --with-tcp-port option being partially ignored
If MYSQL_TCP_PORT defaulted in configure (factory default 3306
at the time of this writing), set MYSQL_TCP_PORT to factory
default, then clear factory default after. That way, we lose no
information, and we can distinguish between "defaulted" and the
pathological case "builder specifically configured a port that
coincides with factory default." This can in theory happen if
builder configures and builds several servers from a script
(--with-tcp-port=3306, --with-tcp-port=3316, --with-tcp-port=3326).
Not all that probable, but much preferable to having more "magic"
happen in the server when we can solve this without any guesswork.
client/mysqlshow.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
client/mysqltest.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
include/mysql_version.h.in:
Bug #15327: configure: --with-tcp-port option being partially ignored
make factory default for TCP port available as MYSQL_PORT_DEFAULT
if build-time configured with a different default. (0 if unchanged)
libmysql/libmysql.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
initialize default tcp port for client, like so:
- if user configured --with-tcp-port, use that value as default
- otherwise assume "use a good default": search mysqld/tcp in
/etc/services; if that doesn't exist, use factory default (3306)
- environment variable MYSQL_TCP_PORT overrides this default
- command-line option overrides all of the above
mysql-test/Makefile.am:
Bug #15327: configure: --with-tcp-port option being partially ignored
make factory default for TCP port available as MYSQL_TCP_PORT_DEFAULT
if build-time configured with a different default. (0 if unchanged)
mysql-test/mysql-test-run-shell.sh:
Bug #15327: configure: --with-tcp-port option being partially ignored
set up MYSQL_TCP_PORT if not already set in environment:
- if user configured --with-tcp-port, use that value as default
- otherwise assume "use a good default": search mysqld/tcp in
/etc/services; if that doesn't exist, use factory default (3306)
netware/mysql_test_run.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
account for non-standard default port-no. configured at build-time
netware/mysqld_safe.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
account for non-standard default port-no. configured at build-time
scripts/Makefile.am:
Bug #15327: configure: --with-tcp-port option being partially ignored
make factory default for TCP port available as MYSQL_TCP_PORT_DEFAULT
if build-time configured with a different default. (0 if unchanged)
scripts/mysql_config.sh:
Bug #15327: configure: --with-tcp-port option being partially ignored
set up MYSQL_TCP_PORT if not already set in environment:
- if user configured --with-tcp-port, use that value as default
- otherwise assume "use a good default": search mysqld/tcp in
/etc/services; if that doesn't exist, use factory default (3306)
scripts/mysql_fix_privilege_tables.sh:
Bug #15327: configure: --with-tcp-port option being partially ignored
clarifying notice only
scripts/mysqld_safe-watch.sh:
Bug #15327: configure: --with-tcp-port option being partially ignored
account for non-standard default port-no. configured at build-time
server-tools/instance-manager/priv.h:
Bug #15327: configure: --with-tcp-port option being partially ignored
account for non-standard default port-no. configured at build-time
sql/mysqld.cc:
Bug #15327: configure: --with-tcp-port option being partially ignored
if builder specifically requested a default port, use that
(even if it coincides with our factory default).
only if they didn't do we check /etc/services (and, failing
on that, fall back to the factory default of 3306).
either default can be overridden by the environment variable
MYSQL_TCP_PORT, which in turn can be overridden with command
line options.
tests/mysql_client_test.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
tests/ssl_test.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
account for non-standard default port-no. configured at build-time
tests/thread_test.c:
Bug #15327: configure: --with-tcp-port option being partially ignored
make help on --port a little more clear
Declaring an all space column name in the SELECT FROM DUAL or in a view
leads to misleading warning message:
"Leading spaces are removed from name ' '".
The Item::set_name method has been modified to raise warnings like
"Name ' ' has become ''" in case of the truncation of an all
space identifier to an empty string identifier instead of the
"Leading spaces are removed from name ' '" warning message.
sql/item.cc:
Fixed bug #27695.
The Item::set_name method has been modified to raise warnings like
"Name ' ' has become ''" in case of the truncation of an all
space identifier to an empty string identifier instead of the
"Leading spaces are removed from name ' '" warning message.
sql/share/errmsg.txt:
Fixed bug #27695.
mysql-test/t/select.test:
Added test case for bug #27695.
mysql-test/r/select.result:
Added test case for bug #27695.
Issuing SELECT COUNT(*) against partitioned InnoDB table may cause
server crash.
Fixed that not all required fields were included into read_set.
mysql-test/r/partition_innodb.result:
A test case for BUG#30583.
mysql-test/t/partition_innodb.test:
A test case for BUG#30583.
sql/ha_partition.cc:
Ensure that all fields of current key are included into read_set,
as partitioning requires them for sorting
(see ha_partition::handle_ordered_index_scan).
into mysql.com:/home/svoj/devel/mysql/BUG30590/mysql-5.1-engines
mysql-test/r/heap_btree.result:
Auto merged
mysql-test/t/heap_btree.test:
Auto merged
storage/heap/hp_delete.c:
Auto merged
storage/heap/hp_rfirst.c:
Auto merged
storage/heap/hp_rnext.c:
Auto merged
into mysql.com:/home/svoj/devel/mysql/BUG30590/mysql-5.0-engines
heap/hp_delete.c:
Auto merged
heap/hp_rfirst.c:
Auto merged
heap/hp_rnext.c:
Auto merged
mysql-test/r/heap_btree.result:
Auto merged
mysql-test/t/heap_btree.test:
Manual merge.
DELETE query against memory table with btree index may remove
not all matching rows. This happens only when DELETE uses
index read method to find matching rows. E.g. for queries
like DELETE FROM t1 WHERE a=1.
Fixed by reverting fix for BUG9719 and applying proper solution.
heap/hp_delete.c:
Reverted fix for BUG9719 as it makes queries like
DELETE FROM t1 WHERE a=1 to remove not all matching
rows (assuming this is memory table and there is btree
key over `a`).
This happens because we calculate info->lastkey_len in
heap_rkey(). When we enter heap_rnext(), info->lastkey_len
is 0 (set by hp_rb_delete_key()). We need to preserve
info->lastkey_len in this situation, otherwise
tree_search_key() will always return smallest value in
a tree.
heap/hp_rfirst.c:
If we're performing index_first on a table that was taken from
table cache, info->lastkey_len is initialized to previous query.
Thus we set info->lastkey_len to proper value for subsequent
heap_rnext() calls.
This is needed for DELETE queries only, otherwise this variable is
not used.
Note that the same workaround may be needed for heap_rlast(), but
for now heap_rlast() is never used for DELETE queries.
heap/hp_rnext.c:
An optimization for DELETE queries that use index_first()/index_next().
Use faster tree_search_edge() instead of tree_search_key().
mysql-test/r/heap_btree.result:
A test case for BUG#30590.
mysql-test/t/heap_btree.test:
A test case for BUG#30590.
mysql-test/suite/rpl/r/rpl_innodb_bug28430.result:
Fix test results for pushbuild
mysql-test/suite/rpl/t/rpl_innodb_bug28430.test:
Fix test results for pushbuild
mysql-test/suite/rpl/t/rpl_innodb_bug30888.test:
Fix test results for pushbuild
storage/innobase/handler/ha_innodb.cc:
resolve a VSC++ typecast compile warning.