"$1: unbound variable" error when no option was given
support-files/MacOSX/MySQL:
- Suppress the annoying "$1: unbound variable" error when no option
was given
about it". Now numbers representing illegal timestamps are
converted to 0 value if they are stored as timestamp or
datetime. This behaviour is consistent with manual and with
behaviour of string -> timestamp conversion.
mysql-test/r/type_datetime.result:
Added test if ranges are checked during
integer, string -> timestamp conversion
mysql-test/r/type_timestamp.result:
Added test if ranges are checked during
integer, string -> datetime conversion
mysql-test/t/type_datetime.test:
Added test if ranges are checked during
integer, string -> datetime conversion
mysql-test/t/type_timestamp.test:
Added test if ranges are checked during
integer, string -> timestamp conversion
sql/field.cc:
Checks of month, day, hour, minute and second ranges were added
to storing of integer into Field_datetime and Field_timestamp
and so for integer -> datetime, timestamp conversion.
SQL_BIG_RESULT used':
- BIT_AND now returns BIGINT UNSIGNED
- in case there were no matching rows BIT_AND returns 18446744073709551615
(but not NULL), BIT_OR returns 0 (but not NULL). That's how Monty wants it
and how is described in our docs.
include/my_global.h:
Added definition for ULONGLONG_MAX.
This is also a check that ULL type specifier
can be used on all supported platforms.
mysql-test/r/func_group.result:
bug #1790, post-review work: test results fixed
sql/item_sum.cc:
small cleanup
sql/item_sum.h:
few style fixes.
BIT_AND and BIT_OR now are both BIGINT UNSIGNED
instead of Log_event::Log_event(THD*, ...) when the event is built in the master
to be written in the binlog.
Rand_log_event already used the good constructor, so there really is no reason
for Intvar_log_event to be an exception.
This fixes a test failure of last night (which appeared after I removed a useless
e.server_id=thd->server_id in log.cc; in fact this line was not useless because
it hid the bad constructor).
Replication tests pass, with Valgrind too.
sql/log_event.h:
There is no reason that Intvar_log_event's constructor calls Log_event::Log_event()
instead of Log_event::Log_event(THD*, ...) when the event is built in the master
to be written in the binlog.
Rand_log_event already used the good constructor, so there really is no reason
for Intvar_log_event to be an exception.
This fixes a test failure of last night (which appeared after I removed a useless
e.server_id=thd->server_id in log.cc; in fact this line was not useless because
it hid the bad constructor).
which does e.server_id=thd.server_id.
sql/log.cc:
unneeded: the Intvar_log_event constructor calls the Log_event constructor
which does e.server_id=thd.server_id.
It happens that mysql->client_next->client_next=mysql
and mysql_close() goes into infinite loop.
Results vary from simple sigsegv (FreeBSD), to hard system lockup (Linux)
:)
This makes it possible to check origin of binary from the output of 'show variables'
include/mysql_version.h.in:
Added MYSQL_COMPILATION_COMMENT
sql/mysqld.cc:
Added compilation comment to mysqld --version
sql/set_var.cc:
Added compilation comment to 'show variables'
after it was removed from manual.texi (where it was automatically
generated from).
Docs/Makefile.am:
- don't create COPYING.LIB anymore (was removed from manual.texi)
Makefile.am:
- Removed COPYING.LIB from the source distribution
scripts/make_binary_distribution.sh:
- Removed COPYING.LIB from the binary distribution
scripts/make_win_src_distribution.sh:
- Removed COPYING.LIB from the windows source distribution
support-files/mysql.spec.sh:
- Removed COPYING.LIB from the Server RPM
confuses RPM's Perl module dependency checking (it adds a bogus
requirement to "Perl(the)", as "use" is a Perl keyword). (BUG#1931)
scripts/mysqlaccess.sh:
- Rephrased option help text so it does not start with "use" as this
confuses RPM's Perl module dependency checking (it adds a bogus
requirement to "Perl(the)", as "use" is a Perl keyword). (BUG#1931)
sql-bench/bench-init.pl.sh:
- Rephrased option help text so it does not start with "use" as this
confuses RPM's Perl module dependency checking (it adds a bogus
requirement to "Perl(the)", as "use" is a Perl keyword). (BUG#1931)
as it is not really required. (BUG 1610) Thanks to Scott Harrison for
the suggestion.
support-files/mysql.spec.sh:
- removed dependency on MySQL-client from the MySQL-devel subpackage
as it is not really required. (BUG 1610)
The right way to fix this is to change the Field::store(longlong) method to be
Field::store(longlong, bool unsigned_flag), but this is better to do in 4.1 than in 4.0
mysql-test/r/bigint.result:
New tests to show how the last bigint patch broke MySQL
mysql-test/t/bigint.test:
New tests to show how the last bigint patch broke MySQL
sql/item.cc:
Revert patch for bigint handling in double context as it broke normal bigint handling
sql/item.h:
Revert patch for bigint handling in double context as it broke normal bigint handling
"BIT_AND() result in GROUP BY different when SQL_BIG_RESULT used"
return value of BIT_AND changed to BIGINT SIGNED
Also the patch fixes another bug: when temporary table is in use and one of
values in group is NULL, BIT_AND always returns zero.
Fixed it to always skip null values.
mysql-test/r/func_group.result:
bug #1790: test results fixed
sql/item_sum.cc:
fix for bug #1790:
update_field() rewritten to use add() and thus was moved
to Item_sum_bit::update_field()
Item_sum_bit::reset_field() was rewritten to take into account
reset_bits.
sql/item_sum.h:
fix for bug #1790:
Item_sum::update_field() and Item_sum::reset_field() commented
Item_sum_and changed to return BIGINT SIGNED
Item_sum_and::update_field() and Item_sum_or::update_field)
were replaced with generic Item_sum_bit::update_field()
mysql-test/r/query_cache.result:
test of drop database
mysql-test/t/query_cache.test:
test of drop database
sql/sql_cache.cc:
database invalidation invalidate queries only of given database
every freed block header marked as FREE even if it will be merged to make moving & deleting tables block safe
layout fixed (too long line)
more user variable tests
mysql-test/r/user_var.result:
more user variable tests (just to have this behaviour written down somewhere)
mysql-test/t/user_var.test:
more user variable tests (just to have this behaviour written down somewhere)
sql/sql_handler.cc:
Bug#1826, HANDLER+ALTER TABLE=crash
(unfortunately, it cannot be tested in mysql-test suite)
"CHANGE MASTER makes SQL thread restart from coordinates of I/O thread".
So, in CHANGE MASTER:
when it seems reasonable that the user did not want to discontinue
its replication (i.e. when he is not specifying host or port or master_log_file
or master_log_pos; this will be documented), set the coordinates of the
I/O thread to those of the SQL thread. This way, the SQL thread will see
no discontinuity in the relay log (i.e. will skip no events), because
the I/O thread will fill the brand new relay log with the events which
are just after the position where the SQL thread had stopped
(before CHANGE MASTER was issued).
And a new test for this bug.
mysql-test/r/rpl_loaddata.result:
Now, after CHANGE MASTER the coordinates of the I/O thread are the last ones of the SQL thread, so result update.
sql/sql_repl.cc:
Fix for BUG#1870
"CHANGE MASTER makes SQL thread restart from coordinates of I/O thread".
So, in CHANGE MASTER:
when it seems reasonable that the user did not want to discontinue
its replication (i.e. when he is not specifying host or port or master_log_file
or master_log_pos; this will be documented), set the coordinates of the
I/O thread to those of the SQL thread. This way, the SQL thread will see
no discontinuity in the relay log (i.e. will skip no events), because
the I/O thread will fill the brand new relay log with the events which
are just after the position where the SQL thread had stopped
(before CHANGE MASTER was issued).