all calls of fix_fields() are inspected
(copy of cset which I lost in accidatly tree delete)
mysql-test/r/subselect.result:
test of BUG#1645
mysql-test/t/subselect.test:
test of BUG#1645
sql/item_subselect.cc:
removed passing left_expr through parameters, because it present in class fields
fixed fix_fields() call
sql/item_subselect.h:
removed passing left_expr through parameters, because it present in class fields
sql/set_var.cc:
comments added
sql/sql_select.cc:
fixed BUG#1645 (thd can be used in fix_fields of subqueries)
Added my_sync() to mysys which will do fsync/fdatasync/_commit() on a file.
VC++Files/mysys/mysys.dsp:
Added my_sync.c
configure.in:
Added testing of fsync and fdatasync
include/my_sys.h:
Added my_sync()
include/mysys_err.h:
Added my_sync()
isam/extra.c:
Added my_sync()
myisam/mi_extra.c:
Added my_sync()
myisam/mi_locking.c:
Added my_sync()
mysql-test/mysql-test-run.sh:
Added option --valgrind-all
mysys/Makefile.am:
Added my_sync.c
mysys/errors.c:
Added my_sync()
mysys/my_symlink.c:
Removed compiler warning
mysys/thr_alarm.c:
Fix for link error on windows
sql/unireg.cc:
Call my_sync() after all data is written to .frm file
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
dded init of variable to fix core dump on startup errors
mysql-test/Makefile.am:
Added transformation of socket address for mysql-test-run
mysql-test/mysql-test-run.sh:
Added option --socket
sql/derror.cc:
Removed compiler warning
sql/mysql_priv.h:
Moved assert up to be able to use asserts in other header files
sql/mysqld.cc:
Fixed comment
sql/sql_bitmap.h:
Added copyright notice
Removed not needed header files
sql/sql_class.cc:
Added init of variable to fix core dump on startup errors
sql/sql_test.cc:
Fixed compiler errors (from key_map code)
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
tests with innodb moved to separate file
mysql-test/r/subselect.result:
tests with innodb moved to separate file
mysql-test/t/subselect.test:
tests with innodb moved to separate file
test for BUG#1708
sql/sql_select.cc:
it is better to check simople variable (full) first
fixed locking problem with innodb & subqueries (BUG#1708)
- when we don't have in_addr_t, use uint32.
- a forgotten initialization of slave_proxy_id in sql/log_event.cc (was not really "forgot", was
"we needn't init it there", but there was one case where we needed...).
- made slave_proxy_id always meaningful in THD and Log_event, so we can
rely more on it (no need to test if it's meaningful). THD::slave_proxy_id
is equal to THD::thread_id except for the slave SQL thread.
- clean up the slave's temporary table (i.e. free their memory) when slave
server shuts down.
extra/resolveip.c:
removed #define as it is simpler to put it in my_net.h
(because we need the #define elsewhere)
include/my_net.h:
When in_addr_t is not defined, use uint32.
libmysql/libmysql.c:
using in_addr_t is more generic.
libmysql/manager.c:
using in_addr_t is more generic.
mysql-test/t/rpl_chain_temp_table.test:
comments
sql/log_event.cc:
* Had forgot to initialize slave_proxy_id in the event constructor (char* buf...).
Initializing is in fact only needed for Create_file_log_event, because
it uses slave_proxy_id even if it does not write an event to the binlog
(it uses slave_proxy_id to write it to SQL-LOAD.info).
* When we write events we now always write slave_proxy_id, which is now always
meaningful (as thd->slave_proxy_id is now always meaningful, see change in
sql_class.cc).
sql/mini_client.cc:
in_addr_t is more generic.
sql/slave.cc:
A RELAY_LOG_INFO method to free the slave's temporary tables from memory
at slave's server shutdown.
It is called by end_slave(), which is called by close_connections(),
which is called when the server terminates
(close_connections() is just before clean_up(); putting the call in
clean_up() was buggy, as active_mi is already deleted by close_connections().
sql/slave.h:
new method
sql/sql_class.cc:
By default we set THD::slave_proxy_id to THD::thread_id,
so THD::slave_proxy_id is always meaningful (not 0).
It's always the same as the thread id except for the slave
SQL thread.
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/t/fulltext.test:
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_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
mysql-test/r/mysqldump.result:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
mysql-test/r/mysqlbinlog.result:
fixes for mysql tests.
mysql-test/r/mysqldump.result:
fixes for mysql tests.
mysql-test/r/negation_elimination.result:
fixes for mysql tests.
mysql-test/t/mysqlbinlog.test:
fixes for mysql tests.
mysql-test/t/mysqldump.test:
fixes for mysql tests.
mysql-test/r/derived.result:
fixed results after merge
mysql-test/r/func_in.result:
small fix to amke all names uniform
mysql-test/r/func_math.result:
forgot to change
sql/item.cc:
fix
sql/item_create.cc:
small fix to amke all names uniform
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
myisam/mi_check.c:
Auto merged
myisam/mi_delete.c:
Auto merged
myisam/mi_write.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/range.result:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_myisam.h:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.wl1056
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.h:
Auto merged
sql/sql_select.cc:
Auto merged
include/my_base.h:
Auto merged
include/my_global.h:
Auto merged
include/my_sys.h:
Auto merged
isam/test2.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_test2.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/r/func_group.result:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/mysqld.cc:
SCCS merged
sql/set_var.cc:
SCCS merged
mysql-test-run --manager --valgrind
(without this fix, the manager fails to start mysqld and the tests hang).
mysql-test/mysql-test-run.sh:
When running with --manager: the MySQL manager wants the complete path of the
executable (it uses execv(), not execvp(), so does not search in the $PATH,
so telling him to start 'valgrind' is not enough, it wants '/usr/bin/valgrind'
or so).
So this is a fix to be able to
mysql-test-run --manager --valgrind
Plus a warning (previously, if valgrind was not installed, tests silently
hanged when run with --valgrind).
"If 2 master threads with same-name temp table, slave makes bad binlog"
and (two birds with one stone) for
BUG#1240 "slave of slave breaks when STOP SLAVE was issud on parent slave
and temp tables".
Here is the design change:
in a slave running with --log-slave-updates, events are now logged with the
thread id they had on the master. So no more id conflicts between master threads,
but introduces id conflicts between one master thread and one normal
client thread connected to the slave. This is solved by storing the server id
in the temp table's name.
New test which requires mysql-test-run to be run with --manager,
otherwise it will be skipped.
Undoing a Monty's change (hum, a chill runs down my spine ;) which was
"Cleanup temporary tables when slave ends" in ChangeSet 1.1572.1.1.
mysql-test/mysql-test-run.sh:
One new test which needs more than one slave so must be hardcoded in mysql-test-run.sh.
sql/log_event.cc:
The event needs to carry a slave_proxy_id (which is set at event's creation
and used at event's logging).
This is used for events created by ::exec_event() in the slave SQL thread:
now we want to log these events with the thread id they had on the master.
This is so that several same-name temp tables simultaneously created on
the master end up with not the same thread id in the slave's binlog.
sql/log_event.h:
Query and Load need to carry a slave_proxy_id, like they carried a thread_id
(to replicate temp tables well).
sql/slave.cc:
Do not free temp tables in the slave SQL thread. Or they will be lost when
one does STOP SLAVE / START SLAVE.
We even save them in rli->save_temporary_tables and set thd->temporary_tables=0
to prevent them to be freed.
sql/sql_base.cc:
Put the server id in the table cache key name for temp tables
(we already put the slave_proxy_id, but we also need the server id
in case normal clients (not slave threads) are using temp tables
on the slave).
sql/unireg.h:
4 more bytes, to store the server id.
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
code cleanup
mysql-test/r/subselect.result:
test for BUG#1668
mysql-test/t/subselect.test:
test for BUG#1668
sql/item_subselect.cc:
removed unused class field
fixed min_max subquery used_tables()/const()
fixed ALL/ANY optimisation for unions
sql/item_subselect.h:
removed unused class field
fixed min_max subquery used_tables()/const()
sql/sql_union.cc:
fixed result object assignment
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
(BUG#1484)
mysql-test/r/variables.result:
test of swaping variables
mysql-test/t/variables.test:
test of swaping variables
sql/item_func.cc:
new method of user variables to pre-fetch value
sql/item_func.h:
new method of user variables to pre-fetch value
sql/set_var.cc:
check() methods fetch & store value
sql/set_var.h:
check() methods fetch & store value
(BUG#1638)
mysql-test/r/subselect.result:
test for BUG#1638
mysql-test/t/subselect.test:
test for BUG#1638
sql/item_subselect.cc:
always check cardinality first
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/subselect.result:
SCCS merged
mysql-test/t/subselect.test:
SCCS merged
BitKeeper/etc/logging_ok:
auto-union
sql/mini_client.cc:
Auto merged
client/mysqlbinlog.cc:
use local file
mysql-test/t/myisam.test:
Remove uncessesary drop table
sql/sql_parse.cc:
Use local
sql/sql_repl.cc:
use local
mysql-test/t/subselect.test:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/subselect.result:
SCCS merged
BitKeeper/etc/ignore:
auto-union
include/m_ctype.h:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
sql/field.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_select.cc:
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
sql/table.cc:
Auto merged
strings/ctype-simple.c:
Auto merged