into hynda.mysql.fi:/home/my/mysql-maria
BitKeeper/etc/ignore:
auto-union
BUILD/SETUP.sh:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~99a50df6:
Auto merged
Makefile.am:
Auto merged
client/mysqldump.c:
Auto merged
configure.in:
Auto merged
include/Makefile.am:
Auto merged
include/keycache.h:
Auto merged
include/m_string.h:
Auto merged
include/my_sys.h:
Auto merged
libmysqld/Makefile.am:
Auto merged
mysql-test/extra/rpl_tests/rpl_insert_delayed.test:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/lib/mtr_misc.pl:
Auto merged
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/lib/mtr_timer.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/merge.result:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/suite/ndb/r/ps_7ndb.result:
Auto merged
mysql-test/suite/rpl/r/rpl_events.result:
Auto merged
mysql-test/suite/rpl/r/rpl_insert.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_insert_delayed.result:
Auto merged
mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result:
Auto merged
mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result:
Auto merged
mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result:
Auto merged
mysql-test/suite/rpl/t/rpl_insert.test:
Auto merged
mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test:
Auto merged
mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/view.test:
Auto merged
mysys/array.c:
Auto merged
mysys/mf_keycache.c:
Auto merged
mysys/my_init.c:
Auto merged
mysys/my_symlink2.c:
Auto merged
mysys/safemalloc.c:
Auto merged
mysys/thr_lock.c:
Auto merged
sql/Makefile.am:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/ha_partition.h:
Auto merged
sql/handler.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_xmlfunc.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_test.cc:
Auto merged
sql/table.h:
Auto merged
sql/udf_example.c:
Auto merged
sql/uniques.cc:
Auto merged
sql/unireg.cc:
Auto merged
storage/csv/ha_tina.h:
Auto merged
storage/myisam/ft_boolean_search.c:
Auto merged
storage/myisam/ft_nlq_search.c:
Auto merged
storage/myisam/ft_parser.c:
Auto merged
storage/myisam/ft_stopwords.c:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/ha_myisam.h:
Auto merged
storage/myisam/mi_check.c:
Auto merged
storage/myisam/mi_create.c:
Auto merged
storage/myisam/mi_delete.c:
Auto merged
storage/myisam/mi_dynrec.c:
Auto merged
storage/myisam/mi_extra.c:
Auto merged
storage/myisam/mi_key.c:
Auto merged
storage/myisam/mi_locking.c:
Auto merged
storage/myisam/mi_log.c:
Auto merged
storage/myisam/mi_packrec.c:
Auto merged
storage/myisam/mi_rkey.c:
Auto merged
storage/myisam/mi_search.c:
Auto merged
storage/myisam/mi_test1.c:
Auto merged
storage/myisam/mi_test2.c:
Auto merged
storage/myisam/mi_update.c:
Auto merged
storage/myisam/mi_write.c:
Auto merged
storage/myisam/myisamchk.c:
Auto merged
storage/myisam/myisamlog.c:
Auto merged
storage/myisam/myisampack.c:
Auto merged
storage/myisam/sort.c:
Auto merged
storage/myisam/sp_test.c:
Auto merged
storage/myisammrg/ha_myisammrg.cc:
Auto merged
storage/myisammrg/ha_myisammrg.h:
Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
Auto merged
support-files/compiler_warnings.supp:
Auto merged
client/mysqltest.c:
Manual merge between mysql-5.1 and mysql-maria
include/my_base.h:
Manual merge between mysql-5.1 and mysql-maria
include/my_global.h:
Manual merge between mysql-5.1 and mysql-maria
include/myisam.h:
Manual merge between mysql-5.1 and mysql-maria
libmysql/Makefile.shared:
Manual merge between mysql-5.1 and mysql-maria
mysql-test/r/events_logs_tests.result:
Manual merge between mysql-5.1 and mysql-maria
mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result:
Manual merge between mysql-5.1 and mysql-maria
mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test:
Manual merge between mysql-5.1 and mysql-maria
mysql-test/t/disabled.def:
Manual merge between mysql-5.1 and mysql-maria
mysql-test/t/events_logs_tests.test:
Manual merge between mysql-5.1 and mysql-maria
mysys/my_compress.c:
Manual merge between mysql-5.1 and mysql-maria
mysys/my_getsystime.c:
Manual merge between mysql-5.1 and mysql-maria
mysys/my_open.c:
Manual merge between mysql-5.1 and mysql-maria
sql/handler.cc:
Manual merge between mysql-5.1 and mysql-maria
sql/set_var.h:
Manual merge between mysql-5.1 and mysql-maria
sql/sql_class.h:
Manual merge between mysql-5.1 and mysql-maria
sql/sql_show.cc:
Manual merge between mysql-5.1 and mysql-maria
sql/sql_sort.h:
Manual merge between mysql-5.1 and mysql-maria
sql/sql_yacc.yy:
Manual merge between mysql-5.1 and mysql-maria
sql/table.cc:
Manual merge between mysql-5.1 and mysql-maria
storage/csv/ha_tina.cc:
Manual merge between mysql-5.1 and mysql-maria
storage/myisam/mi_open.c:
Manual merge between mysql-5.1 and mysql-maria
storage/myisam/myisamdef.h:
Manual merge between mysql-5.1 and mysql-maria
unittest/mysys/my_atomic-t.c:
Manual merge between mysql-5.1 and mysql-maria
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Auto merged
Progress reports on stderr if doing recovery from ha_maria;
don't do checkpoints if activity since last checkpoint < 2MB
(no change in fact as background thread is disabled for now);
recovery trace is only if EXTRA_DEBUG now (better for benchmarks).
storage/maria/ma_checkpoint.c:
don't do checkpoints if activity (log writes plus page flushes)
since last checkpoint was < 2MB.
storage/maria/ma_recovery.c:
progress reports in recovery (10%, transactions left to rollback etc);
that is only if from ha_maria and is displayed on stderr.
Recovery trace is now created only if EXTRA_DEBUG.
storage/maria/ma_test_recovery.expected:
update (--debug gone)
storage/maria/ma_test_recovery:
don't use --debug, as it can absent from binary
logging of insertions made by CREATE SELECT.
sql/sql_insert.cc:
If error during the CREATE SELECT we drop the table, so no need for
engines to do logging of the insertions (optimization). Engines
require that disabling is done before locking and re-enabling is done
before unlocking; as table creation and locking is done as one
function (create_table_from_items()) we disable before calling
this function and re-enable before unlocking, in send_eof() (called
if success) and abort() (called if error).
Question for reviewer: would it be better to do the disabling between
creation and locking, so inside create_table_from_items(), given
that this function is used only by CREATE SELECT?
cmake list are auto-generated and thus still required. Correct fix
not yet known.
bdb/CMakeLists.txt:
Revert previous change, it is incorrect as those files are automatically
generated.
record (for example in ma_test_loghandler-t). Reason was
wrongly matched () in DBUG.
storage/maria/ma_loghandler.c:
Wrongly matched parenthesis:
DBUG_PRINT(keyword, argslist) expands to roughly
_db_doprnt arglist;
So DBUG_PRINT("enter",(a);
b;
c);
expands to roughly
_db_doprnt(a);b;c;
which is valid code. Except that in non-debug builds, DBUG_PRINT(
expands to nothing so the wrongly "included" code is thrown away,
leading to some members of "scanner" to not be initialized.
Note that non-debug build fails in log handler functions, mail sent.
storage/maria/ma_blockrec.c:
fix for compiler warning
storage/maria/ma_checkpoint.c:
Debug build does not catch this situation
static int f();
...
f(2);
...
static int f(int a, int b);
Maybe this is because it believes the declaration is K&R. Non-debug
build catches it. Adding (void) as an habit to avoid such errors.
storage/maria/ma_checkpoint.h:
adding (void)
storage/maria/ma_recovery.c:
adding (void)
storage/maria/ma_recovery.h:
adding (void)
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/ctype_collate.result:
Auto merged
mysql-test/r/ctype_recoding.result:
Auto merged
mysql-test/r/default.result:
Auto merged
mysql-test/r/gis.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/key.result:
Auto merged
mysql-test/r/mysql.result:
Auto merged
mysql-test/r/ps_1general.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/r/type_enum.result:
Auto merged
mysql-test/r/type_ranges.result:
Auto merged
mysql-test/r/show_check.result:
manual merge
mysql-test/t/information_schema.test:
manual merge
sql/sql_show.cc:
manual merge
added get_field_default_value() function which obtains default value from the field
(used in store_create_info() & get_schema_column_record() functions)
mysql-test/r/alter_table.result:
result fix
mysql-test/r/create.result:
result fix
mysql-test/r/ctype_collate.result:
result fix
mysql-test/r/ctype_recoding.result:
result fix
mysql-test/r/default.result:
result fix
mysql-test/r/gis.result:
result fix
mysql-test/r/grant.result:
result fix
mysql-test/r/information_schema.result:
result fix
mysql-test/r/key.result:
result fix
mysql-test/r/mysql.result:
result fix
mysql-test/r/ps_1general.result:
result fix
mysql-test/r/show_check.result:
result fix
mysql-test/r/sp.result:
result fix
mysql-test/r/type_enum.result:
result fix
mysql-test/r/type_ranges.result:
result fix
mysql-test/t/information_schema.test:
test case
BLOB whose size didn't change. Fix for probably impossible problem
in Recovery.
mysql-test/r/maria.result:
result for new test
mysql-test/t/maria.test:
testcase for a bug (used to segfault)
storage/maria/ma_blockrec.c:
When writing a record, we put BLOBs into the head part if there is
room for them. "Is there room" was first decided by
!(tmp_data + length > end_of_data) (line 1894)
but then was tested again as
*blob_lengths < (ulong)(end_of_data - data). We see that in case of
equality, the first condition was true but the second was not,
so it was inconsistent and crashed later.
storage/maria/ma_recovery.c:
When wondering if recovery should update the state (like state.records):
if table was closed, its is_of_horizon was set to X, then
table was reopened and a REDO was written. If this REDO had LSN
X (as horizon is just a lower bound of the LSN of the next record),
we have to apply it. In practice this equality probably could not
happen because of LOGREC_FILE_ID would be written before the REDO.
into magare.gmz:/home/kgeorge/mysql/autopush/B30639-5.1-opt
mysql-test/r/select.result:
Auto merged
mysql-test/t/select.test:
Auto merged
sql/sql_lex.cc:
Auto merged
The parser uses ulonglong to store the LIMIT number. This number
then is stored into a variable of type ha_rows. ha_rows is either
4 or 8 byte depending on the BIG_TABLES define from config.h
So an overflow may occur (and LIMIT becomes zero) while storing an
ulonglong value in ha_rows.
Fixed by :
1. Using the maximum possible value for ha_rows on overflow
2. Defining BIG_TABLES for the windows builds (to match the others)
include/config-win.h:
Bug #30639: turn on BIG_TABLES for windows
mysql-test/r/select.result:
Bug #30639: test case
mysql-test/t/select.test:
Bug #30639: test case
sql/sql_lex.cc:
Bug #30639: Use the maximum possible number on overflow
of LIMIT. This is valid because there won't be more rows
anyway.
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Auto merged
* recovery from ha_maria now skips replaying DDLs (too dangerous)
* maria_read_log still replays DDLs, print warning about issues
* fixes to replaying of REDO_RENAME
* don't replay DDLs on corrupted tables (safer)
* print a one-line message when really doing a recovery (applies to
ha_maria, not maria_read_log) i.e. some REDOs or UNDOs are read.
storage/maria/ma_checkpoint.c:
fix for assertion failure
storage/maria/ma_recovery.c:
* Recovery from ha_maria now skips replaying DDLs (as the initial
plan said) as this is unsafe in case of crashes during the DDL;
applying the records may do harm (destroy important files)
so we prefer to leave the "mess" of files untouched. A proper
recovery of DDLs requires very careful thinking, probably testing
separately the existence of the data and index file instead of
using maria_open() which tests the existence of both, and maybe
storing create_rename_lsn in the data file too.
* maria_read_log still replays DDLs, we print a warning about dangers
(due to ALTER TABLE not logging insertions into the tmp table; we
will maybe need an option to have logging of those insertions).
* fixes to replaying of REDO_RENAME (test create_rename_lsn of 'new_name'
table if it exists; if that table exists and is more recent than the
record, remove the 'old_name' table).
* don't replay DDLs on corrupted tables (play safe)
* fail also in non-debug builds if table is open when it should not be
(when creating it for example, it should not be already open).
* when the trace file is not stdout (i.e. when this is ha_maria),
if really doing a recovery (reading REDOs or UNDOs), print a one-line
message to stderr to inform about start and end of recovery
(useful to know what mysqld is doing, especially if it takes long
or crashes).
storage/maria/ma_recovery.h:
parameter to replay DDLs or not
storage/maria/maria_read_log.c:
replay DDLs in maria_read_log, to be able to recreate tables from
scratch.
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/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).
horizon addres.
storage/maria/ma_loghandler.c:
New function to get correct LSN from chunk address.
storage/maria/ma_loghandler.h:
New function to get correct LSN from chunk address.
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.