mysql-test/r/func_math.result:
added test for Bug #3051 "FLOOR returns invalid"
mysql-test/t/func_math.test:
added test for Bug #3051 "FLOOR returns invalid"
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
mysql-test/r/alter_table.result:
Fix for bug #2628: test result fixed
mysql-test/t/alter_table.test:
Fix for bug #2628: test case added
sql/sql_table.cc:
Fix for bug #2628:
We need to take into account database name when checking if source and
destination table names are equal.
Note, that after merge to 4.0 we also need to check for
lower_case_table_names.
by fixing optimizer bug with help of 'volatile' keyword
mysql-test/r/func_math.result:
added tests for BUG #2338 Trigonometric arithmetic problems
mysql-test/t/func_math.test:
added tests for BUG #2338 Trigonometric arithmetic problems
sql/item_func.cc:
added keyword volatile in Item_func_acos::val and Item_func_asin::val
to calm optimizer down and to avoid it's bug
The 4.0 changeset was:
ChangeSet@1.1579.3.1, 2003-09-26 23:43:22+02:00, guilhem@mysql.com
Fix for 64-bit machines.
I am almost sure this is the cause for
BUG#1381 [Opn]: Bug in replication on HP-UX 64 bit binaries?
BUG#1256 [CRp]: Replication slave fails to connect to master in 64-bit version
(Solaris)
The reason why I think it's wrong is that the normal client code has
uint32 ip_addr.
(of course on 32-bit machines it does not matter, but on 64-bit it does).
sql/mini_client.cc:
backport of a fix made in 4.0 to make replication work in 64-bit binaries.
DO NOT COPY THIS CODE TO 4.0. The bugfix is better in 4.0,
but here in 3.23 we don't want to add a new error code so
we just use ER_EMPTY_QUERY. Bug was:
"If a query was ignored on the slave (because of
@code{replicate-ignore-table} and other similar rules), the slave
still checked if the query got the same error code (0, no error) as on
the master. So if the master had an error on the query (for example,
``Duplicate entry'' in a multiple-row insert), then the slave stopped
and warned that the error codes didn't match. (Bug #797)"
sql/slave.cc:
Ignore ER_EMPTY_QUERY as it is also a marker for "query was ignored because
of replicate-*-table rules".
sql/sql_parse.cc:
In a slave thread, mark an ignored query (because of replicate-*-table rules)
as empty. The caller, exec_event(), will understand this error code as "ignorable
query, don't compare the error codes on master and slave".
the bug with 3.23.
ChangeSet@1.1416.113.1, 2003-03-22 15:22:59+01:00, guilhem@mysql.com
Fix for #178 Replicating INSERT VALUES(USER()) crashes (SEGV) the slave
Now it does not SEGV, but USER() is still badly replicated
(it is replicated to ""), which is a lower priority bug.
sql/item_strfunc.cc:
Don't segfault in USER() if thd->user == 0 (system thread).
was used with NULL value on NOT NULL column. (Bug #479)
mysql-test/r/order_by.result:
Update of results
mysql-test/t/order_by.test:
Test of new code
sql/sql_select.cc:
Fixed problem with lookup on NULL
mysql-test/r/user_var.result:
added tests for user variables comparing (bug #551)
mysql-test/t/user_var.test:
added tests for user variables comparing (bug #551)
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
repository (incredible that I forgot to push, but why not).
So unfortunately the bugfix missed 3.23.57 and will be in .58 :(
Instead of looking like working (bug #198), replication between
a 3.23 slave and 4.0 master should frankly stop. Here we detect
4.0 masters in the 3.23 slave code when we see a strange Rotate
event, and in that case we print an error and stop.
4.0.13 and older masters will be "often" caught (see the patch); 4.0.14
and newer masters will always be immediately caught.
sql/slave.cc:
Instead of looking like working (bug #198), replication between
a 3.23 slave and 4.0 master should frankly stop. Here we detect
4.0 masters in the 3.23 slave code when we see a strange Rotate
event, and in that case we print an error and stop.
4.0.13 and older masters will be "often" caught (see the patch); 4.0.14
and newer masters will always be immediately caught.
as the already-stored timestamp. Now 'created' is used only to know if
this is a first binlog or not. And we may re-use the superfluous bytes
in 5.0 when we need room.
sql/log_event.cc:
This sort of reverts a change I made in 3.23.57. In 3.23.57 I set 'created' to 0
if this was a non-first binlog, so I made mysqlbinlog not print the "created xx"
part if created == 0. While this was sensible, as 'created' is 0 or equal to
the timestamp which is already stored in the event, we can always print
"created xx" by using the timestamp, and leaving the use of 'created' only to
know if this is a first binlog or not (which we print as "created at startup").
sql/log_event.h:
In Start_log_event, 'created' is always the same as 'when', or O.
We didn't need 4 bytes for this, a bit would have been enough (O or
"same as 'when'"). Possibly in 5.0 we will re-use the useless bytes.
Fix for bug 254 : the first Start_log_event after server startup will
have created=now(), whereas the next ones (FLUSH LOGS, auto rotation)
will have created=0. Before this, it was always now().
This way, slaves >=4.0.14 will know when they must
drop stale temp tables or not. The next task is now modify 4.0.14 to
implement this.
sql/log.cc:
Fix for bug 254 : the first Start_log_event after server startup will
have created=now(), whereas the next ones (FLUSH LOGS, auto rotation)
will have created=0. Before this, it was always now().
This way, slaves >=4.0.14 will know when they must
drop stale temp tables or not.
sql/log_event.h:
An explanation.
sql/sql_class.h:
Prototype change (see log.cc).
sql/sql_acl.cc:
Security patch
sql/sql_base.cc:
Security patch
sql/sql_parse.cc:
Security patch
tests/grant.pl:
Test of security patch
tests/grant.res:
Test of security patch
Backported fix from 4.1 for bug 212: SELECT query containing a NATURAL JOIN and parentheses in the WHERE clause
mysql-test/r/join.result:
New test results
mysql-test/t/join.test:
Test for bug 212
sql/log_event.cc:
Removed wrong cast
sql/log_event.h:
Fixed problem with timestamps in binary log on 64 bit machines
sql/sql_list.h:
Fix for bug 212 (back ported from 4.1)