- 21 Feb, 2008 4 commits
-
-
unknown authored
sql/sql_prepare.cc: Removed unused variable.
-
unknown authored
The problem is that CREATE VIEW statements inside prepared statements weren't being expanded during the prepare phase, which leads to objects not being allocated in the appropriate memory arenas. The solution is to perform the validation of CREATE VIEW statements during the prepare phase of a prepared statement. The validation during the prepare phase assures that transformations of the parsed tree will use the permanent arena of the prepared statement. mysql-test/r/ps.result: Add test case result for Bug#32890 mysql-test/t/ps.test: Add test case for Bug#32890 sql/item.h: Restore original field name if name is auto generated. sql/sql_prepare.cc: Validate and prepare a CREATE VIEW statement for execution. sql/sql_view.cc: Move privileges check to it's own function. sql/sql_view.h: Export function which check privileges of a CREATE VIEW statement.
-
unknown authored
a table name. The problem was that fill_defined_view_parts() did not return an error if a table is going to be altered. That happened if the table was already in the table cache. In that case, open_table() returned non-NULL value (valid TABLE-instance from the cache). The fix is to ensure that an error is thrown even if the table is in the cache. (This is a backport of the original patch for 5.1) mysql-test/r/view.result: Fix result file. mysql-test/r/view_grant.result: Fix result file. mysql-test/t/view.test: Add a test case for Bug#34337: Server crash when Altering a view using a table name. mysql-test/t/view_grant.test: Fix order-dependency. sql/sql_view.cc: Report an error if we're going to work with a table.
-
unknown authored
by patch for bug 32265 . tests/mysql_client_test.c: Removed unused variable.
-
- 20 Feb, 2008 1 commit
-
-
unknown authored
Executing a prepared statement associated with a materialized cursor yields to the client a metadata packet with wrong table and database names. The problem was occurring because the server was sending the the name of the temporary table used by the cursor instead of the table name of the original table. The same problem occurs when selecting from views, in which case the table name was being sent and not the name of the view. The solution is to fill the list item from the temporary table but preserving the table and database names of the original fields. This is achieved by tweaking the Select_materialize to accept a pointer to the Materialized_cursor class which contains the item list to be filled. sql/sql_cursor.cc: Fill the item list in the send_fields method and preserve the table and database name of the fields. tests/mysql_client_test.c: Add test case for Bug#32265
-
- 11 Feb, 2008 2 commits
- 08 Feb, 2008 2 commits
-
-
unknown authored
into dipika.(none):/opt/local/work/mysql-5.0-runtime
-
unknown authored
The unsignedness of large integer user variables was not being properly preserved when feeded to prepared statements. This was happening because the unsigned flags wasn't being updated when converting the user variable is converted to a parameter. The solution is to copy the unsigned flag when converting the user variable to a parameter and take the unsigned flag into account when converting the integer to a string. mysql-test/r/binlog.result: Add test case result for Bug#33798 mysql-test/r/ps.result: Add test case result for Bug#33798 mysql-test/t/binlog.test: Add test case for Bug#33798 mysql-test/t/ps.test: Add test case for Bug#33798 sql/item.cc: Take the unsigned flag into account when converting the user variable.
-
- 07 Feb, 2008 2 commits
- 06 Feb, 2008 2 commits
-
-
unknown authored
slash in filenames also for Create_file_log_event. client/mysqlbinlog.cc: BUG#34355: mysqlbinlog outputs backslash as path separator for 4.1 binlogs Problem: When the windows version of mysqlbinlog reads 4.1 binlogs containing LOAD DATA INFILE, it outputs backslashes as path separators in filenames. However, the output is typically piped to a client, and client expects forward slashes. Fix: Replace '\\' by '/' in filenames.
-
unknown authored
-
- 05 Feb, 2008 1 commit
-
-
unknown authored
to leave The artifact was caused by a flaw in concurrent accessing the slave's io thd by the io itself and a handling show slave status thread. Namely, show_master_info did not acquire mi->run_lock mutex that is specified for mi->io_thd member. Fixed with deploying the mutex locking and unlocking. The mutex is kept short time and without interleaving with mi->data_lock mutex. Todo: to report and fix an issue with sys_var_slave_skip_counter::{methods} seem to acquire incorrectly active_mi->rli.run_lock instead of the specified active_mi->rli.data_lock A test case is difficult to compose, so rpl_packet should continue serving as the indicator. sql/slave.cc: implementing a TODO left at 4.1 time: mending access to mi->io_thd with the specified mutex; sql/slave.h: adding a member name to the list of that run_lock guards.
-
- 04 Feb, 2008 2 commits
- 01 Feb, 2008 6 commits
-
-
unknown authored
into mysql_cab_desk.:D:/source/c++/mysql-5.0-rpl-merge
-
unknown authored
This patch adds code to convert the path for LOAD DATA INFILE events to a Unix path which is needed for running mysql client on Windows. client/mysqlbinlog.cc: BUG#32205 : Replaying statements from mysqlbinlog fails with a syntax error, replicates fine This patch adds code to convert the path for LOAD DATA INFILE events to a Unix path which is needed for running mysql client on Windows. The 'd:\x\y\z' path becomes 'd:xyz' when run in the client.
-
unknown authored
on the context. mysql-test/r/mysqlbinlog.result: Result file change. mysql-test/t/mysqlbinlog.test: Blanking out yet some numbers in file names.
-
unknown authored
mysql-test/r/mysqlbinlog.result: Result file change. mysql-test/t/mysqlbinlog.test: Fixing test to not be dependent on the sequence numbers for file names generated by mysqlbinlog.
-
unknown authored
mysql-test/r/mix_innodb_myisam_binlog.result: Result change mysql-test/t/binlog_start_comment.test: Adding --local-load to mysqlbinlog to prevent it from failing on Windows. Also adding --short-form. mysql-test/t/mix_innodb_myisam_binlog.test: Extending LIKE pattern to use either \n or \r\n in order to work on Windows.
-
unknown authored
mysql-test/t/binlog_start_comment.test: Adding --local-infile=1 to enable local infile for mysql client.
-
- 31 Jan, 2008 3 commits
-
-
unknown authored
into dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge include/my_sys.h: Auto merged sql/log.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_acl.cc: Auto merged
-
unknown authored
mysql-test/include/have_local_infile.inc: BitKeeper file /data0/mkindahl/mysql-5.0-rpl-merge/mysql-test/include/have_local_infile.inc mysql-test/r/have_local_infile.require: BitKeeper file /data0/mkindahl/mysql-5.0-rpl-merge/mysql-test/r/have_local_infile.require mysql-test/t/binlog_start_comment.test: Test requires that local_infile is on, so added require for that. mysql-test/t/rpl_sp.test: Adding missing sync_slave_with_master causing following tests to fail.
-
unknown authored
sql/sql_repl.cc: Adding cast to remove compile error on Windows platform.
-
- 30 Jan, 2008 4 commits
-
-
unknown authored
mysql-test/t/rpl_transaction.test: Test only works for debug build.
-
unknown authored
mysql-test/r/bdb_notembedded.result: Result change. mysql-test/r/rpl_loaddata_map.result: Result change. mysql-test/t/rpl_loaddata_map.test: Blanking out file id as well.
-
unknown authored
into dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge include/my_sys.h: Auto merged mysql-test/r/blackhole.result: Auto merged mysql-test/r/case.result: Auto merged mysql-test/r/mysqlbinlog2.result: Auto merged mysql-test/t/blackhole.test: Auto merged mysql-test/t/case.test: Auto merged sql/set_var.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_parse.cc: Auto merged
-
unknown authored
into mail.hezx.com:/media/sda3/work/mysql/bkwork/bug26489_corruption_in_relay_log/5.0
-
- 29 Jan, 2008 2 commits
-
-
unknown authored
mysql-test/r/rpl_grant.result: update result
-
unknown authored
Here is the scenario that causes the failure.(by Mats) 1. The to-be corrupt log event (let's call it X), is split into two packets B and C on the network level (net_write_buff()). The parts are X = (x',x''). The part x' ends up in packet B and part x'' ends up in packet C. Prior to the corrupt event X, the event Y has been written successfully, but has been split into two packets as well, which we call (y',y''). 2. The master sends packet A = (y'',x') to the slave, increases the packet sequence number, the slave receives the packet, but fails to reply before the master gets a timeout. 3. Since the master got a timeout, it reports failure, and aborts sending the binary log by exiting mysql_binlog_send(). However, it leaves the buffer intact, still holding y'' (but not x', since the write_pos is not increased). 4. After exiting mysql_binlog_send(), the master does a disconnection of the client thread, which involves sending an error message e to the client (i.e., the slave). 5. In this case, net_write_buff() is used again, but this time the old contents of the packet is used so that the new packet is D = (y'',e). Note that this will use a new packet sequence number, since the packet number was increased in step 2. 6. The slave receives the tail y'' of the Y log event, concatenates this with x' (which it already received), and writes the event (x',y'') it to the relay log since it hasn't noticed anything is amiss. 7. It then tries to read more bytes, which is either e (if the length given for X just happened to match the length given for Y, or just plain garbage because the slave is out of sync with what is actually sent. 8. After a while, the SQL thread tries to execute the event (x',y''), which is very likely to be just nonsense. The problem can be fixed by not resetting net->error after the call of mysql_binlog_send, so the error message will not be sent and the connection will be closed. sql/sql_parse.cc: Do not reset net->error, if net->error == 2, we should not try to use the connection again
-
- 27 Jan, 2008 1 commit
-
-
unknown authored
and so that it works correctly on Windows. mysql-test/r/mysqlcheck.result: Flush tables before monkeying around with underlying MyISAM data files mysql-test/t/mysqlcheck.test: Fix the test case for bug #25347 so that it actually does test the behavior. Also, this makes it work on Windows by ensuring that mysqld doesn't hold the underlying MyISAM files open while we try to corrupt them on disk. Flush tables before monkeying around with underlying MyISAM data files; --use-frm, so that mysqlcheck will succeed.
-
- 25 Jan, 2008 3 commits
-
-
unknown authored
mysql-test/t/mysqlcheck.test: Use --remove_file and --write_file instead of --exec rm and --exec touch.
-
unknown authored
into ramayana.hindu.god:/home/tsmith/m/bk/maint/50 sql/sql_select.cc: Auto merged
-
unknown authored
The problem is when create/rename/drop users, the statement was logged regardless of error, even if no data has been changed, the statement was logged. After this patch, create/rename/drop users don't write the binlog if the statement makes no changes, if the statement does make any changes, log the statement with possible error code. This patch is based on the patch for BUG#29749, which is not pushed sql/sql_acl.cc: when create/rename/drop users, don't write the binlog if the statement make no changes mysql-test/r/rpl_user.result: New BitKeeper file ``mysql-test/r/rpl_user.result'' mysql-test/t/rpl_user.test: New BitKeeper file ``mysql-test/t/rpl_user.test''
-
- 24 Jan, 2008 1 commit
-
-
unknown authored
into quad.:/mnt/raid/alik/MySQL/devel/5.0-rt-merged-5.0
-
- 23 Jan, 2008 4 commits
-
-
unknown authored
-
unknown authored
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-33618 mysql-test/t/sp.test: Auto merged sql/sp_head.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted) The server used to crash when REPEAT or another control instruction was used in conjunction with labels and a LEAVE instruction. The crash was caused by a missing "pop" of handlers or cursors in the code representing the stored program. When executing the code in a loop, this missing "pop" would result in a stack overflow, corrupting memory. Code generation has been fixed to produce the missing h_pop/c_pop instructions. Also, the logic checking that labels at the beginning and the end of a statement are matched was incorrect, causing Bug 33983. End labels, when used, must match the label used at the beginning of a block. mysql-test/r/sp-code.result: Bug#33618 (Crash in sp_rcontext) mysql-test/r/sp-error.result: Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted) mysql-test/r/sp.result: Bug#33618 (Crash in sp_rcontext) mysql-test/t/sp-code.test: Bug#33618 (Crash in sp_rcontext) mysql-test/t/sp-error.test: Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted) mysql-test/t/sp.test: Bug#33618 (Crash in sp_rcontext) sql/sp_head.cc: Bug#33618 (Crash in sp_rcontext) sql/sp_head.h: Bug#33618 (Crash in sp_rcontext) sql/sp_rcontext.cc: Bug#33618 (Crash in sp_rcontext) sql/sp_rcontext.h: Bug#33618 (Crash in sp_rcontext) sql/sql_yacc.yy: Bug#33618 (Crash in sp_rcontext)
-
unknown authored
into ramayana.hindu.god:/home/tsmith/m/bk/maint/50 sql/item_timefunc.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_select.cc: Auto merged
-