into mysql.com:/home/mysql_src/mysql-5.0-new-binlog-format
include/my_sys.h:
Auto merged
mysql-test/r/rpl_max_relay_size.result:
Auto merged
mysql-test/r/rpl_rotate_logs.result:
Auto merged
mysql-test/r/rpl_trunc_binlog.result:
Auto merged
mysql-test/t/rpl_log_pos.test:
Auto merged
mysql-test/t/rpl_max_relay_size.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
mysql-test/t/rpl_trunc_binlog.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_repl.cc:
Auto merged
into mysql.com:/dbdata/psergey/mysql-5.0-imerge-unique
BitKeeper/etc/logging_ok:
auto-union
include/my_global.h:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/records.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/uniques.cc:
Auto merged
* A more dynamic binlog format which allows small changes (1064)
* Log session variables in Query_log_event (1063)
It contains a few bugfixes (which I made when running the testsuite).
I carefully updated the results of the testsuite (i.e. I checked for every one,
if the difference between .reject and .result could be explained).
Apparently mysql-test-run --manager is broken in 4.1 and 5.0 currently,
so I could neither run the few tests which require --manager, nor check
that they pass nor modify their .result. But for builds, we don't run
with --manager.
Apart from --manager, the full testsuite passes, with Valgrind too (no errors).
I'm going to push in the next minutes. Remains: update the manual.
Note: by chance I saw that (in 4.1, in 5.0) rpl_get_lock fails when run alone;
this is normal at it makes assumptions on thread ids. I will fix this one day
in 4.1.
mysql-test/r/rpl000015.result:
result update
mysql-test/r/rpl_change_master.result:
result update
mysql-test/r/rpl_error_ignored_table.result:
result update
mysql-test/r/rpl_flush_log_loop.result:
result update
mysql-test/r/rpl_flush_tables.result:
result update
mysql-test/r/rpl_loaddata.result:
result update
mysql-test/r/rpl_loaddata_rule_m.result:
result update
mysql-test/r/rpl_loaddata_rule_s.result:
result update
mysql-test/r/rpl_log.result:
result update
mysql-test/r/rpl_log_pos.result:
result update
mysql-test/r/rpl_max_relay_size.result:
result update
mysql-test/r/rpl_relayrotate.result:
result update
mysql-test/r/rpl_replicate_do.result:
result update
mysql-test/r/rpl_reset_slave.result:
result update
mysql-test/r/rpl_rotate_logs.result:
result update
mysql-test/r/rpl_session_var.result:
result update
mysql-test/r/rpl_temporary.result:
result update
mysql-test/r/rpl_trunc_binlog.result:
result update
mysql-test/r/rpl_until.result:
result update
mysql-test/r/rpl_user_variables.result:
result update
mysql-test/t/rpl000010-slave.opt:
need to wait 2 events, because now we receive a Format_desc on top of the Rotate,
when replication starts.
mysql-test/t/rpl000015.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_change_master.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_empty_master_crash.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_error_ignored_table.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_flush_log_loop.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_loaddata.test:
position update
mysql-test/t/rpl_loaddata_rule_m.test:
position update
mysql-test/t/rpl_loaddata_rule_s.test:
position update
mysql-test/t/rpl_log.test:
position update
mysql-test/t/rpl_log_pos.test:
position update
mysql-test/t/rpl_max_relay_size.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_openssl.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_redirect.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_relayrotate-slave.opt:
better options for this test
mysql-test/t/rpl_relayrotate.test:
using max() is better for debugging (it shows at which place the slave
SQL thread resumed)
mysql-test/t/rpl_replicate_do.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_reset_slave.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_rotate_logs.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_session_var.test:
100 because password() is longer than 10 chars
mysql-test/t/rpl_trunc_binlog.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_until.test:
position update
mysql-test/t/rpl_user_variables.test:
position update
sql/log.cc:
Ensure that the Format_desc propagated on next relay logs does not trigger
undue actions (like incrementing some positions or clearing some files).
sql/log_event.cc:
* When the slave SQL thread finds a Rotate/Format_desc/Stop in the middle of
a transaction (then these were written by the slave itself to its relay log),
it should not increment rli->group* variables, but only rli->event* ones.
* When the slave SQL thread finds a Format_desc not to be ignored (not
the same server id as the slave's), if it has log_pos==0 it must not trigger
"unfinished transaction in master's binlog" (log_pos==0 is always a marker
in the relay log to mean "this event was not at this place in the master's
binlog": it's for fake Rotate events, and for Format_description events which the master had
to send us for replication to start).
* In the Query_log_event on disk, catalog is now terminated by '\0'.
* thd->catalog must be set to 0 when some exec_event() terminate (otherwise
double free).
sql/slave.cc:
* Fixes for a few bugs when ignoring events in the slave SQL thread:
- do not decrement rli->slave_skip_counter if the event is an event
related to the binlog or relay log itself (FORMAT_DESCRIPTION,
ROTATE, STOP) because these events should never be skipped (or the slave
will be confused). Usually the user wants to skip a query, not a Rotate...
- when we (re)connect to the master, we must free description_event_for_queue
(otherwise memory leak when we reconnect).
* Changed a bit the code where we change description_event_for_queue,
to make it look "safer".
* Moved 'created=0' to log.cc where it is safer.
* When the slave SQL thread finds a Rotate/Format_desc/Stop in the middle of
a transaction (then these were written by the slave itself to its relay log),
it should not increment rli->group* variables, but only rli->event* ones.
sql/sql_class.h:
a warning comment
sql/sql_repl.cc:
A mistake: I had passed a char* instead of char**
All tests pass (client_test included)
libmysqld/lib_sql.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/filesort.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/ha_innodb.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/ha_myisam.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_cmpfunc.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_create.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_func.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_subselect.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_sum.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/mysql_priv.h:
THD::lex now points to THD::main_lex like in 5.0
sql/mysqld.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/protocol.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/repl_failsafe.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/slave.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_acl.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_base.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_cache.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_class.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_class.h:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_delete.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_error.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_insert.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_lex.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_lex.h:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_parse.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_prepare.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_repl.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_select.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_table.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_union.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_update.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_yacc.yy:
THD::lex now points to THD::main_lex like in 5.0
BitKeeper/etc/logging_ok:
auto-union
client/mysql.cc:
Auto merged
configure.in:
Auto merged
client/mysqltest.c:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
mysql-test/r/insert.result:
Auto merged
mysql-test/r/join_outer.result:
Auto merged
mysql-test/r/multi_update.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/insert.test:
Auto merged
mysql-test/t/multi_update.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/lex.h:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/records.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_rename.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
sql/share/czech/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/filesort.cc:
Snippet of filesort() code moved to function reuse_freed_buff() -
change buffpek pointers to use buff from freed BUFFPEK
Used in filesort() and merge_walk().
sql/item_sum.cc:
Implementation of Item_sum_sum_distinct - SUM(DISTINCT) item,
which uses Unique to resolve duplicates
sql/item_sum.h:
New sum Item added - Item_sum_sum_distinct - for SUM(DISTINCT) function
sql/sql_class.h:
added walk() and reset() methods to Unique, used in Item_sum_sum_distinct.
sql/sql_sort.h:
declaration for reuse_freed_buff() to be able to use it in uniques.cc
sql/sql_yacc.yy:
parser extended to handle MIN(DISTICNT), MAX(DISTINCT), SUM(DISTINCT)
sql/uniques.cc:
Implementation for Unique::reset(), Unique::walk() as well as for merge_walk()
algorithm.
This is the main commit for Worklog tasks:
* A more dynamic binlog format which allows small changes (1064)
* Log session variables in Query_log_event (1063)
Below 5.0 means 5.0.0.
MySQL 5.0 is able to replicate FOREIGN_KEY_CHECKS, UNIQUE_KEY_CHECKS (for speed),
SQL_AUTO_IS_NULL, SQL_MODE. Not charsets (WL#1062), not some vars (I can only think
of SQL_SELECT_LIMIT, which deserves a special treatment). Note that this
works for queries, except LOAD DATA INFILE (for this it would have to wait
for Dmitri's push of WL#874, which in turns waits for the present push, so...
the deadlock must be broken!). Note that when Dmitri pushes WL#874 in 5.0.1,
5.0.0 won't be able to replicate a LOAD DATA INFILE from 5.0.1.
Apart from that, the new binlog format is designed so that it can tolerate
a little variation in the events (so that a 5.0.0 slave could replicate a
5.0.1 master, except for LOAD DATA INFILE unfortunately); that is, when I
later add replication of charsets it should break nothing. And when I later
add a UID to every event, it should break nothing.
The main change brought by this patch is a new type of event, Format_description_log_event,
which describes some lengthes in other event types. This event is needed for
the master/slave/mysqlbinlog to understand a 5.0 log. Thanks to this event,
we can later add more bytes to the header of every event without breaking compatibility.
Inside Query_log_event, we have some additional dynamic format, as every Query_log_event
can have a different number of status variables, stored as pairs (code, value); that's
how SQL_MODE and session variables and catalog are stored. Like this, we can later
add count of affected rows, charsets... and we can have options --don't-log-count-affected-rows
if we want.
MySQL 5.0 is able to run on 4.x relay logs, 4.x binlogs.
Upgrading a 4.x master to 5.0 is ok (no need to delete binlogs),
upgrading a 4.x slave to 5.0 is ok (no need to delete relay logs);
so both can be "hot" upgrades.
Upgrading a 3.23 master to 5.0 requires as much as upgrading it to 4.0.
3.23 and 4.x can't be slaves of 5.0.
So downgrading from 5.0 to 4.x may be complicated.
Log_event::log_pos is now the position of the end of the event, which is
more useful than the position of the beginning. We take care about compatibility
with <5.0 (in which log_pos is the beginning).
I added a short test for replication of SQL_MODE and some other variables.
TODO:
- after committing this, merge the latest 5.0 into it
- fix all tests
- update the manual with upgrade notes.
client/Makefile.am:
mysqlbinlog.cc depends slightly on sql/mysql_priv.h
client/mysqlbinlog.cc:
Make mysqlbinlog able to read the new binlog format,
by seeking to the start and reading the first few events, to
detect the format of the binlog.
include/my_sys.h:
a correct tell() for SEQ_READ_APPEND caches.
mysys/mf_iocache2.c:
a correct tell() for SEQ_READ_APPEND caches
(my_b_tell() is not working for such caches).
sql/ha_innodb.cc:
we are getting rid of event lengthes here and there, which is good.
sql/log.cc:
Start events will have created==0 if generated by rotation (like in 3.23).
In 5.0 we always write a Format_description_log_event at the beginning of
every master's binary log and of every slave's relay log.
We also add Rotate and Stop to relay logs (like there already was in
master's binary logs).
When we rotate a relay log, we write the previous relay log's Start event
(the one which was sent from the master) to the beginning of the new log,
so that we don't need the previous relay log to understand the new one;
that's the purpose of MYSQL_LOG::description_event_for_queue.
Removed logging of SET FOREIGN_KEY_CHECKS, because we handle it as flags
in the Query event now.
sql/log_event.cc:
New event type: Format_description_log_event, to describe the log's format.
read_log_event() needs to be passed this event to be able to read 5.0 events.
Query_log_event has new members flags2 and sql_mode for replication of session
variables (except charsets which are WL#1062) and SQL_MODE.
flags2 is in fact a kind of copy of thd->options (&'d with a mask).
Now with this replication of FOREIGN_KEY_CHECKS, SQL_AUTO_IS_NULL, UNIQUE_CHECKS
and SQL_MODE work; with mysqlbinlog too.
sql/log_event.h:
Binlog version is changed to 4.
New classes (details in sql/log_event.cc).
Removing some useless #defines.
sql/mysql_priv.h:
Definition of SELECT_DISTINCT and others must be visible in client/mysqlbinlog.cc,
so adding #ifdefs.
sql/mysqld.cc:
update for prototype change
sql/slave.cc:
When the slave opens a relay log, it reads the first few events to know the format.
When slave I/O thread receives a Rotate from the master, it rotates its relay log
(to avoid mixed format in the relay log).
sql/slave.h:
in the slave we avoid lengthes and rely on absolute positions instead;
hence the introduction of future_group_master_log_pos and future_event_relay_log_pos
(explained in code).
sql/sql_class.cc:
catalog in THD
sql/sql_class.h:
catalog, and new members in MYSQL_LOG
sql/sql_repl.cc:
When the master starts sending binlog to slave, it must
first read the first few events to detect the binlog's format.
Same for SHOW BINLOG EVENTS.
BitKeeper/etc/logging_ok:
auto-union
Build-tools/Do-compile:
Auto merged
acinclude.m4:
Auto merged
configure.in:
Auto merged
dbug/dbug.c:
Auto merged
include/config-win.h:
Auto merged
include/my_base.h:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/mysql.h:
Auto merged
include/mysql_com.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/row/row0umod.c:
Auto merged
innobase/row/row0upd.c:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_dbug.c:
Auto merged
myisam/mi_open.c:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/func_op.result:
Auto merged
Build-tools/Bootstrap:
Merge with 4.0
client/mysql.cc:
Merge with 4.0
client/mysqldump.c:
Merge with 4.0
client/mysqltest.c:
Use local version
innobase/btr/btr0cur.c:
Merge with 4.0 (Heikki should check if we should remove btr_cur_update_sec_rec_in_place()
libmysql/libmysql.c:
Merge with 4.0
libmysqld/lib_sql.cc:
Merge with 4.0
myisam/mi_key.c:
Merge with 4.0
myisam/mi_search.c:
Merge with 4.0
mysql-test/r/binary.result:
Merge with 4.0
mysql-test/r/func_group.result:
Merge with 4.0
mysql-test/r/func_str.result:
Merge with 4.0
mysql-test/r/func_time.result:
Merge with 4.0
mysql-test/r/group_by.result:
Merge with 4.0
mysql-test/r/handler.result:
Merge with 4.0
mysql-test/r/innodb.result:
Merge with 4.0
mysql-test/r/insert.result:
Merge with 4.0
mysql-test/r/join_outer.result:
Merge with 4.0
mysql-test/r/loaddata.result:
Merge with 4.0
mysql-test/r/lowercase_table.result:
Merge with 4.0
mysql-test/r/multi_update.result:
Merge with 4.0
mysql-test/r/mysqldump.result:
Merge with 4.0
mysql-test/r/query_cache.result:
Merge with 4.0
mysql-test/r/rpl_max_relay_size.result:
Merge with 4.0
mysql-test/r/rpl_rotate_logs.result:
Merge with 4.0
mysql-test/r/rpl_trunc_binlog.result:
Merge with 4.0
mysql-test/r/select_found.result:
Merge with 4.0
mysql-test/r/symlink.result:
Merge with 4.0
mysql-test/r/truncate.result:
Merge with 4.0
mysql-test/r/type_blob.result:
Merge with 4.0
mysql-test/r/type_datetime.result:
Merge with 4.0
mysql-test/r/type_decimal.result:
Merge with 4.0
mysql-test/r/type_enum.result:
Merge with 4.0
mysql-test/r/type_timestamp.result:
Merge with 4.0
mysql-test/r/union.result:
Merge with 4.0
mysql-test/t/auto_increment.test:
Merge with 4.0
mysql-test/t/bdb.test:
Merge with 4.0
mysql-test/t/func_group.test:
Merge with 4.0
mysql-test/t/func_op.test:
Merge with 4.0
mysql-test/t/func_str.test:
Merge with 4.0
mysql-test/t/func_time.test:
Merge with 4.0
mysql-test/t/group_by.test:
Merge with 4.0
mysql-test/t/handler.test:
Merge with 4.0
mysql-test/t/innodb.test:
Merge with 4.0
mysql-test/t/insert.test:
Merge with 4.0
mysql-test/t/join_outer.test:
Merge with 4.0
mysql-test/t/limit.test:
Merge with 4.0
mysql-test/t/loaddata.test:
Merge with 4.0
mysql-test/t/lowercase_table.test:
Merge with 4.0
mysql-test/t/multi_update.test:
Merge with 4.0
mysql-test/t/mysqldump.test:
Merge with 4.0
mysql-test/t/query_cache.test:
Merge with 4.0
mysql-test/t/rpl_log_pos.test:
Merge with 4.0
mysql-test/t/rpl_max_relay_size.test:
Merge with 4.0
mysql-test/t/rpl_rotate_logs.test:
Merge with 4.0
mysql-test/t/rpl_trunc_binlog.test:
Merge with 4.0
mysql-test/t/select_found.test:
Merge with 4.0
mysql-test/t/symlink.test:
Merge with 4.0
mysql-test/t/truncate.test:
Merge with 4.0
mysql-test/t/type_blob.test:
Merge with 4.0
mysql-test/t/type_datetime.test:
Merge with 4.0
mysql-test/t/type_decimal.test:
Merge with 4.0
mysql-test/t/type_enum.test:
Merge with 4.0
mysql-test/t/type_timestamp.test:
Merge with 4.0
mysql-test/t/union.test:
Merge with 4.0
mysys/charset.c:
Merge with 4.0
mysys/my_init.c:
Merge with 4.0
mysys/my_symlink.c:
Merge with 4.0
mysys/my_thr_init.c:
Merge with 4.0
regex/reginit.c:
Merge with 4.0
sql/field.cc:
Change fix_datetime() to print errors
sql/field.h:
Merge with 4.0
sql/ha_innodb.cc:
Merge with 4.0
sql/item.cc:
Merge with 4.0
sql/item.h:
Merge with 4.0
sql/item_cmpfunc.cc:
Merge with 4.0
sql/item_func.cc:
Merge with 4.0
sql/item_func.h:
Merge with 4.0
sql/item_strfunc.cc:
Merge with 4.0
sql/item_strfunc.h:
Merge with 4.0
sql/item_sum.cc:
Merge with 4.0
sql/item_sum.h:
Merge with 4.0
sql/item_timefunc.cc:
Merge with 4.0
sql/lex.h:
Merge with 4.0
sql/log.cc:
Merge with 4.0
sql/log_event.cc:
Merge with 4.0
sql/log_event.h:
Merge with 4.0
sql/mysql_priv.h:
Merge with 4.0
sql/mysqld.cc:
Merge with 4.0
sql/nt_servc.cc:
Merge with 4.0
sql/opt_range.cc:
Merge with 4.0
sql/records.cc:
Merge with 4.0
sql/repl_failsafe.cc:
Merge with 4.0
sql/slave.cc:
Merge with 4.0
sql/sql_acl.cc:
Merge with 4.0
sql/sql_analyse.cc:
Merge with 4.0
sql/sql_base.cc:
Merge with 4.0
sql/sql_cache.cc:
Merge with 4.0
sql/sql_class.h:
Merge with 4.0
sql/sql_db.cc:
Merge with 4.0
sql/sql_delete.cc:
Merge with 4.0
sql/sql_insert.cc:
Merge with 4.0
sql/sql_load.cc:
Merge with 4.0
sql/sql_parse.cc:
Merge with 4.0
sql/sql_rename.cc:
Merge with 4.0
sql/sql_select.cc:
Merge with 4.0
sql/sql_show.cc:
Merge with 4.0
sql/sql_table.cc:
Merge with 4.0
sql/sql_update.cc:
Merge with 4.0
sql/sql_yacc.yy:
Merge with 4.0
sql/table.cc:
Merge with 4.0
sql/table.h:
Merge with 4.0
sql/time.cc:
Merge with 4.0
sql/uniques.cc:
Merge with 4.0
strings/ctype-tis620.c:
Merge with 4.0
strings/strto.c:
Merge with 4.0
support-files/mysql.server.sh:
Merge with 4.0
support-files/mysql.spec.sh:
Merge with 4.0
into mysql.com:/home/mysql_src/mysql-4.0
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
"EE_ error codes (EE_DELETE, EE_WRITE) end up in the binlog, making slave stop".
The problem was that during execution of the command on the master, an error
can occur (for example, not space left on device, then mysqld waits and when
there is space it completes successfully: so finally it worked but the error
EE_WRITE remains in thd->net.last_errno and thd->net.last_error).
To know if finally the command succeeded, we test the 'error' variable in
every place, and if it shows no failure we reset thd->net.last_err* using
the function THD::clear_error() which is backported from 4.1.
A new test to see if now only real errors get to the binlog (note: the test
uses "rm").
Also a bit of memory free/alloc saving in log_event.cc (do not free the whole
mem_root after every query in the slave SQL thread: we can keep the initial
block of it; which will be freed when the thread terminates).
sql/log_event.cc:
In the slave SQL thread, it's a waste to free the initial block of the mem_root
after every query. We can instead keep it. It will be freed when the thread
terminates (in THD::~THD()).
sql/sql_acl.cc:
clear the error in thd->net.last_errno as there was no error
sql/sql_base.cc:
clear the error in thd->net.last_errno as there was no error
sql/sql_class.h:
Backport of THD::clear_error() from 4.1:
clears the error in thd->net.last_errno
sql/sql_db.cc:
clear the error in thd->net.last_errno as there was no error
sql/sql_delete.cc:
clear the error in thd->net.last_errno as there was no error
sql/sql_insert.cc:
clear the error in thd->net.last_errno as there was no error
sql/sql_parse.cc:
clear the error in thd->net.last_errno as there was no error
sql/sql_rename.cc:
clear the error in thd->net.last_errno as there was no error
sql/sql_table.cc:
clear the error in thd->net.last_errno as there was no error
sql/sql_update.cc:
clear the error in thd->net.last_errno as there was no error
Don't dump data for MRG_ISAM or MRG_MYISAM tables. (Bug #1846)
Ensure that 'lower_case_table_names' is always set on case insensitive file systems. (Bug #1812)
One can now configure MySQL as windows service as a normal user. (Bug #1802)
Database names is now compared with lower case in ON clause when lower_case_table_names is set. (Bug #1736)
IGNORE ... LINES option didn't work when used with fixed length rows. (Bug #1704)
Change INSERT DELAYED ... SELECT... to INSERT .... SELECT (Bug #1983)
Safety fix for service 'mysql start' (Bug #1815)
client/mysql.cc:
Extend max_allowed_packet to 2G (Bug #2105)
client/mysqldump.c:
Extend max_allowed_packet to 2G (Bug #2105)
Don't dump data for MRG_ISAM or MRG_MYISAM tables. (Bug #1846)
configure.in:
Test for file linux/config.h
include/my_global.h:
Portability fix (Bug #1924)
mysql-test/r/insert.result:
Update test results
mysql-test/r/loaddata.result:
Update test results
mysql-test/r/lowercase_table.result:
Update test results
mysql-test/t/insert.test:
Test INSERT ... DELAYED ... SELECT
mysql-test/t/loaddata.test:
Added test of LOAD DATA INFILE ... IGNORE # LINES for fixed size tables
mysql-test/t/lowercase_table.test:
Test mixed lower/uppercase database names
sql/item.cc:
Made function not inline (to make it easier to modify it without recompilation of all files)
sql/item.h:
Moved function to item.cc
sql/mysqld.cc:
Merge pidfile create code
Ensure that 'lower_case_table_names' is always set on case insensitive file systems. (Bug #1812)
sql/nt_servc.cc:
One can now configure MySQL as windows service as a normal user. (Bug #1802)
sql/sql_base.cc:
Database names is now compared with lower case in ON clause when lower_case_table_names is set. (Bug #1736)
sql/sql_class.h:
Fixed type
sql/sql_load.cc:
IGNORE ... LINES option didn't work when used with fixed length rows. (Bug #1704)
sql/sql_parse.cc:
Change INSERT DELAYED ... SELECT... to INSERT .... SELECT
strings/ctype-tis620.c:
Ensure that memory is freed properly (Partly becasue of bug #1770)
Bar should check the proposed patch in #1770 if we can use it
support-files/mysql.server.sh:
Safety fix (Bug #1815)
Simplification of the previous fix for multi-update/delete.
sql/sql_class.h:
Simplification of the previous fix for multi-update/delete.
sql/sql_update.cc:
Simplification of the previous fix for multi-update/delete.
sql/sql_delete.cc:
Simplification of the previous fix for multi-update/delete.
Fixed a bug causing a crash for multi-update/multi-delete
with impossible where (bug #1860).
sql/sql_class.h:
Fixed a bug causing a crash for multi-update/multi-delete
with impossible where (bug #1860).
sql/sql_delete.cc:
Fixed a bug causing a crash for multi-update/multi-delete
with impossible where (bug #1860).
sql/sql_update.cc:
Fixed a bug causing a crash for multi-update/multi-delete
with impossible where (bug #1860).
mysql-test/t/multi_update.test:
Fixed a bug causing a crash for multi-update/multi-delete
with impossible where (bug #1860).
mysql-test/r/multi_update.result:
Fixed a bug causing a crash for multi-update/multi-delete
with impossible where (bug #1860).
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
we change THD::system_thread from a 'bool' to a bitmap to be able to
distinguish between delayed-insert threads and slave threads.
- Fix for BUG#1701 "Update from multiple tables" (one line in sql_parse.cc,
plus a new test rpl_multi_update.test). That's just adding an initialization.
sql/repl_failsafe.cc:
comment to warn about this unused code
sql/slave.cc:
Now thd->system_thread is a bitmap, not a bool.
sql/sql_class.h:
'bool' for THD::system_thread is not accurate enough; sometimes we need
to distinguish between delayed-insert threads and slave threads;
so changing THD::system_thread to a bitmap (uint).
sql/sql_insert.cc:
thd.system_thread is now a bitmap
sql/sql_parse.cc:
We need to initialize thd->lex.select_lex.options in mysql_init_query();
it's already initialized in dispatch_command() but replication calls
mysql_parse() directly, thus bypassing dispatch_command().
Not initing it here leads to a query influencing the next query,
in the slave SQL thread.
The initialization in dispatch_command() must be kept as this
command uses the variable in tests, even when the command was not a
query (i.e. when mysql_init_query() was not called).
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
configure.in:
Auto merged
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/install_test_db.sh:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/protocol.h:
Auto merged
sql/protocol_cursor.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_error.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Fixed compiler warnings (a lot of hidden variables detected by the Forte compiler)
Added a lot of 'version_xxx' strings to 'show variables'
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
Fixed problem with printing sub selects to debug log
Docs/mysqld_error.txt:
Updated error messages
Makefile.am:
Added missing SSL library (Should be in source distribution)
configure.in:
Added missing SSL library
include/sql_common.h:
Move duplicated prototypes
innobase/os/os0file.c:
Added comment for line that could be removed
innobase/srv/srv0srv.c:
Added comment for line that could be removed
innobase/srv/srv0start.c:
Added comment for line that could be removed
innobase/trx/trx0sys.c:
Added cast to remove compiler warning
isam/isamchk.c:
Fixed compiler warning
libmysql/conf_to_src.c:
Include files in proper order
myisam/mi_check.c:
Removed else part that caused compiler warning
myisam/mi_delete.c:
Added cast
myisam/mi_page.c:
Added cast
myisam/mi_preload.c:
Added cast
myisam/mi_write.c:
Added cast
myisam/myisampack.c:
changed 'byte' to 'current_byte' to avoid compiler warnings
mysql-test/mysql-test-run.sh:
Removed start-from as test '<' is not portable and this can easily be done from command line
mysys/hash.c:
Added cast
mysys/mf_wcomp.c:
Removed not reached line
mysys/my_append.c:
Fixed include file order to get this more portable
mysys/my_copy.c:
Fixed include file order to get this more portable
mysys/my_redel.c:
Fixed include file order to get this more portable
sql-common/client.c:
More DBUG_PRINT
sql-common/pack.c:
Added casts becasue Fortre compiler apparently compares (ulonglong) < (longlong) as signed
sql/ha_heap.cc:
Changed variable names to not cause hidden variables
sql/ha_innodb.cc:
Changed variable names to not cause hidden variables
sql/item.cc:
Changed variable names to not cause hidden variables
sql/item.h:
Changed variable names to not cause hidden variables
sql/item_cmpfunc.h:
Changed variable names to not cause hidden variables
sql/item_func.cc:
Changed variable names to not cause hidden variables
sql/item_subselect.cc:
Changed variable names to not cause hidden variables
sql/item_subselect.h:
Changed variable names to not cause hidden variables
sql/item_sum.cc:
Changed variable names to not cause hidden variables
sql/item_timefunc.cc:
Changed variable names to not cause hidden variables
sql/log.cc:
Changed variable names to not cause hidden variables
sql/protocol.cc:
Changed variable names to not cause hidden variables
sql/protocol.h:
Changed variable names to not cause hidden variables
Remove function not declared in protocol.cc
sql/protocol_cursor.cc:
Changed variable names to not cause hidden variables
sql/set_var.cc:
Added a lot of 'version_xxx' strings
Changed 'bdb_version' to 'version_bdb'
sql/sql_class.cc:
Changed variable names to not cause hidden variables
Add TMP_TABLE_PARAM::init() to allow one to initialize structure several times
sql/sql_class.h:
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
sql/sql_derived.cc:
Avoid copying TMP_TABLE_PARAM (Use class version instead)
sql/sql_error.cc:
More DBUG
sql/sql_help.cc:
Fixed compiler warning
sql/sql_lex.cc:
Changed variable names to not cause hidden variables
sql/sql_list.h:
Changed variable names to not cause hidden variables
sql/sql_parse.cc:
Changed variable names to not cause hidden variables
sql/sql_select.cc:
Changed variable names to not cause hidden variables
Ensure that you don't send NULL to printf() for %s
Fixed problem with printing sub selects to debug log
sql/sql_select.h:
Changed variable names to not cause hidden variables
sql/sql_union.cc:
Changed variable names to not cause hidden variables
Don't use local copy of TMP_TABLE_PARAM (Caused core dump on Solaris)
sql/sql_update.cc:
Indentation cleanup
sql/sql_yacc.yy:
Remove warning
strings/conf_to_src.c:
Fixed include file order
"You can always mysql_real_query a query with placeholders
after mysql_prepare()"
sql/sql_class.cc:
prepare_command removed
sql/sql_class.h:
prepare_command removed
sql/sql_prepare.cc:
prepare_command removed
sql/sql_yacc.yy:
prepare_command removed
tests/client_test.c:
added test for bug #1946: "You can always
mysql_real_query a query with placeholders after mysql_prepare()"
- unused variable THD::con_root removed
- we don't need to bzero(&warn_root) just before init_alloc_root(&warn_root)
- we don't need to bzero(&transaction.mem_root) because we
bzero(&transaction) later in THD::THD
- we don't need to free thd->mem_root thd->transaction.mem_root
in handle_one_connection because they are freed in THD::~THD
which is called in end_thread later
sql/sql_class.cc:
Cleanups:
- unused variable THD::con_root removed
- we don't need to bzero(&warn_root) just before init_alloc_root(&warn_root)
- we don't need to bzero(&transaction.mem_root) because we
bzero(&transaction) later in THD::THD
sql/sql_class.h:
Unused variable THD::con_root removed
sql/sql_parse.cc:
we don't need to free thd->mem_root and thd->transaction.mem_root
because they are freed in THD::~THD
mysql-test/r/union.result:
new results with max union field length detecting
type conversion tests
mysql-test/t/union.test:
type conversion tests
sql/field.h:
field converion support
sql/item.cc:
fixed printing field of internal temporary table of SELECT (reference from HAVING clause)
layout fix
new item for storing field type
sql/item.h:
new item for storing field type
sql/item_subselect.cc:
new subquery item length/dec detecting
sql/mysql_priv.h:
we do not need pre-inited tables and fields
sql/sql_base.cc:
we do not need double fix_fielding
sql/sql_class.h:
we do not need double fix_fielding
sql/sql_derived.cc:
preparing moved before temporary table creation
sql/sql_lex.h:
we do not need pre-inited tables and fields
new lists to store fields types and fields of temporary table
sql/sql_parse.cc:
we do not need pre-inited tables and fields
sql/sql_prepare.cc:
we do not need pre-inited tables and fields
sql/sql_select.cc:
we do not need pre-inited tables and fields
support mysql_select call from derived tables after it preparing (in derived table routing)
support of crreating temporary table fields from Item_type_holder
sql/sql_select.h:
we do not need pre-inited tables and fields
sql/sql_union.cc:
we do not need pre-inited tables and fields
check of columns number in union moved to prepare()
prepering of SELECTS moved before temporary table creation, fixed union columns type/length detecting
sql/sql_update.cc:
we do not need pre-inited tables and fields
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/triggers/post-commit:
Auto merged
client/mysql.cc:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/r/rpl_temporary.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/Makefile.am:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.h:
Auto merged
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-apply-patch:
Delete: netware/BUILD/apply-patch
BitKeeper/deleted/.del-save-patch:
Delete: netware/BUILD/save-patch
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
Auto merged
BitKeeper/triggers/post-commit:
Auto merged
VC++Files/mysys/mysys.dsp:
Auto merged
client/mysqlbinlog.cc:
Auto merged
extra/resolveip.c:
Auto merged
include/config-win.h:
Auto merged
include/my_global.h:
Auto merged
include/my_sys.h:
Auto merged
include/mysql_com.h:
Auto merged
innobase/include/os0thread.h:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/thr/thr0loc.c:
Auto merged
libmysql/manager.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
myisam/mi_extra.c:
Auto merged
myisam/mi_locking.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/rpl_reset_slave.test:
Auto merged
mysql-test/t/rpl_trunc_binlog.test:
Auto merged
mysys/Makefile.am:
Auto merged
mysys/errors.c:
Auto merged
mysys/my_symlink.c:
Auto merged
mysys/my_thr_init.c:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/item_func.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/unireg.h:
Auto merged
client/mysqldump.c:
merge with 4.0 (quoted names)
configure.in:
use local file
include/my_pthread.h:
Use local file
innobase/include/srv0srv.h:
Use local file
innobase/row/row0sel.c:
Use local file
innobase/srv/srv0srv.c:
Use local file
libmysql/libmysql.c:
Use local file
myisam/myisamchk.c:
merge fixes
mysql-test/r/func_crypt.result:
update results
mysql-test/r/order_by.result:
update results
mysql-test/r/query_cache.result:
update results
mysql-test/r/range.result:
update results
mysql-test/r/rpl_reset_slave.result:
update results
mysql-test/r/rpl_trunc_binlog.result:
update results
mysql-test/t/func_crypt.test:
Added disable_warnings/enable warnings
mysql-test/t/query_cache.test:
merge tests
mysql-test/t/range.test:
merge tests
mysys/charset.c:
use local file (will merge patch separately)
sql/ha_innodb.cc:
use local file
sql/log_event.cc:
new slave_proxy_id handling
sql/slave.h:
merge
sql/sql_base.cc:
merge
sql/sql_parse.cc:
Fixes for counting user connect resourses
Added function comments for involved functions
sql/sql_select.cc:
Fix for not doing sort with LIMIT when OPTION_FOUND_ROWS is used
sql/unireg.cc:
merge fixes
support-files/mysql.server.sh:
merge fixes
Cleaned up (and disabled part of) date/time/datetime format patch. One can't anymore change default read/write date/time/formats.
This is becasue the non standard datetime formats can't be compared as strings and MySQL does still a lot of datetime comparisons as strings
Changed flag argument to str_to_TIME() and get_date() from bool to uint
Removed THD from str_to_xxxx functions and Item class.
Fixed core dump when doing --print-defaults
Move some common string functions to strfunc.cc
Dates as strings are now of type my_charset_bin instead of default_charset()
Introduce IDENT_QUOTED to not have to create an extra copy of simple identifiers (all chars < 128)
Removed xxx_FORMAT_TYPE enums and replaced them with the old TIMESTAMP_xxx enums
Renamed some TIMESTAMP_xxx enums to more appropriate names
Use defines instead of integers for date/time/datetime string lengths
Added to build system and use the new my_strtoll10() function.
BUILD/compile-pentium-valgrind-max:
Remove double printing of warning
VC++Files/libmysqld/libmysqld.dsp:
Added strfunc.cc
VC++Files/sql/mysqld.dsp:
Added strfunc.cc
VC++Files/sql/mysqldmax.dsp:
Added strfunc.cc
VC++Files/strings/strings.dsp:
added my_strtoll10.c
include/m_ctype.h:
Removed MY_LEX_FOUND_IDENT (not used)
include/m_string.h:
Added my_strtoll10()
include/mysqld_error.h:
simplified 'wrong xxx name' error messages
include/sql_state.h:
simplified 'wrong xxx name' error messages
libmysqld/Makefile.am:
Added strfunc.cc
mysql-test/mysql-test-run.sh:
Simplified some options
changed $@ to "$@" in an attempt to handle options with space (Didn't succeed; Problem will disappear when mysql-test-run is rewritten in C)
mysql-test/r/ctype_latin1_de.result:
Added new tests
mysql-test/r/ctype_recoding.result:
Extended tests
mysql-test/r/date_formats.result:
Cleaned up tests
Disabled some tests that can't yet be run
mysql-test/r/func_compress.result:
New error message
mysql-test/r/rpl_temporary.result:
Added new test
mysql-test/t/create.test:
Changed error numbers
mysql-test/t/ctype_latin1_de.test:
New tests
mysql-test/t/ctype_recoding.test:
Extended tests
mysql-test/t/date_formats-master.opt:
Removed datetime_format as we can't handle options with space in mysql-test-run
mysql-test/t/date_formats.test:
Cleaned up tests
Disabled some tests that can't yet be run
mysql-test/t/rpl_temporary.test:
Added testing of open temporary table on slave shutdown
mysql-test/t/symlink.test:
Fixed error numbers
mysys/default.c:
Fixed core dump when doing --print-defaults
sql/Makefile.am:
Added strfunc.cc
sql/derror.cc:
Fixed compiler warning
sql/field.cc:
Changed argument to str_to_TIME() from bool to uint
Removed THD argument from str_to_TIME()
Moved find_enum() and find_set() to strfunc.cc
sql/field.h:
Changed type of last argument to get_date() to be able to handle more options
sql/init.cc:
Remove not used variable dayord
sql/item.cc:
Changed type of last argument to get_date() to be able to handle more options
Removed THD* element from item.
Don't use make_date_time() to generate date/time/datetimes
sql/item.h:
Changed type of last argument to get_date() to be able to handle more options
Removed THD* from Item
sql/item_create.cc:
Indentation cleanup
sql/item_func.cc:
Use new find_type()
sql/item_func.h:
Changed type of last argument to get_date() to be able to handle more options
sql/item_strfunc.h:
space change
sql/item_timefunc.cc:
Changed month_names[] to be easier to use
Moved check_names[] to strfunc.cc
Added back old make_datetime() function
Optimized extract_date_time()
Use my_strtoll10() insetad of my_strntoll()
Optimized make_date_time()
Replaced short variable names with long ones.
Use new functions make_time(), make_date() and make_datetime()
Dates as strings are now of type my_charset_bin instead of default_charset()
Changed Item_func_str_to_date() to by default return a date.
sql/item_timefunc.h:
Changed charset for date string from default_charset() to my_charset_bin
Changed type of last argument to get_date() to be able to handle more options
Use defines instead of integers for date/time/datetime string lengths
sql/mysql_priv.h:
Fixed/added new prototypes
sql/mysqld.cc:
Removed opt_datetime_format_names
Cleaned up handling of date_time format handling. (Fixed core dump when mysqld had error on startup)
Removed some unnecessary double init of collation variables
sql/protocol.cc:
Changed back protocol functions to always return dates in ISO format
sql/set_var.cc:
Added variables time_format, date_format and datetime_format
This had to be recoded becasue checking was done in 'update' method and not in 'check' method.
sql/set_var.h:
Removed class sys_var_datetime_format() as this defined a variable (which doesn't work) instead of updating a variable
sql/share/czech/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/danish/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/dutch/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/english/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/estonian/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/french/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/german/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/greek/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/hungarian/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/italian/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/japanese/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/korean/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/norwegian-ny/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/norwegian/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/polish/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/portuguese/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/romanian/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/russian/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/serbian/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/slovak/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/spanish/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/swedish/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/share/ukrainian/errmsg.txt:
simplified 'wrong xxx name' error messages
sql/sql_base.cc:
Use new find_type()
sql/sql_class.cc:
Allocate/free date_time format variables
sql/sql_class.h:
Define datetime_format variables
sql/sql_db.cc:
Use new ER_WRONG_NAME error
sql/sql_lex.cc:
Change lex to generate IDENT_QUOTED for quoted identifiers or identifers that are using characters > 128.
This enabled us to not have to copy and convert the identifier to utf8 for simpe identifiers
sql/sql_parse.cc:
Use new ER_WRONG_NAME error
Use new find_type() function
sql/sql_prepare.cc:
Use new defines
sql/sql_table.cc:
Use new ER_WRONG_NAME error
sql/sql_yacc.yy:
Don't copy and convert simple identifiers to utf8.
Replace __FORMAT_TYPE defines with TIMESTAMP... defines
sql/structs.h:
Renamed DATETIME_FORMAT to DATE_TIME format to indicate that it's for date/time/datetime formats
Renamed WRONT_TIMESTAMP_FULL to TIMESTAMP_DATETIME_ERROR and TIMESTAMP_FULL to TIMESTAMP_DATETIME
Added KNOWN_DATE_TIME_FORMAT struct for Item_func_get_format
sql/time.cc:
Prepare str_to_TIME and str_to_time() for general date/time handling
Removed THD from str_to... functions
Renamed date/time/datetime functions to use 'date_time' instead of 'datetime'
Added functions to make and copy DATE_TIME_FORMAT's
Added trivial functions 'make_time()', 'make_date()' and 'make_datetime()'
strings/Makefile.am:
Added my_strtoll10()
strings/ctype-bin.c:
Cleared upper part of binary state map to be able to easily identify simple identifiers
strings/my_vsnprintf.c:
F
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-compile-netware-src~1:
Delete: netware/BUILD/compile-netware-src
BitKeeper/deleted/.del-knetware.imp~1:
Delete: netware/BUILD/knetware.imp
client/mysql.cc:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/r/distinct.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
scripts/mysql_create_system_tables.sh:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/lex.h:
Auto merged
sql/protocol.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
BitKeeper/deleted/.del-MYSQL.ICO~d93519b5f0d6ee1:
Auto merged
client/client_priv.h:
Auto merged
extra/resolveip.c:
Auto merged
include/mysql.h:
Auto merged
include/thr_alarm.h:
Auto merged
myisam/myisamchk.c:
Auto merged
scripts/mysql_config.sh:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_test.cc:
Auto merged
into mashka.mysql.fi:/home/my/mysql-4.1
sql/item_strfunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
Fixed chsize() problem on windows
Extend default timeout on windows clients to 1 year (to avoid timeout problems)
include/mysql.h:
Added client timeouts (for TCP/IP)
libmysql/libmysql.c:
Added client timeouts (for TCP/IP)
mysql-test/r/create.result:
More tests for CREATE TABLE IF NOT EXISTS ... SELECT
mysql-test/t/create.test:
More tests for CREATE TABLE IF NOT EXISTS ... SELECT
mysys/my_chsize.c:
Fix for windows
sql/handler.h:
Remove not used field 'if_not_exists'
Ordered fields to be more optimized for new CPU's
Added field 'table_existed'
sql/slave.cc:
Cleanup temporary tables when slave ends
sql/sql_class.h:
Remove not used 'do_not_drop' field
sql/sql_insert.cc:
Better fix for CREATE TABLE IF NOT EXISTS ... SELECT
sql/sql_table.cc:
Better fix for CREATE TABLE IF NOT EXISTS ... SELECT
into mashka.mysql.fi:/home/my/mysql-4.0
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
Also copy and restore order_list and group_list for selects in SPs.
mysql-test/r/sp.result:
Test for BUG#1495, and an additional cursor test.
mysql-test/t/sp.test:
Test for BUG#1495, and an additional cursor test.
sql/sp_head.cc:
Fix BUG#1495: renamed eval_func_item() into sp_eval_func_item() and made it
non-static.
Also need to copy and restore order_list and group_list pointers before and
after execution of a substatement. (Which means these must always be properly
initialized for all queries.)
sql/sp_rcontext.cc:
Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO).
sql/sp_rcontext.h:
Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO).
sql/sql_class.cc:
Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO).
sql/sql_class.h:
Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO); need type for this.
sql/sql_parse.cc:
order_list and group_list must be initialized in select_lex for all queries,
to make SP sub statement execution work.
sql/sql_yacc.yy:
Type needed for setting local variables.
sql/table.h:
Need a copy of the Item* pointer when executing sub-statements in SPs. (Since
it's modified and must be restored afterwards.)
configure.in:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/sql_udf.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.cc:
Auto merged
scripts/Makefile.am:
merge
sql/log_event.cc:
merge
sql/mysqld.cc:
merge
sql/opt_range.cc:
merge
sql/set_var.cc:
merge
sql/sql_class.h:
merge
sql/sql_delete.cc:
merge
sql/sql_parse.cc:
merge
mysql-test/r/ctype_mb.result:
update results after adding more warnings
mysql-test/r/null.result:
update results after adding more warnings
mysql-test/r/select_found.result:
update results after adding more warnings
mysql-test/r/warnings.result:
update results after adding more warnings
mysql-test/t/ctype_mb.test:
Add missing drop table
mysql-test/t/myisam.test:
Disable some warnings
mysql-test/t/select_found.test:
update results after adding more warnings
sql/field_conv.cc:
Add warnings for single line inserts
sql/item_func.cc:
Remove compile warnings
sql/sql_class.cc:
Add warnings for single line inserts
sql/sql_class.h:
Add warnings for single line inserts
sql/sql_insert.cc:
Add warnings for single line inserts
sql/sql_load.cc:
Add warnings for single line inserts
sql/sql_select.cc:
Add warnings for single line inserts
sql/sql_table.cc:
Add warnings for single line inserts
sql/sql_update.cc:
Add warnings for single line inserts
query_alloc_block_size, query_prealloc_size, range_alloc_block_size,transaction_alloc_block_size and transaction_prealloc_size
Add more checks for "out of memory" detection in range optimization
configure.in:
Added detection of mallinfo
mysql-test/r/variables.result:
Test of new variables
mysql-test/t/variables.test:
Test of new variables
sql/ha_berkeley.cc:
Use init_sql_alloc instead of init_alloc_root for better OOM detection
sql/log_event.cc:
Add new user variables for tuning memory usage
sql/mysql_priv.h:
Add new user variables for tuning memory usage
sql/mysqld.cc:
Add new user variables for tuning memory usage
sql/opt_ft.cc:
Add new user variables for tuning memory usage
sql/opt_ft.h:
Add new user variables for tuning memory usage
sql/opt_range.cc:
Add new user variables for tuning memory usage
Add more checks for out of memory conditions
sql/opt_range.h:
Add new user variables for tuning memory usage
sql/set_var.cc:
Add new user variables for tuning memory usage
sql/sql_acl.cc:
Add new user variables for tuning memory usage
sql/sql_class.h:
Add new user variables for tuning memory usage
sql/sql_delete.cc:
Add new user variables for tuning memory usage
sql/sql_parse.cc:
Add new user variables for tuning memory usage
sql/sql_select.cc:
Add new user variables for tuning memory usage
sql/sql_test.cc:
Add information about memory useage if system supports mallinfo()
sql/sql_udf.cc:
Add new user variables for tuning memory usage
sql/sql_update.cc:
Add new user variables for tuning memory usage
sql/table.cc:
Add new user variables for tuning memory usage
More tests cases
After merge fixes
BitKeeper/deleted/.del-ansi-master.opt~4d337eb61642a838:
Delete: mysql-test/t/ansi-master.opt
mysql-test/r/ansi.result:
Cleaned up test to be able to remove ansi-master.opt
mysql-test/r/create.result:
Updated results
mysql-test/r/insert_select.result:
Updated results
mysql-test/r/rpl000009.result:
Updated results
mysql-test/t/ansi.test:
Cleaned up test to be able to remove ansi-master.opt
mysql-test/t/create.test:
More tests
mysql-test/t/insert_select.test:
More tests
mysql-test/t/mysqlbinlog.test:
Fixed test after merge
sql/mysql_priv.h:
Added character-sets-dir to 'show variables'
sql/set_var.cc:
Added character-sets-dir to 'show variables'
sql/sql_class.cc:
Fixed that send_error() is called properly when a SELECT fails
sql/sql_class.h:
Fixed that send_error() is called properly when a SELECT fails
sql/sql_insert.cc:
Fixed bug in error handling of CREATE ... SELECT
sql/sql_select.cc:
Fixed bug in error handling of CREATE ... SELECT
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-mysqldump.result:
Delete: mysql-test/r/mysqldump.result
BitKeeper/deleted/.del-mysqldump.test:
Delete: mysql-test/t/mysqldump.test
BitKeeper/deleted/.del-compile-netware-max:
Delete: netware/BUILD/compile-netware-max
BitKeeper/deleted/.del-compile-netware-max-debug:
Delete: netware/BUILD/compile-netware-max-debug
BitKeeper/deleted/.del-compile-netware-src:
Delete: netware/BUILD/compile-netware-src
BitKeeper/deleted/.del-knetware.imp:
Delete: netware/BUILD/knetware.imp
BUILD/compile-pentium-valgrind-max:
Auto merged
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
Auto merged
BitKeeper/deleted/.del-openssl.imp:
Delete: netware/BUILD/openssl.imp
acinclude.m4:
Auto merged
SSL/cacert.pem:
Auto merged
SSL/client-cert.pem:
Auto merged
SSL/server-cert.pem:
Auto merged
client/mysqlbinlog.cc:
Auto merged
extra/resolveip.c:
Auto merged
heap/hp_test2.c:
Auto merged
include/my_global.h:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
libmysql/libmysql.def:
Auto merged
libmysqld/examples/Makefile.am:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_test2.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/r/fulltext_multi.result:
Auto merged
mysql-test/r/fulltext_order_by.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/std_data/rpl_loaddata2.dat:
Auto merged
mysql-test/t/rpl_loaddata.test:
Auto merged
mysql-test/t/select.test:
Auto merged
mysql-test/t/user_var.test:
Auto merged
mysys/mf_dirname.c:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
sql/des_key_file.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/slave.h:
Auto merged
sql-bench/crash-me.sh:
Auto merged
sql-bench/server-cfg.sh:
Auto merged
sql-bench/test-insert.sh:
Auto merged
sql-bench/test-transactions.sh:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
support-files/mysql.server.sh:
Auto merged
client/mysqltest.c:
Merge with 4.0.16
Changed version number to '2.0' to avoid confusion with version numbering in 3.23
mysql-test/r/distinct.result:
Updated results for merge
mysql-test/r/insert.result:
Updated results for merge
mysql-test/r/insert_select.result:
Updated results for merge
mysql-test/r/join_outer.result:
Updated results for merge
mysql-test/r/mix_innodb_myisam_binlog.result:
Updated results for merge
mysql-test/r/order_by.result:
Updated results for merge
mysql-test/r/rpl000009.result:
Updated results for merge
mysql-test/r/rpl_loaddata.result:
Updated results for merge
mysql-test/r/rpl_log.result:
Updated results for merge
mysql-test/r/select_safe.result:
Updated results for merge
scripts/mysql_install_db.sh:
Change -eq to =
BitKeeper/deleted/.del-ins000001.test~2428ee5c9b1bc483:
dummy