testing embedded server works correctly.
mysql-test/r/create.result:
Move one test from create.test to grant.test, because it actually tests
privileges (and thus doesn't work with embedded server).
mysql-test/r/grant.result:
Move one test from create.test to grant.test, because it actually tests
privileges (and thus doesn't work with embedded server).
mysql-test/t/create.test:
Move one test from create.test to grant.test, because it actually tests
privileges (and thus doesn't work with embedded server).
mysql-test/t/grant.test:
Move one test from create.test to grant.test, because it actually tests
privileges (and thus doesn't work with embedded server).
Problem: when alter to partitioned table,
it does not see it as change of engine.
Solution: If alter includes partitioning, check if it is possible
to change engines (eg. is the table referenced by a FK)
mysql-test/r/partition_innodb.result:
Bug#32948: FKs allowed to reference partitioned table
test result
mysql-test/t/partition_innodb.test:
Bug#32948: FKs allowed to reference partitioned table
test case
sql/sql_table.cc:
Bug#32948: FKs allowed to reference partitioned table
if alter to partitioning, it is the same as changing engine.
ha_partition::update_create_info() just calls update_create_info
of a first partition, so only get the autoincrement maximum
of the first partition, so SHOW CREATE TABLE can show
small AUTO_INCREMENT parameters.
Fixed by implementing ha_partition::update_create_info() in a way
other handlers work.
HA_ARCHIVE:stats.auto_increment handling made consistent with other engines
mysql-test/r/archive.result:
Bug #32247 Test reports wrong value of "AUTO_INCREMENT" (on a partitioned InnoDB table).
test result fixed
mysql-test/r/partition.result:
Bug #32247 Test reports wrong value of "AUTO_INCREMENT" (on a partitioned InnoDB table).
test result
mysql-test/suite/rpl/r/rpl_innodb_bug28430.result:
Bug #32247 Test reports wrong value of "AUTO_INCREMENT" (on a partitioned InnoDB table).
test result fixed
mysql-test/t/partition.test:
Bug #32247 Test reports wrong value of "AUTO_INCREMENT" (on a partitioned InnoDB table).
test added as rpl_innodb_bug28430 is INNOBASE specific while
the bug is not
sql/ha_partition.cc:
Bug #32247 Test reports wrong value of "AUTO_INCREMENT" (on a partitioned InnoDB table).
ha_partition::update_create_info() implemented
storage/archive/ha_archive.cc:
Bug #32247 Test reports wrong value of "AUTO_INCREMENT" (on a partitioned InnoDB table).
ha_archive.stats.auto_increment now contains next (not last used) value
of auto_increment to be consistent with other engines
into mysql.com:/misc/mysql/31177/50-31177
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/ps_6bdb.result:
Auto merged
mysql-test/r/ps_7ndb.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysqld.cc:
Auto merged
additional fixes for BDB and correct assignment of both signed
and unsigned 64-bit data to unsigned system variables
mysql-test/r/ps_2myisam.result:
account for UNSIGNED_FLAG
mysql-test/r/ps_3innodb.result:
account for UNSIGNED_FLAG
mysql-test/r/ps_4heap.result:
account for UNSIGNED_FLAG
mysql-test/r/ps_5merge.result:
account for UNSIGNED_FLAG
mysql-test/r/ps_6bdb.result:
account for UNSIGNED_FLAG
mysql-test/r/ps_7ndb.result:
account for UNSIGNED_FLAG
mysys/my_getopt.c:
We have correct signed/unsigned information now, so we no longer
need to err on the side of caution.
sql/item_func.cc:
Copy unsigned info over from entry so the item's data
correctly describe it.
sql/mysqld.cc:
BDB log buffer size: default can't be less than minimum
sql/set_var.cc:
Handle signedness of in-values correctly when assigning to
unsigned types, all the way up to 64-bit. Use handler from
all three unsigned sysvar types.
sql/set_var.h:
thd_ulonglong: Override default check with one for unsigned types
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51-merge
client/mysqldump.c:
Auto merged
include/my_base.h:
Auto merged
include/my_sys.h:
Auto merged
libmysql/CMakeLists.txt:
Auto merged
libmysql/Makefile.shared:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/suite/rpl/t/rpl_ssl.test:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/records.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/unireg.cc:
Auto merged
storage/myisam/ft_boolean_search.c:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/sort.c:
Auto merged
mysql-test/t/log_state.test:
Manual merge fix-up
mysql-test/include/mix1.inc:
Manual merge
mysql-test/r/ctype_ucs.result:
Manual merge
mysql-test/r/func_misc.result:
Manual merge
mysql-test/r/innodb_mysql.result:
Manual merge
mysql-test/r/key.result:
Manual merge
mysql-test/r/log_state.result:
Manual merge
mysql-test/suite/binlog/t/binlog_killed.test:
Manual merge
mysql-test/t/ctype_ucs.test:
Manual merge
mysql-test/t/func_misc.test:
Manual merge
mysql-test/t/key.test:
Manual merge
sql/item_strfunc.h:
Manual merge
strings/ctype-simple.c:
Manual merge
Only select entries from the general_log that were issued by the current
connection.
mysql-test/r/log_tables.result:
Update test result.
mysql-test/t/log_tables.test:
Only select entries from the current thread.
into ramayana.hindu.god:/home/tsmith/m/bk/maint/50
client/mysqldump.c:
Auto merged
include/my_sys.h:
Auto merged
libmysql/CMakeLists.txt:
Auto merged
libmysql/Makefile.shared:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/mysql-test-run.pl:
Manual merge
mysql-test/r/ctype_ucs.result:
Manual merge
mysql-test/r/func_misc.result:
Manual merge
mysql-test/t/binlog_killed.test:
Manual merge
mysql-test/t/ctype_ucs.test:
Manual merge
mysql-test/t/func_misc.test:
Manual merge
sql/item_strfunc.h:
Manual merge
strings/ctype-simple.c:
Manual merge
into mysql.com:/home/my/mysql-maria
storage/maria/ha_maria.cc:
Auto merged
storage/maria/ma_loghandler.c:
Auto merged
storage/maria/ma_loghandler.h:
Auto merged
storage/maria/unittest/ma_test_loghandler-t.c:
Auto merged
storage/maria/unittest/ma_test_loghandler_first_lsn-t.c:
Auto merged
storage/maria/unittest/ma_test_loghandler_max_lsn-t.c:
Auto merged
storage/maria/unittest/ma_test_loghandler_multigroup-t.c:
Auto merged
storage/maria/unittest/ma_test_loghandler_multithread-t.c:
Auto merged
storage/maria/unittest/ma_test_loghandler_noflush-t.c:
Auto merged
storage/maria/unittest/ma_test_loghandler_pagecache-t.c:
Auto merged
storage/maria/unittest/ma_test_loghandler_purge-t.c:
Auto merged
storage/maria/unittest/test_file.c:
Auto merged
storage/maria/unittest/ma_pagecache_single.c:
SCCS merged
Added debugger hook _my_dbug_put_break_here() that is called if we get a CRC that matches --debug-crc-break (my_crc_dbug_break)
Fixed REDO_REPAIR to use all repair modes (repair, repair_by_sort, repair_paralell
REDO_REPAIR now also logs used key map
Fixed some bugs in REDO logging of key pages
Better error messages from maria_read_log
Added my_readwrite_flags to init_pagecache() to be able to get better error messages and simplify code.
Don't allow pagecaches with less than 8 blocks (Causes strange crashes)
Added EXTRA_DEBUG_KEY_CHANGES. When this is defined some REDO_INDEX entries contains page checksums (these are calculated and checked in DBUG mode, ignored otherwise)
Fixed bug in ma_pagecache unit tests that caused program to sometimes fail
Added some missing calls to MY_INIT() that caused some unit tests to fail
Fixed that TRUNCATE works properly on temporary MyISAM files
Updates some result files to new table checksums results (checksum when NULL fields are ignored)
perl test-insert can be replayed with maria_read_log!
sql/share/Makefile.am:
Change mode to -rw-rw-r--
BitKeeper/etc/ignore:
added storage/maria/unittest/page_cache_test_file_1 storage/maria/unittest/pagecache_debug.log
include/maria.h:
Added maria_tmpdir
include/my_base.h:
Added error HA_ERR_FILE_TOO_SHORT
include/my_sys.h:
Added variable my_crc_dbug_check
Added function my_dbug_put_break_here()
include/myisamchk.h:
Added org_key_map (Needed for writing REDO record for REPAIR)
mysql-test/r/innodb.result:
Updated to new checksum algorithm (NULL ignored)
mysql-test/r/mix2_myisam.result:
Updated to new checksum algorithm (NULL ignored)
mysql-test/r/myisam.result:
Updated to new checksum algorithm (NULL ignored)
mysql-test/t/myisam.test:
Added used table
mysys/checksum.c:
Added DBUG for checksum results
Added debugger hook so that _my_dbug_put_break_here() is called if we get matching CRC
mysys/lf_alloc-pin.c:
Fixed compiler warning
mysys/my_handler.c:
Added new error message
mysys/my_init.c:
If my_progname is not given, use 'unknown' form my_progname_short
Added debugger function my_debug_put_break_here()
mysys/my_pread.c:
In case of too short file when MY_NABP or MY_FNABP is specified, give error HA_ERR_FILE_TO_SHORT
mysys/my_read.c:
In case of too short file when MY_NABP or MY_FNABP is specified, give error HA_ERR_FILE_TO_SHORT
sql/mysqld.cc:
Added debug option --debug-crc-break
sql/sql_parse.cc:
Trivial optimization
storage/maria/ha_maria.cc:
Renamed variable to be more logical
Ensure that param.testflag is correct when calling repair
Added extra argument to init_pagecache
Set default value for maria_tempdir
storage/maria/ma_blockrec.c:
Test for HA_ERR_FILE_TOO_SHORT instead for -1
storage/maria/ma_cache.c:
Test for HA_ERR_FILE_TOO_SHORT instead for -1
storage/maria/ma_check.c:
Set param->testflag to match how repair is run (needed for REDO logging)
Simple optimization
Moved flag if page is node from pagelength to keypage-flag byte
Log used key map in REDO log.
storage/maria/ma_delete.c:
Remember previous UNDO entry when writing undo (for future CLR records)
Moved flag if page is node from pagelength to keypage-flag byte
Fixed some bugs in redo logging
Added CRC for some translog REDO_INDEX entries
storage/maria/ma_dynrec.c:
Test for HA_ERR_FILE_TOO_SHORT instead for -1
storage/maria/ma_ft_update.c:
Fixed call to _ma_store_page_used()
storage/maria/ma_key_recover.c:
Added CRC for some translog REDO_INDEX entries
Removed not needed pagecache_write() in _ma_apply_redo_index()
storage/maria/ma_locking.c:
Test for HA_ERR_FILE_TOO_SHORT instead for -1
storage/maria/ma_loghandler.c:
Added used key map to REDO_REPAIR_TABLE
storage/maria/ma_loghandler.h:
Added operation for checksum of key pages
storage/maria/ma_open.c:
Allocate storage for undo lsn pointers
storage/maria/ma_pagecache.c:
Remove not needed include file
Change logging to use fd: for file descritors as other code
Added my_readwrite_flags to init_pagecache() to be able to get better error messages for maria_chk/maria_read_log
Don't allow pagecaches with less than 8 blocks
Remove wrong DBUG_ASSERT()
storage/maria/ma_pagecache.h:
Added readwrite_flags
storage/maria/ma_recovery.c:
Better error messages for maria_read_log:
- Added eprint() for printing error messages
- Print extra \n before error message if we are printing %0 %10 ...
Added used key_map to REDO_REPAIR log entry
More DBUG
Call same repair method that was used by mysqld
storage/maria/ma_rt_index.c:
Moved flag if page is node from pagelength to keypage-flag byte
storage/maria/ma_rt_key.c:
Fixed call to _ma_store_page_used()
storage/maria/ma_rt_split.c:
Moved flag if page is node from pagelength to keypage-flag byte
storage/maria/ma_static.c:
Added maria_tmpdir
storage/maria/ma_test1.c:
Updated call to init_pagecache()
storage/maria/ma_test2.c:
Updated call to init_pagecache()
storage/maria/ma_test3.c:
Updated call to init_pagecache()
storage/maria/ma_write.c:
Removed #ifdef NOT_YET
Moved flag if page is node from pagelength to keypage-flag byte
Fixed bug in _ma_log_del_prefix()
storage/maria/maria_chk.c:
Fixed wrong min limit for page_buffer_size
Updated call to init_pagecache()
storage/maria/maria_def.h:
Added EXTRA_DEBUG_KEY_CHANGES. When this is defined some REDO_INDEX entries contains page checksums
Moved flag if page is node from pagelength to keypage-flag byte
storage/maria/maria_ftdump.c:
Updated call to init_pagecache()
storage/maria/maria_pack.c:
Updated call to init_pagecache()
Reset share->state.create_rename_lsn & share->state.is_of_horizon
storage/maria/maria_read_log.c:
Better error messages
Added --tmpdir option (needed to set temporary directory for REDO_REPAIR)
Added --start-from-lsn
Changed option for --display-only to 'd' (wanted to use -o for 'offset')
storage/maria/unittest/lockman2-t.c:
Added missing call to MY_INIT()
storage/maria/unittest/ma_pagecache_consist.c:
Updated call to init_pagecache()
storage/maria/unittest/ma_pagecache_single.c:
Fixed bug that caused program to sometimes fail
Added some DBUG_ASSERTS()
Changed some calls to malloc()/free() to my_malloc()/my_free()
Create extra file to expose original hard-to-find bug
storage/maria/unittest/ma_test_loghandler-t.c:
Updated call to init_pagecache()
storage/maria/unittest/ma_test_loghandler_first_lsn-t.c:
Updated call to init_pagecache()
storage/maria/unittest/ma_test_loghandler_max_lsn-t.c:
Updated call to init_pagecache()
storage/maria/unittest/ma_test_loghandler_multigroup-t.c:
Updated call to init_pagecache()
storage/maria/unittest/ma_test_loghandler_multithread-t.c:
Updated call to init_pagecache()
storage/maria/unittest/ma_test_loghandler_noflush-t.c:
Updated call to init_pagecache()
storage/maria/unittest/ma_test_loghandler_pagecache-t.c:
Updated call to init_pagecache()
storage/maria/unittest/ma_test_loghandler_purge-t.c:
Updated call to init_pagecache()
storage/maria/unittest/test_file.c:
Changed malloc()/free() to my_malloc()/my_free()
Fixed memory leak
Changd logic a bit while trying to find bug in reset_file()
storage/maria/unittest/trnman-t.c:
Added missing call to MY_INIT()
storage/myisam/mi_cache.c:
Test for HA_ERR_FILE_TOO_SHORT instead for -1
storage/myisam/mi_create.c:
Removed O_EXCL to get TRUNCATE to work for temporary files
storage/myisam/mi_dynrec.c:
Test for HA_ERR_FILE_TOO_SHORT instead for -1
storage/myisam/mi_locking.c:
Test for HA_ERR_FILE_TOO_SHORT instead for -1
mysql-test/r/old-mode.result:
New BitKeeper file ``mysql-test/r/old-mode.result''
mysql-test/t/old-mode-master.opt:
New BitKeeper file ``mysql-test/t/old-mode-master.opt''
mysql-test/t/old-mode.test:
New BitKeeper file ``mysql-test/t/old-mode.test''
Part of postreview fixes added.
mysql-test/r/maria.result:
Added variable to control log directory syncs.
storage/maria/ha_maria.cc:
Added variable to control log directory syncs.
storage/maria/ma_loghandler.h:
Added variable to control log directory syncs.
storage/maria/ma_loghandler_lsn.h:
postreview fix
storage/maria/unittest/Makefile.am:
New file with logrecord descriptors for tests.
storage/maria/unittest/ma_test_loghandler-t.c:
New file with logrecord descriptors for tests.
storage/maria/unittest/ma_test_loghandler_first_lsn-t.c:
New file with logrecord descriptors for tests.
storage/maria/unittest/ma_test_loghandler_max_lsn-t.c:
New file with logrecord descriptors for tests.
storage/maria/unittest/ma_test_loghandler_multigroup-t.c:
New file with logrecord descriptors for tests.
storage/maria/unittest/ma_test_loghandler_multithread-t.c:
New file with logrecord descriptors for tests.
storage/maria/unittest/ma_test_loghandler_noflush-t.c:
New file with logrecord descriptors for tests.
storage/maria/unittest/ma_test_loghandler_pagecache-t.c:
New file with logrecord descriptors for tests.
storage/maria/unittest/ma_test_loghandler_purge-t.c:
New file with logrecord descriptors for tests.
storage/maria/unittest/ma_loghandler_examples.c:
New BitKeeper file ``storage/maria/unittest/ma_loghandler_examples.c''
Anti-patch. This patch undoes the previously pushed patch. It is
null-merged in versions 5.1 and above since there the original
patch is still desired.
mysql-test/r/delete.result:
Bug#30234: Anti-patch
mysql-test/t/delete.test:
Bug#30234: Anti-patch
sql/sql_yacc.yy:
Bug#30234: Anti-patch
into mysql.com:/misc/mysql/31177/51-31177
client/mysql.cc:
Auto merged
mysql-test/r/index_merge_myisam.result:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/type_bit.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
into mysql.com:/misc/mysql/31177/50-31177
client/mysql.cc:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/type_bit.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/mysqld.cc:
Auto merged
5.1+ specific fixes (plugins etc.)
include/my_getopt.h:
make both ull and ll global
mysql-test/r/index_merge_myisam.result:
we throw warnings to the client, yea, verily
mysql-test/r/innodb.result:
we throw warnings to the client, yea, verily
mysql-test/r/variables.result:
we throw warnings to the client, yea, verily
mysql-test/t/variables.test:
correct result, is multiple of variable's block_size now
mysys/my_getopt.c:
export getopt_ll_limit_value(), check for integer wrap-around
in it, same as in ull variant. Only print warnings to reporter
when caller didn't ask for diagnostics, otherwise assume caller
will handle any warnings (id est, throw them client-wards)
sql/mysqld.cc:
correct signedness of "concurrent-insert"
sql/sql_plugin.cc:
Throw sys-var out-of-range warnings client-wards for
plugins, too.
into mysql.com:/misc/mysql/31177/51-31177
include/m_string.h:
Auto merged
include/my_getopt.h:
Auto merged
mysql-test/r/delayed.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/r/key_cache.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/r/type_bit.result:
Auto merged
mysql-test/r/type_bit_innodb.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/mysql_priv.h:
Auto merged
BitKeeper/deleted/.del-index_merge.result:
Auto merged
sql/set_var.cc:
Auto merged
mysql-test/r/variables.result:
manual merge
client/mysql.cc:
manual merge
client/mysqltest.c:
manual merge
mysql-test/r/subselect.result:
manual merge
mysys/my_getopt.c:
manual merge
sql/mysqld.cc:
manual merge
into polly.(none):/home/kaa/src/maint/mysql-5.1-maint
mysql-test/r/insert.result:
Auto merged
mysql-test/t/insert.test:
Auto merged
sql/field.cc:
Auto merged
into polly.(none):/home/kaa/src/maint/mysql-5.0-maint
mysql-test/r/insert.result:
Auto merged
mysql-test/t/insert.test:
Auto merged
sql/field.cc:
Auto merged
into polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
mysql-test/r/insert.result:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/insert.test:
Auto merged
sql/field.cc:
Auto merged
mysql-test/r/insert.result:
Fixed the test cases.
mysql-test/t/cast.test:
We need to do replace_result because warnings are printed by another procedure.
mysql-test/t/insert.test:
Windows implements a different rounding rules in printf("%g"), thus we still need to do replace_result.
sql/field.cc:
Limit the precision to avoid garbage past the significant digits.
into polly.(none):/home/kaa/src/maint/mysql-5.1-maint
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
mysql-test/r/insert.result:
SCCS merged
mysql-test/t/insert.test:
SCCS merged
into polly.(none):/home/kaa/src/maint/mysql-5.0-maint
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
mysql-test/r/insert.result:
SCCS merged
mysql-test/t/insert.test:
SCCS merged
into polly.(none):/home/kaa/src/maint/bug26788/my51-bug26788
mysql-test/r/insert.result:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/insert.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
SCCS merged
numbers into char fields" and bug #12860 "Difference in zero padding of
exponent between Unix and Windows"
Rewrote the code that determines what 'precision' argument should be
passed to sprintf() to fit the string representation of the input number
into the field.
We get finer control over conversion by pre-calculating the exponent, so
we are able to determine which conversion format, 'e' or 'f', will be
used by sprintf().
We also remove the leading zero from the exponent on Windows to make it
compatible with the sprintf() output on other platforms.
mysql-test/r/insert.result:
Added test cases for bug #26788 and bug #31152.
mysql-test/t/cast.test:
Removed --replace_result, since the result is now correct on Windows.
mysql-test/t/insert.test:
Added test cases for bug #26788 and bug #31152.
mysql-test/t/type_float.test:
Removed --replace_result, since the result is now correct on Windows.
mysql-test/t/variables.test:
Removed --replace_result, since the result is now correct on Windows.
sql/field.cc:
Rewrote the code that determines what 'precision' argument should be
passed to sprintf() to fit the string representation of the input number
into the field.
We get finer control over conversion by pre-calculating the exponent, so
we are able to determine which conversion format, 'e' or 'f', will be
used by sprintf().
into mysql.com:/home/hf/work/mrg/my51-mrg
sql/mysqld.cc:
Auto merged
sql/protocol.cc:
Auto merged
storage/federated/ha_federated.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
include/mysql_com.h:
merging
libmysqld/lib_sql.cc:
merging
mysql-test/r/federated.result:
merging
mysql-test/t/federated.test:
merging
storage/federated/ha_federated.h:
mergin
PS-protocol data is stored in different format - the MYSQL_RECORDS->data
contains the link to the record content, not to array of the links to
the field's contents. So we have to handle it separately for
embedded-server query cache.
libmysqld/emb_qcache.cc:
Bug #30430 crash:./mtr --embedded-server --ps-protocol cache_innodb func_misc...
ps_protocol data now stored in it's particular way.
libmysqld/emb_qcache.h:
Bug #30430 crash:./mtr --embedded-server --ps-protocol cache_innodb func_misc...
Querycache_stream::load_char/store_char ->
load_uchar/store_uchar
mysql-test/r/func_misc.result:
Bug #30430 crash:./mtr --embedded-server --ps-protocol cache_innodb func_misc...
test result
mysql-test/t/func_misc.test:
Bug #30430 crash:./mtr --embedded-server --ps-protocol cache_innodb func_misc...
the test uses t2 table, so let's make sure it doesn't exist befor the start
removed unnecessary privilege checks for I_S schema
mysql-test/r/information_schema.result:
test result
mysql-test/t/information_schema.test:
test case
sql/events.cc:
There is no events in I_S so we don't need to execute check_access here.
sql/sql_parse.cc:
removed unnecessary check
1. A bad error message was given when a MERGE table with an
InnoDB child table was tried to use.
2. After selecting from a correct MERGE table and then altering
one of the children to InnoDB, incorrect results were returned.
These bugs have been fixed with the patch for bug 26379 (Combination
of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table).
For verification, I added the test case from the bug report.
mysql-test/r/merge_innodb.result:
Bug#30491 - MERGE doesn't report error when one table is Innodb
Added test result.
mysql-test/t/merge_innodb.test:
Bug#30491 - MERGE doesn't report error when one table is Innodb
Added test case.
filesort() uses file->estimate_rows_upper_bound() call to allocate
internal buffers. If this function returns a value smaller than
a number of row that will be returned later in find_all_keys(),
that can cause server crash.
Fixed by implementing ha_federated::estimate_rows_upper_bound() to
return maximum possible number of rows.
Present estimation for FEDERATED always returns 0 if the linked to the VIEW.
mysql-test/r/federated.result:
Bug #32374 crash with filesort when selecting from federated table and view.
test result
mysql-test/t/federated.test:
Bug #32374 crash with filesort when selecting from federated table and view.
test case
sql/ha_federated.cc:
Bug #32374 crash with filesort when selecting from federated table and view.
ha_federated::estimate_rows_upper_bound() implemented
sql/ha_federated.h:
Bug #32374 crash with filesort when selecting from federated table and view.
ha_federated::estimate_rows_upper_bound() interface
Parser rejects valid INTERVAL() expressions when associated with
arithmetic operators. The problem is the way in which the expression
and interval grammar rules were organized caused shift/reduce conflicts.
The solution is to tweak the interval rules to avoid shift/reduce
conflicts by removing the broken interval_expr rule and explicitly
specify it's content where necessary.
Original fix by Davi Arnaut, revised and improved rules by Marc Alff
mysql-test/r/parser.result:
Add test case result for Bug#22312
mysql-test/t/parser.test:
Add test case for Bug#22312
sql/sql_yacc.yy:
Resolve shift/reduce conflicts by reorganizing the interval
expression rules.
The following clarification should be made in The Manual:
Standard SQL is quite clear that, if new columns are added
to a table after a view on that table is created with
"select *", the new columns will not become part of the view.
In all cases, the view definition (view structure) is frozen
at CREATE time, so changes to the underlying tables do not
affect the view structure.
mysql-test/r/view.result:
Update result file.
mysql-test/t/view.test:
Add a test case for BUG#26676: VIEW using old table schema in a session.
Default values of variables were not subject to upper/lower bounds
and step, while setting variables was. Bounds and step are also
applied to defaults now; defaults are corrected quietly, values
given by the user are corrected, and a correction-warning is thrown
as needed. Lastly, very large values could wrap around, starting
from 0 again. They are bounded at the maximum value for the
respective data-type now if no lower maximum is specified in the
variable's definition.
client/mysql.cc:
correct maxima in options array
client/mysqltest.c:
adjust minimum for "sleep" option so default value is no longer
out of bounds.
include/m_string.h:
ullstr() - the unsigned brother of llstr()
include/my_getopt.h:
Flag if we bounded the value (that is, correct anything aside from
making value a multiple of block-size)
mysql-test/r/delayed.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/index_merge.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/innodb.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/innodb_mysql.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/key_cache.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/packet.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/ps.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/subselect.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/type_bit.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/type_bit_innodb.result:
We throw a warning now when we adjust out of range parameters.
mysql-test/r/variables.result:
correct results: bounds and step apply to variables' default values, too
mysql-test/t/variables.test:
correct results: bounds and step apply to variables' default values, too
mysys/my_getopt.c:
- apply bounds/step to default values of variables (based on work by serg)
- print complaints about incorrect values for variables (truncation etc.,
by requestion of consulting)
- if no lower maximum is specified in variable definition, bound unsigned
values at their maximum to prevent wrap-around
- some calls to error_reporter had a \n, some didn't. remove \n from calls,
let reporter-function handle it, so the default reporter behaves like that
in mysqld
sql/mysql_priv.h:
correct RANGE_ALLOC_BLOCK_SIZE (cleared with monty)
sql/mysqld.cc:
correct maxima to correct data-type.
correct minima where higher than default.
correct range-alloc-block-size.
correct inno variables so GET_* corresponds to actual variable's type.
sql/set_var.cc:
When the new value for a variable is out of bounds, we'll send the
client a warning (but not if the value was simply not a multiple of
'blocksize'). sys_var_thd_ulong had this, sys_var_long_ptr_global
didn't; broken out and streamlined to avoid duplication of code.
strings/llstr.c:
ullstr() - the unsigned brother of llstr()