- 16 Mar, 2005 2 commits
-
-
unknown authored
The idea is to use TABLE_LIST::lock_type for passing type of lock for target table to mysql_load() instead of using LEX::lock_option (which were rewritten by first subselect in SET clause). This should also fix potential problem with LOAD DATA in SP (it is important for them to have right lock_type in the table list by the end of statement parsing). mysql-test/r/loaddata.result: Added nice test for LOAD DATA with subquery. mysql-test/t/loaddata.test: Added nice test for LOAD DATA with subquery. sql/log_event.cc: Now we don't pass type of lock for target table to mysql_load() explicitly . Instead we use TABLE_LIST::lock_type for this table which is already properly set here. sql/mysql_priv.h: Now we don't pass type of lock for target table to mysql_load() explicitly . Instead we properly set TABLE_LIST::lock_type for this table in parser. sql/sql_load.cc: Now we don't pass type of lock for target table to mysql_load() explicitly . Instead we properly set TABLE_LIST::lock_type for this table in parser. sql/sql_parse.cc: Now we don't pass type of lock for target table to mysql_load() explicitly . Instead we properly set TABLE_LIST::lock_type for this table in parser. sql/sql_yacc.yy: load_data: Let us use TABLE_LIST::lock_type for passing type of lock for target table to mysql_load() instead of using LEX::lock_option (which will be rewritten by first subselect in SET clause).
-
unknown authored
Now one can use user variables as target for data loaded from file (besides table's columns). Also LOAD DATA got new SET-clause in which one can specify values for table columns as expressions. For example the following is possible: LOAD DATA INFILE 'words.dat' INTO TABLE t1 (a, @b) SET c = @b + 1; This patch also implements new way of replicating LOAD DATA. Now we do it similarly to other queries. We store LOAD DATA query in new Execute_load_query event (which is last in the sequence of events representing LOAD DATA). When we are executing this event we simply rewrite part of query which holds name of file (we use name of temporary file) and then execute it as usual query. In the beggining of this sequence we use Begin_load_query event which is almost identical to Append_file event client/mysqlbinlog.cc: Added support of two new binary log events Begin_load_query_log_event and Execute_load_query_log_Event which are used to replicate LOAD DATA INFILE. mysql-test/r/ctype_ucs.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results and made it more robust for future similar changes. mysql-test/r/insert_select.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results and made it more robust for future similar changes. mysql-test/r/loaddata.result: Added tests for new LOAD DATA features. mysql-test/r/mix_innodb_myisam_binlog.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results (don't dare to get rid from binlog positions completely since it seems that this test uses them). mysql-test/r/mysqlbinlog.result: New approach for binlogging of LOAD DATA statement. Now we store it as usual query and rewrite part in which file is specified when needed. So now mysqlbinlog output for LOAD DATA much more closer to its initial form. Updated test'd results accordingly. mysql-test/r/mysqldump.result: Made test more robust to other tests failures. mysql-test/r/rpl000015.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_change_master.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results. mysql-test/r/rpl_charset.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly mysql-test/r/rpl_deadlock.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly mysql-test/r/rpl_error_ignored_table.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results and made it more robust for future similar changes. mysql-test/r/rpl_flush_log_loop.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_flush_tables.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results and made it more robust for future similar changes. mysql-test/r/rpl_loaddata.result: New way of replicating LOAD DATA. Now we do it similarly to other queries. We store LOAD DATA query in new Execute_load_query event (which is last in the sequence of events representing LOAD DATA). When we are executing this event we simply rewrite part of query which holds name of file (we use name of temporary file) and then execute it as usual query. In the beggining of this sequence we use Begin_load_query event which is almost identical to Append_file event... Updated test's results wwith new binlog positions. mysql-test/r/rpl_loaddata_rule_m.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results and made it more robust for future similar changes. Since now LOAD DATA is replicated much in the same way as usual query --binlog_do/ignore_db work for it inthe same way as for usual queries. mysql-test/r/rpl_loaddata_rule_s.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_loaddatalocal.result: Added nice test for case when it is important that LOAD DATA LOCAL ignores duplicates. mysql-test/r/rpl_log.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly (don't dare to get rid from binlog positions completely since it seems that this test uses them). mysql-test/r/rpl_log_pos.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_max_relay_size.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_multi_query.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_relayrotate.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_replicate_do.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_reset_slave.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_rotate_logs.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_server_id1.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_server_id2.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly. mysql-test/r/rpl_temporary.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results and made it more robust for future similar changes. mysql-test/r/rpl_timezone.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results and made it more robust for future similar changes. mysql-test/r/rpl_until.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results accordingly and tweaked test a bit to bring it back to good shape. mysql-test/r/rpl_user_variables.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results and made it more robust for future similar changes. mysql-test/r/user_var.result: Addition of two new types of binary log events shifted binlog positions. Updated test's results and made it more robust for future similar changes. mysql-test/t/ctype_ucs.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly and made it more robust for future similar changes. mysql-test/t/insert_select.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly and made it more robust for future similar changes. mysql-test/t/loaddata.test: Added test cases for new LOAD DATA functionality. mysql-test/t/mix_innodb_myisam_binlog.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly. mysql-test/t/mysqlbinlog.test: New way of replicating LOAD DATA local. Now we do it similarly to other queries. We store LOAD DATA query in new Execute_load_query event (which is last in the sequence of events representing LOAD DATA). When we are executing this event we simply rewrite part of query which holds name of file (we use name of temporary file) and then execute it as usual query. In the beggining of this sequence we use Begin_load_query event which is almost identical to Append_file event... Thus we need new binlog positions for LOAD DATA events. mysql-test/t/mysqlbinlog2.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly. mysql-test/t/mysqldump.test: Made test more robust for failures of other tests. mysql-test/t/rpl_charset.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly. mysql-test/t/rpl_deadlock.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly. mysql-test/t/rpl_error_ignored_table.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly and made it more robust for future similar changes. mysql-test/t/rpl_flush_tables.test: Addition of two new types of binary log events shifted binlog positions. Made test more robust for future similar changes. mysql-test/t/rpl_loaddata.test: New way of replicating LOAD DATA. Now we do it similarly to other queries. We store LOAD DATA query in new Execute_load_query event (which is last in the sequence of events representing LOAD DATA). When we are executing this event we simply rewrite part of query which holds name of file (we use name of temporary file) and then execute it as usual query. In the beggining of this sequence we use Begin_load_query event which is almost identical to Append_file event... Apropritely updated comments in test. mysql-test/t/rpl_loaddata_rule_m.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly and made it more robust for future similar changes. Since now LOAD DATA is replicated much in the same way as usual query --binlog_do/ignore_db work for it inthe same way as for usual queries. mysql-test/t/rpl_loaddata_rule_s.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly. mysql-test/t/rpl_loaddatalocal.test: Added nice test for case when it is important that LOAD DATA LOCAL ignores duplicates. mysql-test/t/rpl_log.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly (don't dare to get rid from binlog positions completely since it seems that this test uses them). mysql-test/t/rpl_log_pos.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly. mysql-test/t/rpl_multi_query.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly. mysql-test/t/rpl_temporary.test: Addition of two new types of binary log events shifted binlog positions. Made test more robust for future similar changes. mysql-test/t/rpl_timezone.test: Addition of two new types of binary log events shifted binlog positions. Made test more robust for future similar changes. mysql-test/t/rpl_until.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly and tweaked it a bit to bring it back to good shape. mysql-test/t/rpl_user_variables.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly and made it more robust for future similar changes. mysql-test/t/user_var.test: Addition of two new types of binary log events shifted binlog positions. Updated test accordingly and made it more robust for future similar changes. sql/item_func.cc: Added Item_user_var_as_out_param class that represents user variable which used as out parameter in LOAD DATA. Moved code from Item_func_set_user_var::update_hash() function to separate static function to be able to reuse it in this new class. sql/item_func.h: Added Item_user_var_as_out_param class that represents user variable which used as out parameter in LOAD DATA. sql/log_event.cc: New way of replicating LOAD DATA. Now we do it similarly to other queries. We store LOAD DATA query in new Execute_load_query event (which is last in the sequence of events representing LOAD DATA). When we are executing this event we simply rewrite part of query which holds name of file (we use name of temporary file) and then execute it as usual query. In the beggining of this sequence we use Begin_load_query event which is almost identical to Append_file event. sql/log_event.h: New way of replicating LOAD DATA. Now we do it similarly to other queries. We store LOAD DATA query in new Execute_load_query event (which is last in the sequence of events representing LOAD DATA). When we are executing this event we simply rewrite part of query which holds name of file (we use name of temporary file) and then execute it as usual query. In the beggining of this sequence we use Begin_load_query event which is almost identical to Append_file event. sql/mysql_priv.h: Now mysql_load() has two more arguments. They are needed to pass list of columns and corresponding expressions from new LOAD DATA's SET clause. sql/share/errmsg.txt: Added new error message which is used to forbid loading of data from fixed length rows to variables. sql/sql_lex.h: Added LEX::fname_start/fname_end members. They are pointers to part of LOAD DATA statement which should be rewritten during replication (file name + little extra). sql/sql_load.cc: Added support for extended LOAD DATA. Now one can use user variables as target for data loaded from file (besides table's columns). Also LOAD DATA got new SET-clause in which one can specify values for table columns as expressions. Updated mysql_load()/read_fixed_length()/read_sep_field() to support this functionality (now they can read data from file to both columns and variables and assign do calculations and assignments specified in SET clause). We also use new approach for LOAD DATA binlogging/replication. sql/sql_parse.cc: mysql_execute_command(): Since now we have SET clause in LOAD DATA we should also check permissions for tables used in its expressions. Also mysql_load() has two more arguments to pass information about this clause. sql/sql_repl.cc: New way of replicating LOAD DATA. Now we do it similarly to other queries. We store LOAD DATA query in new Execute_load_query event (which is last in the sequence of events representing LOAD DATA). When we are executing this event we simply rewrite part of query which holds name of file (we use name of temporary file) and then execute it as usual query. In the beggining of this sequence we use Begin_load_query event which is almost identical to Append_file event. sql/sql_repl.h: struct st_load_file_info: Removed memebers which are no longer needed for LOAD DATA binnlogging. sql/sql_yacc.yy: Added support for extended LOAD DATA syntax. Now one can use user variables as target for data loaded from file (besides table's columns). Also LOAD DATA got new SET-clause in which one can specify values for table columns as expressions. For example the following is possible: LOAD DATA INFILE 'words.dat' INTO TABLE t1 (a, @b) SET c = @b + 1; Also now we save pointers to the beginning and to the end of part of LOAD DATA statement which should be rewritten during replication.
-
- 15 Mar, 2005 32 commits
-
-
unknown authored
into mysql.com:/usr/home/ram/work/5.0
-
unknown authored
-
unknown authored
heap/hp_create.c: Auto merged sql/filesort.cc: Auto merged mysql-test/r/heap.result: manual merging mysql-test/t/heap.test: manual merging sql/ha_heap.cc: manual merging
-
unknown authored
sql/ha_ndbcluster.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_class.h: Auto merged sql/ha_ndbcluster.cc: Manual merge
-
unknown authored
-This is mostly fixes for correct behaviour when using query cache + transactions + the thread that fetches commit count from NDB at regular intervals. The major fix is to add a list in thd_ndb, that keeps a list of NDB_SHARE's that were modified by transaction and then "clearing" them in ndbcluster_commit. mysql-test/r/ndb_cache2.result: Updated test cases for the ndb_util thread, more simultaneous tables and more tesst mysql-test/t/ndb_cache2.test: Updated test cases for the ndb_util thread, more simultaneous tables and more advanced tesst sql/ha_ndbcluster.cc: Add table changed during transaction to list of changed tables in Thd_ndb, this list is then used in ndbcluster_commit to invalidate the cached commit_count in share Fix so that ndb_util_thread uses milliseconds "sleeps" Changed so that ndb_commit_count uses the commit_count from share if available sql/ha_ndbcluster.h: Add commit_count_lock to NBD_SHARE, use for detecting simultaneous attempts to update commit_count Add list of tables changed by transaction to Thd_ndb Change check_ndb_connection to take thd as argument, use current_thd as default Added m_rows_changed variable to keep track of if this handler has modified any records within the transaction sql/set_var.cc: Change format of code Sort sys__ variables in aplha order
-
unknown authored
-
unknown authored
into hundin.mysql.fi:/home/marko/mysql-5.0
-
unknown authored
into mysql.com:/space/my/mysql-5.0
-
unknown authored
sql/filesort.cc: A fix (bug #8799: Killed filesorts can fail inited==RND assertion in ha_rnd_end). Should call ha_rnd_end() only if ha_rnd_init() was called.
-
unknown authored
into mysql.com:/space/my/mysql-5.0 support-files/mysql.server.sh: Auto merged
-
unknown authored
"mysql-pro-gpl-cert" packages as well (thanks to Kent for the suggestion) Build-tools/Do-solaris-pkg: - fixed package name matching regex to be satisfied with "mysql-pro-gpl-cert" packages as well (thanks to Kent for the suggestion)
-
unknown authored
Applied some changes to the mysql.server init script that are already shipped as an additional patch in the 4.1.10a RPMs for SLES9/RHEL3: - small improvement: use LSB functions to display startup success and failure, if available. Fall back to more primitive builtin functions otherwise. - joined two pieces of code performing the same functionality into one "wait_for_pid" function - added a "reload" function (LSB requirement) support-files/mysql.server.sh: - small improvement: use LSB functions to display startup success and failure, if available. Fall back to builtin functions otherwise. - joined two pieces of code performing the same functionality into one "wait_for_pid" function - added a "reload" function (LSB requirement)
-
unknown authored
into mysql.com:/space/pekka/ndb/version/my50
-
unknown authored
ndb/src/common/transporter/Transporter.cpp: missing return
-
unknown authored
at function level. ndb/src/ndbapi/NdbEventOperationImpl.cpp: Avoid compilation error: On IRIX, variables declared within a loop control statement seem to have function scope. Either use different identifiers, or declare them at function level.
-
unknown authored
into mysql.com:/usr/home/ram/work/4.1.b8799
-
unknown authored
into mysql.com:/M50/mysql-5.0
-
unknown authored
dict_load_table(): Remove unused label that was accidentally introduced in a 4.0->4.1->5.0 merge. innobase/dict/dict0load.c: dict_load_table(): Remove unused label that was accidentally introduced in a 4.0->4.1->5.0 merge.
-
unknown authored
heap/hp_create.c: A fix (bug #8489: Strange auto_increment behaviour with HEAP table). Handle autoincrement keys MyISAM-way. include/heap.h: A fix (bug #8489: Strange auto_increment behaviour with HEAP table). Handle autoincrement keys MyISAM-way. sql/ha_heap.cc: A fix (bug #8489: Strange auto_increment behaviour with HEAP table). Handle autoincrement keys MyISAM-way.
-
unknown authored
BitKeeper/etc/logging_ok: auto-union innobase/buf/buf0flu.c: Manual merge innobase/dict/dict0load.c: Manual merge: do not refuse to open ROW_FORMAT=COMPACT tables
-
unknown authored
into hundin.mysql.fi:/home/marko/mysql-4.1 innobase/dict/dict0load.c: SCCS merged
-
unknown authored
into krsna.:/home/patg/test/mysql-5.0 BitKeeper/etc/logging_ok: auto-union
-
unknown authored
Konstja and Georg, change sets 1.1806, 1.1805. These changes has been successfully tested on both my own workstation (Suse 9.0) and production.mysql.com. mysql-test/r/federated.result: new test results for error handling tests. mysql-test/t/federated.test: new error handling tests sql/ha_federated.cc: - check_foreign_data source added - table names now enclosed in '`' to allow for '%' or other characters - better error handling - mysql_init now checked to see if it returns true/false, error out if false (Georg) BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
-
unknown authored
-
unknown authored
Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user innobase/buf/buf0flu.c: Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user
-
unknown authored
into mysql.com:/home/psergey/mysql-4.1-bug8510
-
unknown authored
into mysql.com:/home/psergey/mysql-5.0-bug8510 mysql-test/r/ansi.result: Auto merged sql/set_var.cc: Auto merged
-
unknown authored
into snake-hub.snake.net:/src/extern/MySQL/bk/mysql-4.1
-
unknown authored
into snake-hub.snake.net:/src/extern/MySQL/bk/merge-4.1 BitKeeper/etc/logging_ok: auto-union
-
unknown authored
Fix path that needs no parameterization. man/mysql.1.in: Fix path that needs no parameterization. BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
-
unknown authored
into mysql.com:/home/psergey/mysql-4.1-bug8510 sql/set_var.cc: Auto merged
-
unknown authored
Item_sum_count_distinct, and deploy Unique for use with COUNT(DISTINCT) if there is no blob column in the list of DISTINCT arguments. mysql-test/r/count_distinct2.result: Test results fixed. mysql-test/r/func_group.result: Updated. mysql-test/r/sum_distinct.result: Updated. mysql-test/t/func_group.test: Add a test for COUNT(DISTINCT) and true varchar and case-insensitive collation. The table in the test contains only two distinct values. mysql-test/t/sum_distinct.test: Since now we support INSERT INTO t1 (a) SELECT a+1 FROM t1, shorten the test. Add a nominal test for AVG(DISTINCT) sql/item_sum.cc: Implementation of cleaned up Item_sum_count_distinct. Fixed a bug with COUNT(DISTINCT) and new VARCHAR and collations. Fixed a bug wiht AVG(DISTINCT) and wrong number of output digits after decimal point. sql/item_sum.h: Cleanup for Item_sum_count_distinct. Now if the list of distinct arguments doesn't contain a blob column, we always use Unique and merge-sort to find distinct values. sql/sql_class.h: Added a short-cut to find number of elements in Unique if all elements fit into memory.
-
- 14 Mar, 2005 6 commits
-
-
unknown authored
BitKeeper/etc/logging_ok: auto-union sql/ha_berkeley.cc: Auto merged
-
unknown authored
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
-
unknown authored
sql/item_cmpfunc.h: Auto merged mysql-test/r/join_outer.result: !bk-eb merged mysql-test/t/join_outer.test: !bk-eb merged
-
unknown authored
don't set LOG_EVENT_BINLOG_IN_USE_F for relay logs sql/sql_repl.cc clear LOG_EVENT_BINLOG_IN_USE_F flag before sending an event to a slave sql/log.cc: don't set LOG_EVENT_BINLOG_IN_USE_F for relay logs sql/sql_repl.cc: clear LOG_EVENT_BINLOG_IN_USE_F flag before sending an event to a slave
-
unknown authored
into gluh.mysql.r18.ru:/home/gluh/MySQL-MERGE/mysql-5.0
-
unknown authored
"Access denied to database mysql" was actually not just misleading, but also wrong. Bug#7905.
-