Activly abort transactions (that's affected) during NF
This removes a lot of bugs that can occur otherwise is using
high value for TransactionDeadLockTimout
ndb/include/kernel/signaldata/TcContinueB.hpp:
New continueb for active transaction abort on nf
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Add bitmask of participating nodes to transaction record
Add bitmask of node fail steps, so that NF_CompleteRep is not sent until all steps has completed
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Active transaction baortion
dont't allow node to join cluster until all nodes has completed failure handling
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
When getting CM_ADD for node that I haven't completed failure handling for do _not_ just override.
But instead set state...and send CM_ACK_ADD on execCONNECT_REP (much...later)
ndb/test/ndbapi/testNodeRestart.cpp:
testcase for bug#16772
ndb/test/run-test/daily-basic-tests.txt:
Run test in basic suite
8 repeated nr with table wo/ logging cause crash
Dont create crashed replica for temporary tables
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Dont create crashed replica for temporary tables
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Dont create crashed replica for temporary tables
ndb crash if trigger record get to big, fix incorrect max size of trigger record
ndb/src/kernel/blocks/backup/Backup.cpp:
Increase size of max trigger record
For "count(*) while index_column = value" an index read
is done. It consists of an index scan and retrieval of
each key.
For efficiency reasons the index scan stores the key in
the special buffer 'lastkey2' once only. At the first
iteration it notes this fact with the flag
HA_STATE_RNEXT_SAME in 'info->update'.
For efficiency reasons, the key retrieval for blobs
does not allocate a new buffer, but uses 'lastkey2'...
Now I clear the HA_STATE_RNEXT_SAME flag whenever the
buffer has been polluted. In this case, the index scan
copies the key value again (and sets the flag again).
include/my_base.h:
Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
Changed the comment for HA_STATE_RNEXT_SAME as a warning
for future uses.
myisam/mi_delete.c:
Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
Removing the flag HA_STATE_RNEXT_SAME from info->update
if info->lastkey2 was reused for another purpose than
index scanning.
myisam/mi_key.c:
Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
Removing the flag HA_STATE_RNEXT_SAME from info->update
if info->lastkey2 was reused for another purpose than
index scanning.
myisam/mi_rnext_same.c:
Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
Removed trailing space and fixed a comment.
myisam/mi_unique.c:
Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
Removing the flag HA_STATE_RNEXT_SAME from info->update
if info->lastkey2 was reused for another purpose than
index scanning.
myisam/mi_update.c:
Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
Removing the flag HA_STATE_RNEXT_SAME from info->update
if info->lastkey2 was reused for another purpose than
index scanning.
myisam/mi_write.c:
Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
Removing the flag HA_STATE_RNEXT_SAME from info->update
if info->lastkey2 was reused for another purpose than
index scanning.
mysql-test/r/myisam.result:
Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
Added test result.
mysql-test/t/myisam.test:
Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
Added test.
- Back porting of some changes in later releases
- Corrected valgrind support
- Removed work around for TZ needed in VisualStudio 6
- Don't restart master to add special settings from "<testcase>-master.opt",
if same settngs as running master, feature request in bug#12433
- With --reorder, keep tests with same *-master.opt content together,
to save even more master restarts
mysql-test/lib/mtr_misc.pl:
Added functions to compare lists of options
mysql-test/lib/mtr_cases.pl:
Removed special code for Windows as in VC6 we unset
TZ to avoid library bug
mysql-test/mysql-test-run.pl:
Handle pseudo option --timezone=<spec> that sets TZ
- Decrease "slave_open_temp_tables" during reopen of truncated table.
- Add test "rpl_trunc_temp"
sql/sql_delete.cc:
Decrease "slave_open_temp_tables" after temporary table has been closed, it will be
increased again when the temp table is reopened after it's been truncated.
mysql-test/r/rpl_trunc_temp.result:
New BitKeeper file ``mysql-test/r/rpl_trunc_temp.result''
mysql-test/t/rpl_trunc_temp.test:
New BitKeeper file ``mysql-test/t/rpl_trunc_temp.test''
Check if the host of table hash record exactly matches host from GRANT command
mysql-test/r/grant.result:
Fix for bug#14385 GRANT and mapping to correct user account problems
test case
mysql-test/t/grant.test:
Fix for bug#14385 GRANT and mapping to correct user account problems
test case
it breaks binary compatibility. The patch will be left intact
in 5.1.
libmysql/libmysql.c:
Revert the changeset for Bug#16144: it breaks binary compatibility.
tests/mysql_client_test.c:
Revert the changeset for Bug#16144: it breaks binary compatibility.
union.result, union.test:
Adding test case.
item.cc:
Allow safe character set conversion in UNION
- string constant to column's charset
- to unicode
Thus, UNION now works the same with CONCAT (and other string functions)
in respect of aggregating arguments with different character sets.
sql/item.cc:
Allow character set conversion in UNION
- string to column's charset
- to unicode
Bug#15949 union + illegal mix of collations (IMPLICIT + COERCIBLE)
mysql-test/t/union.test:
Adding test case.
mysql-test/r/union.result:
Adding test case.
mysql-test/mysql-test-run.pl:
Add a "--comment=<string>" option (backport from 5.1).
Its sole purpose is to get logged, so that test evaluation gets easier.
See "Do-compile" for how it is called, and "gen-build-status-page" for its effect.
mysql-test/mysql-test-run.sh:
Add a "--comment=<string>" option, to get it logged when the test is run.
The purpose is to allow a better analysis when generating the status page
("gen-build-status-page").
See "Do-compile" for how it is used.
Fix URLs.
README:
Fix URL.
mysqltest.result:
Update test result for real_sleep error message.
mysqltest.c:
Fix do_sleep() to print correct command name for real_sleep.
client/mysqltest.c:
Fix do_sleep() to print correct command name for real_sleep.
mysql-test/r/mysqltest.result:
Update test result for real_sleep error message.
mysql-test/README:
Fix URL.
mysql-test/mysql-test-run.sh:
Fix URLs.
fixed in 5.0).
A post-review fix (Bug#13134)
mysql-test/r/heap.result:
Remove 'delayed' to make the test deterministic.
mysql-test/r/ps.result:
Remove an unneeded drop table (test case for Bug#13134)
mysql-test/t/heap.test:
Remove 'delayed' to make the test deterministic.
mysql-test/t/ps.test:
A post-review fix (Bug#13134)
column is increasing when table is recreated with PS/SP":
make use of create_field::char_length more consistent in the code.
Reinit create_field::length from create_field::char_length
for every execution of a prepared statement (actually fixes the
bug).
mysql-test/r/ps.result:
Test results fixed (Bug#13134)
mysql-test/t/ps.test:
A test case for Bug#13134 "Length of VARCHAR() utf8 column is
increasing when table is recreated with PS/SP"
sql/field.cc:
Move initialization of create_field::char_length to the constructor
of create_field.
sql/field.h:
Rename chars_length to char_length (to be consistent with
how this term is used throughout the rest of the code).
sql/sql_parse.cc:
Initialize char_length in add_field_to_list. This function
effectively works as another create_field constructor.
sql/sql_table.cc:
Reinit length from char_length for every field in
mysql_prepare_table. This is not needed if we're executing
a statement for the first time, however, at subsequent executions
length contains the number of bytes, not characters (as it's expected
to).
A wrong cast led to numeric overflow for data files
greater than 4GB. The parallel repair assumed end of
file after reading the amount of data that the file
was bigger than 4GB. It truncated the data file and
noted the number of records it found so far in the
index file header as the number of rows in the table.
Removing the cast fixed the problem.
I added some cosmetic changes too.
The normal repair worked because it uses a different
function to read from the data file.
mysys/mf_iocache.c:
Bug#11527 - Setting myisam_repair_threads to >1 leads to corruption
The pure fix was to remove a cast from a file offset difference.
Supplemented this with warnings in function comments,
a change from == to <= to be slightly more safe,
a renaming from "read_len" to "left_length" to make the
partial code duplication between _my_b_read() and _my_b_read_r()
more obvious and easier to compare the functions,
removed another unnecessary (but harmless) cast,
and fixed coding sytle around the "left_length" changes.