- 22 Aug, 2003 6 commits
-
-
unknown authored
mysql-test/r/func_test.result: Auto merged mysql-test/r/grant.result: Auto merged mysql-test/t/func_test.test: Auto merged mysql-test/t/grant.test: Auto merged sql/ha_innodb.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_acl.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
Fix for a bug #878 sql/sql_acl.cc: Fix for a bug #878 mysql-test/t/grant.test: Fix for a bug #878 mysql-test/r/grant.result: Fix for a bug #878
-
unknown authored
into mysql.com:/home/mysql_src/mysql-4.0
-
unknown authored
fix for BUG#1113 "INSERT into non-trans table SELECT ; ROLLBACK" does not send warning" and fix for BUG#873 "In transaction, INSERT to non-trans table is written too early to binlog". Now we don't always write the non-trans update immediately to the binlog; if there is something in the binlog cache we write it to the binlog cache (because the non-trans update could depend on a trans table which was modified earlier in the transaction); then in case of ROLLBACK, we write the binlog cache to the binlog, wrapped with BEGIN/ROLLBACK. This guarantees that the slave does the same updates. For ROLLBACK TO SAVEPOINT: when we execute a SAVEPOINT command we write it to the binlog cache. At ROLLBACK TO SAVEPOINT, if some non-trans table was updated, we write ROLLBACK TO SAVEPOINT to the binlog cache; when the transaction terminates (COMMIT/ROLLBACK), the binlog cache will be flushed to the binlog (because of the non-trans update) so we'll have SAVEPOINT and ROLLBACK TO SAVEPOINT in the binlog. Apart from this rare case of updates of mixed table types in transaction, the usual way is still clear the binlog cache at ROLLBACK, or chop it at ROLLBACK TO SAVEPOINT (meaning the SAVEPOINT command is also chopped, which is fine). Note that BUG#873 encompasses subbugs 1) and 2) of BUG#333 "3 binlogging bugs when doing INSERT with mixed InnoDB/MyISAM". client/mysqldump.c: Minor edit: one CHANGE MASTER with 2 arguments instead of 2 CHANGE MASTER with one argument each. mysql-test/r/rpl_loaddata.result: result update mysql-test/t/rpl_loaddata.test: minor edit: simplifying the test. sql/handler.cc: Fix for BUG#873. See comments in code, and the description of the changeset. sql/log.cc: * Previously, if a query updated a non-transactional table we wrote it immediately to the real binlog. This causes a bug when the update is done inside a transaction and uses the content of an updated transactional table (because this makes a wrong order of queries in the binlog). So if the binlog cache is not empty, we write the query to the binlog cache; otherwise we can write it to the binlog. * Previously, when we flushed the binlog cache to the binlog, we wrapped it with BEGIN/COMMIT. Now it's also possible to wrap it with BEGIN/ROLLBACK, to handle transactions which update both transactional and non-transactional tables. sql/log_event.cc: The slave thread can leave a transaction if COMMIT or if ROLLBACK. sql/sql_class.h: prototype sql/sql_insert.cc: Fix for BUG#1113: this was because the INSERT SELECT code did not set OPTION_STATUS_NO_TRANS_UPDATE. sql/sql_parse.cc: Don't send ER_WARNING_NOT_COMPLETE_ROLLBACK if this is the SQL slave thread (see comments).
-
unknown authored
into narttu.mysql.fi:/my/mysql-4.0 client/mysqltest.c: Auto merged sql/sql_load.cc: Auto merged
-
unknown authored
Move test that uses many tables (in query_cache.test) to separate test so that we can get it 'skipped' instead of 'failed' on system where we can't open many files. client/mysqltest.c: Fix that LET can be used with queries that return multiple columns libmysql/errmsg.c: Extend socket name to 100 characters in error messages libmysql/libmysql.c: Reset some variables to make ensure that we can call mysql_server_init()/mysql_server_end() many times mysql-test/mysql-test-run.sh: Set open-files-limit to 1024 mysql-test/r/loaddata.result: Add test case for LOAD DATA bug report (was not a bug) mysql-test/r/query_cache.result: Move test with many tables to separate test mysql-test/r/select_safe.result: Make test repeatable mysql-test/t/loaddata.test: Add test case for LOAD DATA bug report (was not a bug) mysql-test/t/query_cache.test: Move test with many tables to separate test mysql-test/t/select_safe.test: Make test repeatable sql/field.cc: Portability fix for gcc 3.3 sql/mysqld.cc: Store in open_files_limit the true number of files we can open (if system supports it) sql/sql_load.cc: Safety fix
-
- 21 Aug, 2003 10 commits
-
-
unknown authored
extra/resolveip.c: Auto merged sql/item.cc: Auto merged
-
unknown authored
sql/item.h: fixups sql/sql_show.cc: avoid allocations for simple tables old client compatibility
-
unknown authored
into serg.mylan:/usr/home/serg/Abk/mysql
-
unknown authored
-
unknown authored
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
-
unknown authored
-
unknown authored
the embedded server (it was missing in the previous push)
-
unknown authored
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
-
unknown authored
-
unknown authored
Let's say the lack of comments did not help me ;) Copying it back again and adding comments; now 3.23->4.0 replication of LOAD DATA INFILE works again. sql/slave.cc: Enabling again process_io_create_file
-
- 20 Aug, 2003 12 commits
-
-
unknown authored
Since my changes, rpl_log.test, whose result file depends on file_id, became non-repeatable, i.e. file_id on slave in SHOW BINLOG EVENTS changed depending on the order of tests (sometimes 1, sometimes 5). Which is logical: as now the slave does not copy Create_file and Exec_load from the relay log (i.e from the master's binlog) to the slave's binlog, but instead lets mysql_load() do the logging, the file_id is now the one whic was used on the slave. Before it was the one which was used on the master, and by chance the master was always restarted for this test because there's a -master.opt file, so file_id on the master is always 1. But now file_id is from the slave so we need to restart the slave. That's why I add an (empty) -slave.opt file. I could have used 'server_stop/start slave', but this would have required the manager, so most of the time mysql-test-run silently skip the test which makes it useless. And I want this test to be run ! mysql-test/r/rpl_loaddata.result: Orig_log_pos is like Pos since Dmitri's good change for BUG#1086 mysql-test/r/rpl_log.result: Orig_log_pos is like Pos now, because Exec_load events are not directly copied by the slave from the relay log to the slave's binary log (these events are written by mysql_load() now). mysql-test/t/rpl_log.test: A comment
-
unknown authored
into mysql.com:/home/mysql_src/mysql-4.0 sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/slave.cc: Auto merged
-
unknown authored
"LOAD DATA INFILE is badly filtered by binlog-*-db rules". There will probably be a second final one to merge Dmitri's changes to rpl_log.result and mine. 2 new tests: rpl_loaddata_rule_m : test of logging of LOAD DATA INFILE when the master has binlog-*-db rules, rpl_loaddata_rule_s : test of logging of LOAD DATA INFILE when the slave has binlog-*-db rules and --log-slave-updates. mysql-test/r/rpl_loaddata.result: Test that logging of LOAD DATA INFILE is done on the slave mysql-test/t/rpl_loaddata.test: Test that logging of LOAD DATA is done on the slave sql/log.cc: debug info sql/log_event.cc: * Append_block, Exec_load and Delete_file now have a member 'db' like Create_file. This member is filled by mysql_load(). It is used for filtering by binlog-*-db rules, that's all. It's not written to the binlog, and so can't be read from the binlog. In other words, that's temporary info which is stored in the event and lost when it is written and deleted. * Better error messages in Append_block et al. events. * The slave now logs (log-slave-updates) the Create_file et al. events in mysql_load() (they are not directly copied from the events in the relay log, because this prevented filtering by binlog-*-db rules). Before, mysql_load() in the slave did no logging, now it does the logging, as in any regular thread. sql/log_event.h: New member 'db' for Append_block et al. events. sql/slave.cc: Removed useless code. Why was it useless: - CREATE_FILE_EVENT is not defined in 3.23. It appeared in 4.0. - in queue_old_event(), which is called only if the master is 3.23, we had a case CREATE_FILE_EVENT: so this case can be removed. - this case was the only caller of process_io_create_file() so this function can be removed. sql/sql_load.cc: Pass the db to events, so that they can be well filtered. sql/sql_repl.cc: Pass the db to events so that they can be well filtered.
-
unknown authored
Merge fix sql/sql_union.cc: Merge fix
-
unknown authored
into mysql.com:/home/dlenev/src/mysql-4.0-bg-1086
-
unknown authored
-
unknown authored
into mysql.com:/home/dlenev/src/mysql-4.0-bg-1086
-
unknown authored
Set min value of max_allowed_packet to 1024 Fixed problem with UNION's without braces and SQL_CALC_FOUND_ROWS, LIMIT #,# and ORDER BY...LIMIT include/m_string.h: Added memcpy_overlap() to avoid warnings when using valgrind on memcpy(A,A,...) myisam/mi_create.c: Fixed comment myisam/mi_search.c: Fix warning from valgrind myisam/mi_write.c: Indentation fix mysql-test/mysql-test-run.sh: Add options handled by general skip- option mysql-test/r/packet.result: Update results after change to mysqld (min max_allowed_packet length is now 1024) mysql-test/r/union.result: Added testing of UNION with SQL_CALC_FOUND_ROWS mysql-test/t/packet.test: Update results after change to mysqld (min max_allowed_packet length is now 1024) mysql-test/t/union.test: Added testing of UNION with SQL_CALC_FOUND_ROWS sql/field.cc: Fix to remove waarning from valgrind sql/ha_innodb.cc: Remove wrong include file sql/item_cmpfunc.cc: Safety fix to handle EOM conditions in IN sql/item_sum.cc: Fixed prototype for update_field() (argument was alwys 0) sql/item_sum.h: Fixed prototype for update_field() (argument was alwys 0) sql/item_uniq.h: Fixed prototype for update_field() (argument was alwys 0) sql/log.cc: Indentation fix sql/mysqld.cc: Set min value of max_allowed_packet to 1024 (to avoid it getting set to 0) sql/net_serv.cc: Indentation changes + trivial optimization sql/sql_select.cc: Fixed prototype for update_field() (argument was alwys 0) sql/sql_union.cc: Fixed problem with UNION's without braces and - SQL_CALC_FOUND_ROWS - LIMIT #,# - ORDER BY ... LIMIT
-
unknown authored
Fix for SQL_CALC_FOUND_ROWS in UNION's sql/sql_union.cc: Fix for SQL_CALC_FOUND_ROWS in UNION's
-
unknown authored
Test case for the LEAST() bug in LEFT JOIN mysql-test/t/func_test.test: Test case for the LEAST() bug in LEFT JOIN mysql-test/r/func_test.result: Test case for the LEAST() bug in LEFT JOIN
-
unknown authored
Fix for a bug with LEAST() in WHERE clause ha_innodb.cc: Fix for a configure bug multi_update.result, multi_update.test: Fix for the update with NULL's in the result set sql_update.cc: Fix for the update with NULL's in the result set Fix for the update with NULL's in the result set Fix for the update with NULL's in the result set sql/sql_update.cc: Fix for the update with NULL's in the result set Fix for the update with NULL's in the result set Fix for the update with NULL's in the result set mysql-test/t/multi_update.test: Fix for the update with NULL's in the result set mysql-test/r/multi_update.result: Fix for the update with NULL's in the result set sql/ha_innodb.cc: Fix for a configure bug sql/item_func.h: Fix for a bug with LEAST() in WHERE clause
-
unknown authored
-
- 19 Aug, 2003 12 commits
-
-
unknown authored
log-slave-updates since this causes unexpected values in Exec_master_log_pos in A->B->C replication setup, synchronization problems in master_pos_wait()... Still this brokes some functionality in sql/repl_failsafe.cc (but this file is not used now) mysql-test/r/rpl_log.result: SHOW BINLOG EVENTS for binlog on slave should give the same Orig_log_pos and Pos values sql/log_event.cc: Do not propagate our master's log pos to our bin log sql/repl_failsafe.cc: Added comment about broken SHOW NEW MASTER sql/slave.cc: Do not propagate our master's log pos to our bin log sql/sql_class.cc: THD::log_pos is no longer needed sql/sql_class.h: THD::log_pos is no longer needed sql/sql_parse.cc: Added comment about broken SHOW NEW MASTER
-
unknown authored
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
-
unknown authored
optimization: abort search for common (>50% rows) words earlier.
-
unknown authored
into mysql.com:/space/my/mysql-4.0-build
-
unknown authored
Build-tools/Bootstrap: - defined $opt_directory to be the present working directory. No clue how this worked before...
-
unknown authored
the first 4 bytes of the relay log. Indeed comments in mysys/mf_iocache.c say we must always use my_b_append for such a cache. This *could* avoid a very rare assertion failure which is: 030524 19:32:38 Slave SQL thread initialized, starting replication in log 'FIRST' at position 0, relay log '/ users/gbichot/4.1.1/mysql-test/var/log/slave-relay-bin.000001' position: 4 030524 19:32:38 next log '/users/gbichot/4.1.1/mysql-test/var/log/slave-relay-bin.000002' is currently active mysqld: mf_iocache.c:701: _my_b_seq_read: Assertion `pos_in_file == info->end_of_file' failed. and which seemed to happen always when the SQL thread and/or the I/O thread were at position 4 in a relay log. include/my_sys.h: moving a function from log_event.cc so that it can be widely used mysys/mf_iocache.c: moving a function from log_event.cc so that it can be widely used sql/log.cc: my_b_write should not be used on a SEQ_READ_APPEND cache, one should use my_b_append (otherwise there could be some locking problems). sql/log_event.cc: moved to mysys/mf_iocache.c for wider use. A typo.
-
unknown authored
"mysqlbinlog does not comment the original LOAD DATA INFILE if it has a "use xx"" client/mysqlbinlog.cc: a comment sql/log_event.cc: in mysqlbinlog we want to have a leading '#' before LOAD DATA INFILE when we print a Create_file event. This was not done properly when the query had *2* lines: only the "use db" got commented. To fix this I had to add an argument to Load_log_event::print, it could not be handled in Create_file_log_event::print alone. sql/log_event.h: prototype
-
unknown authored
into mysql.com:/home/mysql_src/mysql-4.0
-
unknown authored
into mashka.mysql.fi:/home/my/mysql-4.0
-
unknown authored
mysqlbinlog segfaults if --position is just before Exec_load event mysqlbinlog prints uncommented warnings if --database and compiled with debug mysqlbinlog --database does not filter LOAD DATA INFILE client/mysqlbinlog.cc: * Don't stop in Append_block when there is no Create_file. Just print a warning. * Test LOAD DATA (Create_file) against --database. * Don't print "no skip" when you don't skip an event when using --database (it causes syntax errors in 'mysql'). * Print a warning in Exec_load if there is no Create_file.
-
unknown authored
-
unknown authored
for Mac OS X and add it to the installation Disk Image. Build-tools/Do-pkg: - added code to build the StartupItem PKG along with the MySQL PKG and add it to the resulting Disk Image (can be skipped with --skip-si) - lots of cleanups (use more builtin Perl functions instead of subprocesses, enable a full dry run without errors) support-files/MacOSX/StartupItem.Info.plist: - removed IFPkgFlagOverwritePermissions and IFPkgFlagUseUserMask
-