to CHECK TABLE
CHECK/REPAIR TABLE reports "File not found" error when issued
against temporary table.
Fixed by disabling a brunch of code (in case it gets temporary table)
that is responsible for updating frm version as it is not needed
for temporary tables.
mysql-test/r/check.result:
A test case for BUG#26325.
mysql-test/t/check.test:
A test case for BUG#26325.
sql/handler.cc:
No need to update frm version in case table was created or checked
by server with the same version. This also ensures that we do not
update frm version for temporary tables as this code doesn't support
temporary tables.
For each view the mysqldump utility creates a temporary table
with the same name and the same columns as the view
in order to satisfy views that depend on this view.
After the creation of all tables, mysqldump drops all
temporary tables and creates actual views.
However, --skip-add-drop-table and --compact flags disable
DROP TABLE statements for those temporary tables. Thus, it was
impossible to create the views because of existence of the
temporary tables with the same names.
client/mysqldump.c:
Fixed bug #28524.
The mysqldump utility has been modified to unconditionally drop
temporary tables before the creation of views.
mysql-test/t/mysqldump.test:
Updated test case for bug #28524 and updated result of previous tests.
mysql-test/r/mysqldump.result:
Updated test case for bug #28524 and updated result of previous tests.
function results in inconsistent behavior.
The bug itself was fixed by the patch for bug 20662.
mysql-test/r/sp-prelocking.result:
Update results (Bug#22427)
mysql-test/t/sp-prelocking.test:
Add a test case for Bug#22427 create table if not exists + stored
function results in inconsistent behavior
table (datadir)
Set errno when retunring an error in my_create_with_symlink.
mysys/my_symlink2.c:
Bug #29325: set errno when retunring
an error in my_create_with_symlink
Fix the typo in the constructor. Cover a semantic check that previously
never worked with a test.
mysql-test/r/create.result:
Update results (Bug#26104)
mysql-test/r/innodb.result:
Update results.
mysql-test/t/create.test:
Add a test case for Bug#26104 Bug on foreign key class constructor
mysql-test/t/innodb.test:
Return a new error number (MySQL error instead of internal InnoDB error).
sql/sql_class.h:
A fix for Bug#26104 Bug on foreign key class constructor -- fix
the typo in the constructor
table.
The bug itself is yet another manifestation of Bug 26141.
mysql-test/r/trigger.result:
Update results.
mysql-test/t/trigger.test:
Add a test case for Bug#27248 Triggers: error if insert affects temporary
table
Removed duplicate call to handler::external_lock() when
ALTER TABLE that doesn't need to copy a table (quick
ALTER TABLE) was executed.
Also quick ALTER TABLE doesn't hold LOCK_open anymore when
it enables/disables indexes.
sql/sql_table.cc:
Do not call handler::external_lock() as table is already locked
by open_ltable().
Also do not hold LOCK_open mutex for alter_table_manage_keys() as
this function doesn't require LOCK_open (LOCK_open is required by
wait_while_table_is_used() only).
Fixing bug#25486: mysqld_multi.server.sh missing from builds
support-files/Makefile.am:
Handle "mysqld_multi.server.sh" like other shell scripts.
Fixing bug#25486.
'/' and '\' in path delimiters:
- Fix this by creating new handler with exactly the same path line as
was passed to ha_create/ha_open.
sql/opt_range.cc:
Set thd->net.report_error on handler::clone() failure
Fixing bug#21023: "mysql-stress-test.pl" missing in builds
mysql-test/Makefile.am:
Ensure "mysql-stress-test.pl" is handled by "make install" in the "mysql-test" directory.
This should get the script into the result tree of a RPM build.
Fixing bug#21023.
scripts/make_binary_distribution.sh:
Copy "mysql-test/mysql-stress-test.pl" into a binary distribution ("tar.gz" and derived formats).
Fixing bug#21023.
into sin.intern.azundris.com:/home/tnurnberg/27198/41-27198
sql/mysql_priv.h:
Bug #27198: Error returns from time() are ignored
manual merge
sql/sql_class.h:
Bug #27198: Error returns from time() are ignored
manual merge
into bodhi.(none):/opt/local/work/mysql-5.0-runtime
mysql-test/t/sp.test:
Auto merged
sql/item.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/innodb_mysql.result:
Manual merge.
mysql-test/t/innodb_mysql.test:
Manual merge.
selected prior: ensure the fix also works for information_schema
tables.
sql/sql_parse.cc:
Ensure the fix for Bug#29050 works for information_schema tables.
In embedded server we use result->alloc to store field data for the
result, but we didn't clean the result->alloc if the query returned
an empty recordset. Cleaning for the empty recordset enabled
libmysql/libmysql.c:
Bug #29687 mysql_stmt_store_result memory leak in libmysqld
we should clean result->alloc even if we have nothin in 'data' field
The get_time_value function is added. It is used to obtain TIME values both
from items the can return time as an integer and from items that can return
time only as a string.
The Arg_comparator::compare_datetime function now uses pointer to a getter
function to obtain values to compare. Now this function is also used for
comparison of TIME values.
The get_value_func variable is added to the Arg_comparator class.
It points to a getter function for the DATE/DATETIME/TIME comparator.
mysql-test/t/type_time.test:
Extended test case for the bug#29555.
mysql-test/r/type_time.result:
Extended test case for the bug#29555.
sql/item_cmpfunc.cc:
Extended fix for the bug#29555.
The get_time_value function is added. It is used to obtain TIME values both
from items the can return time as an integer and from items that can return
time only as a string.
The Arg_comparator::compare_datetime function now uses pointer to a getter
function to obtain values to compare. Now this function is also used for
comparison of TIME values.
sql/item_cmpfunc.h:
Extended fix for the bug#29555.
The get_value_func variable is added to the Arg_comparator class.
It points to a getter function for the DATE/DATETIME/TIME comparator.
Linux Debug build (possible deadlock)"
The bug is not repeatable any more.
mysql-test/r/innodb_mysql.result:
Update test results (Bug#27296)
mysql-test/t/innodb_mysql.test:
Add a teste case for Bug#27296 "Assertion in ALTER TABLE SET DEFAULT in
Linux Debug build (possible deadlock)"
The Field_newdate::store when storing a DATETIME value was returning the
'value was cut' error even if the thd->count_cuted_fields flag is set to
CHECK_FIELD_IGNORE. This made range optimizr think that there is no
appropriate data in the table and thus to return an empty set.
Now the Field_newdate::store function returns conversion error only if the
thd->count_cuted_fields flag isn't set to CHECK_FIELD_IGNORE.
mysql-test/t/type_time.test:
Added a test case for the bug#29729: Wrong conversion error led to an empty result set.
mysql-test/r/type_time.result:
Added a test case for the bug#29729: Wrong conversion error led to an empty result set.
sql/field.cc:
Bug#29729: Wrong conversion error led to an empty result set.
pseudo_thread_id was reset to zero via mysql_change_user() handling
whereas there is no reason to do that. Moreover, having two
concurrent threads that change user and create a namesake temp tables
leads to recording the dup pair of queries:
set @@session.pseudo_thread_id = 0;
CREATE temporary table `the namesake`;
which will stall the slave as the second instance can not be created.
And that is the bug case.
Fixed by correcting pseudo_thread_id value after mysql_change_user().
sql/sql_class.cc:
Fixed that pseudo_thread_id was set to 0 after mysql_change_user().
gettimeofday() can fail and presumably, so can time().
Keep an eye on it.
Since we have no data on this at all so far, we just
retry on failure (and log the event), assuming that
this is just an intermittant failure. This might of
course hang the threat until we succeed. Once we know
more about these failures, an appropriate more clever
scheme may be picked (only try so many times per thread,
etc., if that fails, return last "good" time() we got or
some such). Using sql_print_information() to log as this
probably only occurs in high load scenarios where the debug-
trace likely is disabled (or might interfere with testing
the effect). No test-case as this is a non-deterministic
issue.
sql/mysql_priv.h:
Bug#27198: Error returns from time() are ignored
move declarations for log.cc to before inclusion of
sql_class.h as we now use sql_print_information() in
there.
sql/sql_class.h:
Bug#27198: Error returns from time() are ignored
gettimeofday() can fail and presumably, so can time().
Keep an eye on it.
- return HA_KEY_SCAN_NOT_ROR flag for HASH indexes;
- Fix ha_heap::cmp_ref() to work with BTREE index scans.
mysql-test/r/index_merge.result:
BUG#29740: testcase
mysql-test/t/index_merge.test:
BUG#29740: testcase
sql/ha_heap.h:
BUG#29740: Wrong query results for index_merge/union over HEAP table.
- make HEAP table engine return HA_KEY_SCAN_NOT_ROR flag for HASH
indexes,as HASH index does not guarantee any ordering for rows
within the hash bucket.
- Fix BTREE indexes: make ha_heap::cmp_ref() compare the rowids in the
same way as ha_key_cmp() does.
sql/opt_range.cc:
BUG#29740: Fix comment about ROR scans.