Necessary code added to mysqltest.c.
Disabled tests are available now.
client/mysqltest.c:
do_send_query function implemented, so now 'send' command will be
run in separate thread for the embedded server.
Mutex and condition added to the 'connection' struct for syncronisation
purposes. Yes it'd be easier if we had pthread_join() command
libmysql/libmysql.c:
this isn't actually needed and causes problems in embedded server
mysql-test/t/bdb-deadlock.test:
test is available for the embedded server now
mysql-test/t/flush.test:
test is available for the embedded server now
mysql-test/t/flush_block_commit.test:
test is available for the embedded server now
mysql-test/t/innodb-deadlock.test:
test is available for the embedded server now
mysql-test/t/innodb-lock.test:
test is available for the embedded server now
mysql-test/t/lock_multi.test:
test is available for the embedded server now
mysql-test/t/rename.test:
test is available for the embedded server now
mysql-test/t/show_check.test:
test is available for the embedded server now
mysql-test/t/status.test:
test is available for the embedded server now
Fix some too small buffers in backup
ndb/include/kernel/ndb_limits.h:
backport for 5.1
add MAX_WORDS_META_FILE for computing Backup::NO_OF_PAGES_META_FILE
ndb/src/kernel/blocks/backup/Backup.cpp:
Make sure to set maxInsert so that we actually can handle NO_OF_META_PAGES
ndb/src/kernel/blocks/backup/Backup.hpp:
backport for 5.1
add MAX_WORDS_META_FILE for computing Backup::NO_OF_PAGES_META_FILE
Fixed a 4.1/5.0 vs. 5.1 name change in latest SR bug fix
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Fixed a 4.1/5.0 vs. 5.1 name change in latest SR bug fix
- compilation on the Alpha platform was broken because the Alpha-specific code was not updated after replacing the SIGRETURN_FRAME_COUNT constant with a variable
Fix monster SR bug making SR with ordered indexes (or temporary tables) broken
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Fix monster SR bug making SR with ordered indexes (or temporary tables) broken
If elements a not top-level IN subquery were accessed by an index and
the subquery result set included a NULL value then the quantified
predicate that contained the subquery was evaluated to NULL when
it should return a non-null value.
mysql-test/r/subselect.result:
Added a test case for bug #23478.
mysql-test/t/subselect.test:
Added a test case for bug #23478.
Add function mtr_exe_maybe_exists to look for binaries that is optional
Skip ndb support if it's a binary dist where mysqld supports ndb but there is no ndbd
mysql-test/lib/mtr_misc.pl:
Add function mtr_exe_maybe_exists
mysql-test/mysql-test-run.pl:
Adapt to running from binary dist
Add function mtr_exe_maybe_exists to look for binaries that is optional
Skip ndb support if it's a binary dist where mysqld supports ndb but there is no ndbd
commands and go directly to result file processing
client/mysqltest.c:
Add command "exit" to mysqltest
mysql-test/r/mysqltest.result:
Add command "exit" to mysqltest
mysql-test/t/mysqltest.test:
Add command "exit" to mysqltest
The value taken to be shown in SHOW PROCESSLIST is not
initialized when THD is created and will be random for
unauthenticated connections.
To the documentor: Random value, instead of NULL, was shown,
in SHOW PROCESSLIST for still non-authenticated connections.
sql/sql_class.cc:
Initialize time_after_lock.
It is used from SHOW PROCESSLIST's code. If not initialized
random value is shown for connected but still unauthenticated
clients in the column Time.
client/mysqldump.c:
fflush stderr after printing of error message
mysql-test/include/have_lowercase0.inc:
Remove extra ;
mysql-test/r/rpl000015.result:
Update result
mysql-test/r/rpl_change_master.result:
Update result
mysql-test/r/rpl_error_ignored_table.result:
Update result
mysql-test/r/rpl_loaddata.result:
Update result
mysql-test/r/rpl_log.result:
Update result
mysql-test/r/rpl_max_relay_size.result:
Update result
mysql-test/r/rpl_replicate_do.result:
Update result
mysql-test/t/lowercase_table3.test:
Backport from 5.0
mysql-test/t/mysql_protocols.test:
Backport from 5.0
mysql-test/t/rpl000015.test:
Backport from 5.0
mysql-test/t/rpl_change_master.test:
Backport from 5.0
mysql-test/t/rpl_drop_db.test:
Backport from 5.0
mysql-test/t/rpl_error_ignored_table.test:
Backport from 5.0
mysql-test/t/rpl_loaddata.test:
Backport from 5.0
mysql-test/t/rpl_log-master.opt:
Use --force-restart command in master.opt to force a restart for this test case
mysql-test/t/rpl_log.test:
Backport from 5.0
mysql-test/t/rpl_max_relay_size.test:
Backport from 5.0
mysql-test/t/rpl_replicate_do.test:
Backport from 5.0
We miss some records sometimes using RANGE method if we have
partial key segments.
Example:
Create table t1(a char(2), key(a(1)));
insert into t1 values ('a'), ('xx');
select a from t1 where a > 'x';
We call index_read() passing 'x' key and HA_READ_AFTER_KEY flag
in the handler::read_range_first() wich is wrong because we have
a partial key segment for the field and might miss records like 'xx'.
Fix: don't use open segments in such a case.
mysql-test/r/range.result:
Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
- test result.
mysql-test/t/range.test:
Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
- test case.
sql/opt_range.cc:
Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
- check if we have a partial key segment for a Item_func::GT_FUNC;
if so, don't set NEAR_MIN flag in order to use HA_READ_KEY_OR_NEXT
instead of HA_READ_AFTER_KEY.
sql/opt_range.h:
Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
- key segment 'flag' slot added.
sql/sql_select.cc:
Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
- test (HA_PART_KEY_SEG | HA_NULL_PART) as we split it in the sql/table.cc
sql/table.cc:
Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
- set HA_NULL_PART flag instead of HA_PART_KEY_SEG in order not to mix them.
The value taken to be shown in SHOW PROCESSLIST is not
initialized when THD is created and will be random for
unauthenticated connections.
To the documentor: Random value, instead of NULL, was shown,
in SHOW PROCESSLIST for still non-authenticated connections.
sql/sql_class.cc:
Initialize time_after_lock.
It is used from SHOW PROCESSLIST's code. If not initialized
random value is shown for connected but still unauthenticated
clients in the column Time.
Make sure postExecute is not run for blobs if AO_IgnoreError
ndb/src/ndbapi/NdbConnection.cpp:
If AO_IgnoreError, error codes arent always set on individual operations, making postExecute impossible
Repair table could crash a server if there is not sufficient
memory (myisam_sort_buffer_size) to operate. Affects not only
repair, but also all statements that use create index by sort:
repair by sort, parallel repair, bulk insert.
Return an error if there is not sufficient memory to store at
least one key per BUFFPEK.
Also fixed memory leak if thr_find_all_keys returns an error.
myisam/sort.c:
maxbuffer is number of BUFFPEK-s for repair. It is calculated
as records / keys. keys is number of keys that can be stored
in memory (myisam_sort_buffer_size). There must be sufficient
memory to store both BUFFPEK-s and keys. It was checked
correctly before this patch. However there is another
requirement that wasn't checked: there must be sufficient
memory for at least one key per BUFFPEK, otherwise repair
by sort/parallel repair cannot operate.
Return an error if there is not sufficient memory to store at
least one key per BUFFPEK.
Also fixed memory leak if thr_find_all_keys returns an error.
mysql-test/r/repair.result:
A test case for BUG#23175.
mysql-test/t/repair.test:
A test case for BUG#23175.
Improve code that detects if ndb shuold be installed
Remove call to stop_all_servers after install db, if any servers are still running
and need to be stopped they will be stopped atuomatically
mysql-test/lib/mtr_cases.pl:
All tests that have "source include/have_ndb.inc" are ndb tests
mysql-test/mysql-test-run.pl:
Set --with-ndbcluster to only be valid together with --bench
Rename opt_ndbcluster_supported to glob_ndbcluster_supported it's not an option
Fix warnings
Set comment properly before calling mtr_report_test failed and report_failure_restart
mysql-test/lib/mtr_report.pl:
Remove warnings
No need to check ndb installed ok here, when that is detected comment is set to indicate the problem