When constructing the path to the original .frm file ALTER .. RENAME
was unnecessary (and incorrectly) lowercasing the whole path when not
on a case-insensitive filesystem.
This path should not be modified because of lower_case_table_names
as it is already in the correct case according to that setting.
Fixed by removing the lowercasing.
Unfortunately testing this would require running the tests on a case
sensitive filesystem in a directory that has uppercase letters.
This cannot be guaranteed in all setups so no test case added.
sql/sql_table.cc:
Bug #28754: don't downcase the .frm path
In case of database level grant the database name may be a pattern,
in case of table|column level grant the database name can not be a pattern.
We use 'dont_check_global_grants' as a flag to determine
if it's database level grant command
(see SQLCOM_GRANT case, mysql_execute_command() function) and
set db_is_pattern according to 'dont_check_global_grants' value.
mysql-test/r/grant2.result:
test result
mysql-test/t/grant2.test:
test case
sql/sql_parse.cc:
In case of database level grant the database name may be a pattern,
in case of table|column level grant the database name can not be a pattern.
We use 'dont_check_global_grants' as a flag to determine
if it's database level grant command
(see SQLCOM_GRANT case, mysql_execute_command() function) and
set db_is_pattern according to 'dont_check_global_grants' value.
- Backport include/show_binlog_events.inc from 5.1 and use it to make
the test output consistent results
mysql-test/r/mix_innodb_myisam_binlog.result:
Backport include/show_binlog_events.inc from 5.1 and use it to make
the test output consistent results
mysql-test/t/mix_innodb_myisam_binlog.test:
Backport include/show_binlog_events.inc from 5.1 and use it to make
the test output consistent results
mysql-test/include/show_binlog_events.inc:
New BitKeeper file ``mysql-test/include/show_binlog_events.inc''
ORDER BY and LIMIT 1.
The bug was introduced by the patch for bug 21727. The patch
erroneously skipped initialization of the array of headers
for sorted records for non-first evaluations of the subquery.
To fix the problem a new parameter has been added to the
function make_char_array that performs the initialization.
Now this function is called for any invocation of the
filesort procedure. Yet it allocates the buffer for sorted
records only if this parameter is NULL.
mysql-test/r/subselect.result:
Added a test case for bug #28811.
mysql-test/t/subselect.test:
Added a test case for bug #28811.
mysql-test/lib/mtr_cases.pl:
Don't turn off binlog in versions prior to 5.0
mysql-test/r/binlog.result:
Update result after adding "one more select"
mysql-test/t/binlog.test:
Update result after adding "one more select"
but rather use the "thread_id" counter.
Fixes bug#27078:
Compile error: lib_sql.cc cast from 'THD*' to 'pthread_t' loses precision
libmysqld/lib_sql.cc:
Avoid casting a pointer to a (possibly) int, which will not compile on some platforms:
Do not use the "thd" pointer to identify a thread in the embedded lib,
but rather use the "thread_id" counter.
Patch is proposed by Monty. Fixes bug#27078.
This bug was introduced by the fix for the bug#27300. In this fix a section
of code was added to the Item::tmp_table_field_from_field_type method.
This section intended to create Field_geom fields for the Item_geometry_func
class and its descendants. In order to get the geometry type of the current
item it casted "this" to the Item_geometry_func* type. But the
Item::tmp_table_field_from_field_type method is also used for creation of
fields for UNION and in this case this method is called for an object of the
Item_type_holder class and the cast to the Item_geometry_func* type causes
a server crash.
Now the Item::tmp_table_field_from_field_type method correctly works when it's
called for both the Item_type_holder and the Item_geometry_func classes.
The new geometry_type variable is added to the Item_type_holder class.
The new method called get_geometry_type is added to the Item_field
and the Field classes. It returns geometry type from the field for the
Item_field and the Field_geom classes and fails an assert for other Field
descendants.
sql/field.h:
Bug#28763: Selecting geometry fields in UNION caused server crash.
The new method called get_geometry_type is added to the Field class.
It returns geometry type of the field for the Field_geom class
and fails an assert for other Field descendants.
sql/item.cc:
Bug#28763: Selecting geometry fields in UNION caused server crash.
Now the Item::tmp_table_field_from_field_type method correctly works when it's
called for both the Item_type_holder and the Item_geometry_func classes.
mysql-test/r/gis.result:
Added a test case for the bug#28763: Selecting geometry fields in UNION caused server crash.
mysql-test/t/gis.test:
Added a test case for the bug#28763: Selecting geometry fields in UNION caused server crash.
sql/item.h:
Bug#28763: Selecting geometry fields in UNION caused server crash.
The new method called get_geometry_type is added to the Item_field class.
It returns geometry type from the field.
The new geometry_type variable is added to the Item_type_holder class.
Mark one more test as needing binlog
mysql-test/include/master-slave.inc:
Fix typo
mysql-test/lib/mtr_cases.pl:
Fix typo
mysql-test/r/have_log_bin.require:
Fix typo
mysql-test/t/binlog_killed.test:
Need binlog
- Turn on binlog only for tests that need it
- Skip those tests if --skip-binlog is used
BitKeeper/deleted/.del-ctype_cp932_notembedded.result:
Rename: mysql-test/r/ctype_cp932_notembedded.result -> BitKeeper/deleted/.del-ctype_cp932_notembedded.result
BitKeeper/deleted/.del-ctype_cp932_notembedded.test:
Rename: mysql-test/t/ctype_cp932_notembedded.test -> BitKeeper/deleted/.del-ctype_cp932_notembedded.test
mysql-test/include/master-slave.inc:
Need binlog
mysql-test/lib/mtr_cases.pl:
Turn on binlog only for tests that need it
Skip those tests if --skip-binlog is used
mysql-test/r/sp_trans.result:
Moved to "sp_binlog"
mysql-test/t/binlog.test:
Need binlog
mysql-test/t/blackhole.test:
Need binlog
mysql-test/t/ctype_cp932_binlog.test:
Need binlog
mysql-test/t/ctype_ucs_binlog.test:
Need binlog
mysql-test/t/drop_temp_table.test:
Need binlog
mysql-test/t/flush_block_commit_notembedded.test:
Need binlog
mysql-test/t/innodb.test:
Need binlog
mysql-test/t/insert_select-binlog.test:
Need binlog
mysql-test/t/mix_innodb_myisam_binlog.test:
Need binlog
mysql-test/t/mysqlbinlog-cp932.test:
Need binlog
mysql-test/t/mysqlbinlog.test:
Need binlog
mysql-test/t/mysqlbinlog2.test:
Need binlog
mysql-test/t/mysqldump.test:
Need binlog
mysql-test/t/rpl000015.test:
Need binlog
mysql-test/t/rpl000017.test:
Need binlog
mysql-test/t/rpl_rotate_logs.test:
Need binlog
mysql-test/t/sp_trans.test:
Moved to "sp_binlog"
mysql-test/t/user_var-binlog.test:
Need binlog
mysql-test/r/sp_trans_log.result:
New BitKeeper file ``mysql-test/r/sp_trans_log.result''
mysql-test/t/sp_trans_log.test:
New BitKeeper file ``mysql-test/t/sp_trans_log.test''
into trift2.:/MySQL/M50/push-5.0
netware/comp_err.def:
Auto merged
netware/isamchk.def:
Auto merged
netware/isamlog.def:
Auto merged
netware/libmysql.def:
Auto merged
netware/myisam_ftdump.def:
Auto merged
netware/myisamchk.def:
Auto merged
netware/myisamlog.def:
Auto merged
netware/myisampack.def:
Auto merged
netware/mysql.def:
Auto merged
netware/mysql_install_db.def:
Auto merged
netware/mysql_test_run.def:
Auto merged
netware/mysql_waitpid.def:
Auto merged
netware/mysqladmin.def:
Auto merged
netware/mysqlbinlog.def:
Auto merged
netware/mysqlcheck.def:
Auto merged
netware/mysqld.def:
Auto merged
netware/mysqld_safe.def:
Auto merged
netware/mysqldump.def:
Auto merged
netware/mysqlimport.def:
Auto merged
netware/mysqlshow.def:
Auto merged
netware/mysqltest.def:
Auto merged
netware/pack_isam.def:
Auto merged
netware/perror.def:
Auto merged
netware/replace.def:
Auto merged
netware/resolve_stack_dump.def:
Auto merged
netware/resolveip.def:
Auto merged
netware/my_print_defaults.def:
Use 5.0 version
The events were not being opened in the global namespace.
sql-common/client.c:
Add Global\\ to the event names so they are opened in the global namespace
and is not described in the manual
- Adding missing initialization for utf8 collations
- Minor code clean-ups: renaming variables,
moving code into a new separate function.
- Adding test, to check that both ucs2 and utf8 user
defined collations work (ucs2_test_ci and utf8_test_ci)
- Adding Vietnamese collation as a complex user defined
collation example.
include/m_ctype.h:
Renaming variable names to match collation names (for convenience).
mysys/charset-def.c:
- Removing redundant declarations for variables declared in m_ctype.h
- Renaming variable names to match collation names (for convenience).
mysys/charset.c:
- Renaming "new" to "newcs", to avoid using C reserved word as a variable name
- Moving UCA initialization code into a separate function
- The bug fix itself: adding initialization of utf8 collations
strings/ctype-uca.c:
Renaming variable names to match collation names (for convenience).
strings/ctype.c:
Increasing buffer size to fit tailoring for languages
with complex rules (e.g. Vietnamese).
mysql-test/r/ctype_ldml.result:
Adding test case
mysql-test/std_data/Index.xml:
Adding Index.xml example with user defined collations.
mysql-test/t/ctype_ldml-master.opt:
Adding OPT file for the test case,
to use the example Index.xml file.
mysql-test/t/ctype_ldml.test:
Adding test case
- Skip test if the mysqld to test is not started from MYSQLTEST_VARDIR
mysql-test/t/backup.test:
Skip test if the mysqld to test is not started from MYSQLTEST_VARDIR
mysql-test/t/blackhole.test:
Skip test if the mysqld to test is not started from MYSQLTEST_VARDIR
mysql-test/include/uses_vardir.inc:
New BitKeeper file ``mysql-test/include/uses_vardir.inc''
netware/comp_err.def:
Allocate 128K stack for all executables (bug#23504)
netware/isamchk.def:
Allocate 128K stack for all executables (bug#23504)
netware/isamlog.def:
Allocate 128K stack for all executables (bug#23504)
netware/libmysql.def:
Allocate 128K stack for all executables (bug#23504)
netware/my_print_defaults.def:
Allocate 128K stack for all executables (bug#23504)
netware/myisam_ftdump.def:
Allocate 128K stack for all executables (bug#23504)
netware/myisamchk.def:
Allocate 128K stack for all executables (bug#23504)
netware/myisamlog.def:
Allocate 128K stack for all executables (bug#23504)
netware/myisampack.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysql.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysql_install_db.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysql_test_run.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysql_waitpid.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqladmin.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqlbinlog.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqlcheck.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqld.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqld_safe.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqldump.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqlimport.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqlshow.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqltest.def:
Allocate 128K stack for all executables (bug#23504)
netware/pack_isam.def:
Allocate 128K stack for all executables (bug#23504)
netware/perror.def:
Allocate 128K stack for all executables (bug#23504)
netware/replace.def:
Allocate 128K stack for all executables (bug#23504)
netware/resolve_stack_dump.def:
Allocate 128K stack for all executables (bug#23504)
netware/resolveip.def:
Allocate 128K stack for all executables (bug#23504)
using prepared statements.
sql/field.cc:
Using MAX_DATETIME_WIDTH or MAX_DATETIME_COMPRESSED_WIDTH
constants for the length of DATETIME fields.
Using MAX_DATE_STRING_REP_LENGTH for allocating buffers
for date/time/... string representation.
sql/item_timefunc.cc:
Using MAX_DATETIME_WIDTH or MAX_DATETIME_COMPRESSED_WIDTH
constants for the length of DATETIME fields.
Using MAX_DATE_STRING_REP_LENGTH for allocating buffers
for date/time/... string representation.
sql/unireg.h:
Introduce a constant for length of datetime compressed
format (YYYYMMDDHHMMSS).
Problem: "SELECT INTO OUTFILE" created incorrect dumps for BLOBs,
so "LOAD DATA" later incorrectly interpreted 0x5C as the second
byte of a multi-byte sequence, instead of escape character.
Fix: adding escaping of multi-byte heads.
mysql-test/r/ctype_big5.result:
Adding test case
mysql-test/t/ctype_big5.test:
Adding test case
sql/sql_class.cc:
Add escape characters before multi-byte heads.
strings/ctype-big5.c:
Flagging character set as dangerous for escaping.
strings/ctype-gbk.c:
Flagging character set as dangerous for escaping.
strings/ctype-sjis.c:
Flagging character set as dangerous for escaping.
a temporary table has grown out of heap memory reserved for it and
the remaining disk space is not big enough to store the table as
a MyISAM table.
The crash happens because the function create_myisam_from_heap
does not handle safely the mem_root structure associated
with the converted table in the case when an error has occurred.
sql/sql_select.cc:
Fixed bug #28449: a crash may happen at some rare conditions when
a temporary table has grown out of heap memory reserved for it and
the remaining disk space is not big enough to store the table as
a MyISAM table.
The crash happens because the function create_myisam_from_heap
does not handle safely the mem_root structure associated
with the converted table in the case when an error has occurred.
As it's hard to create a sitiation that would throw an error
a special code has been added that raises an error for a newly
created test called error_simulation.
mysql-test/r/error_simulation.result:
New BitKeeper file ``mysql-test/r/error_simulation.result''
Added a test case for bug #28449.
mysql-test/t/error_simulation-master.opt:
New BitKeeper file ``mysql-test/t/error_simulation-master.opt''
mysql-test/t/error_simulation.test:
New BitKeeper file ``mysql-test/t/error_simulation.test''
Added a test case for bug #28449.
- Only use the "hack for bug in NTPL" if using NTPL, by dynamically
checking the thd_lib_detected flag
mysys/my_thr_init.c:
Only start the "dummy thread hack for bug in NPTL" - if using NPTL.
If the system uses LinuxThreads it's not needed, it actually causes
the "pthread manager" to be started as root and thus all subsequent
threads will also run as root although mysqld drops root privileges,
this in turns causes mysqld to deadlock since the mysqlds main thread
running as <user> can't send signals to a process owned by root.
wrong result for DML
When making key reference buffers over CHAR fields whitespace (0x20)
must be used to fill in the remaining space in the field's buffer.
This is what Field_string::store() does.
Fixed Field_string::get_key_image() to do the same.
mysql-test/r/innodb_mysql.result:
Bug#28878: test case
mysql-test/t/innodb_mysql.test:
Bug#28878: test case
sql/field.cc:
Bug#28878: Fill with space instead of binary zeros.
into mysql.com:/home/svoj/devel/mysql/BUG26976/mysql-5.0-engines
mysql-test/r/ps.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/r/view.result:
Auto merged
sql/sql_table.cc:
Auto merged
flag is set.
When the CLIENT_FOUND_ROWS flag is set then the server should return
found number of rows independently whether they were updated or not.
But this wasn't the case for the INSERT statement which always returned
number of rows that were actually changed thus providing wrong info to
the user.
Now the select_insert::send_eof method and the mysql_insert function
are sending the number of touched rows if the CLIENT_FOUND_ROWS flag is set.
tests/mysql_client_test.c:
Added a test case for the bug#28505: mysql_affected_rows() may return wrong result
if CLIENT_FOUND_ROWS flag is set.
sql/sql_insert.cc:
Bug#28505: mysql_affected_rows() may return wrong result if CLIENT_FOUND_ROWS
flag is set.
Now the select_insert::send_eof method and the mysql_insert function
are sending the number of touched rows if the CLIENT_FOUND_ROWS flag is set.