Commit graph

9 commits

Author SHA1 Message Date
unknown
a6f7fa35b1 Bug#32575 - Parse error of stmt with extended comments on slave side
Problem was that mysql_create_view did not remove all comments characters
when writing to binlog, resulting in parse error of stmt on slave side.

Solution was to use the recreated select clause
and add a generated CHECK OPTION clause if needed.


mysql-test/r/rpl_sp.result:
  Bug#32575 - Parse error of stmt with extended comments on slave side
  
  Updated test result
mysql-test/r/rpl_view.result:
  Bug#32575 - Parse error of stmt with extended comments on slave side
  
  Updated test result
mysql-test/t/rpl_view.test:
  Bug#32575 - Parse error of stmt with extended comments on slave side
  
  Added test case
sql/sql_view.cc:
  Bug#32575 - Parse error of stmt with extended comments on slave side
  
  Problem was that mysql_create_view did not remove all comments characters
  when writing to binlog, resulting in parse error of stmt on slave side.
  
  Solution was to use the recreated select clause and generate
  'WITH {LOCAL|CASCADED} CHECK OPTION'.
2008-05-08 09:41:22 +02:00
unknown
d22c33992a Fixed bug #28244.
When the same VIEW was created at the master side twice,
malformed (truncated after the word 'AS') query string 
was forwarded to client side, so error messages on the
master and client was different, and replication was
broken.

The mysql_register_view function call failed
too early: fields of `view' output argument of this 
function was not filled yet with correct data required
for query replication.
The mysql_register_view function also copied pointers to 
local buffers into a memory allocated by the caller.


sql/sql_view.cc:
  Fixed bug #28244.
  Checking of existence of VIEW .frm file has been
  moved down to the place, when `view' argument is
  completely filled with proper data.
  view->query.str and view->query.md5 pointers has been
  set to the NULL before return from the mysql_register_view
  function.
mysql-test/t/rpl_view.test:
  Updated test case for bug #28244.
mysql-test/r/rpl_view.result:
  Updated test case for bug #28244.
2007-05-31 17:30:56 +05:00
unknown
bc9f901169 Fix for bug #19736 VIEW: column names not quoted properly when view is replicated
When we write 'query=...' string to a frm file for views on a slave, 
indentifiers are not properly quoted due to missing OPTION_QUOTE_SHOW_CREATE 
flag in the thd->options.

Fix: properly set thd->options for the slave thread.


mysql-test/r/rpl_view.result:
  Fix for bug #19736 VIEW: column names not quoted properly when view is replicated
    - result adjusted.
sql/slave.cc:
  Fix for bug #19736 VIEW: column names not quoted properly when view is replicated
    - properly set thd->options only in one place (in the set_slave_thread_options()),
      using thd_startup_options. As a side effect we have OPTION_BIG_SELECTS flag set
      after the set_slave_thread_options() call from the 
      log_enevt.cc:Rotate_log_event::exec_event().
2006-11-03 15:27:37 +04:00
unknown
aede420d41 Fix of result files from merge
mysql-test/r/mysqldump.result:
  Fix of result file (adding the echo's)
mysql-test/r/rpl_view.result:
  Added end of 5.0 echo
mysql-test/t/rpl_view.test:
  Added end of 5.0 echo
2006-09-21 00:59:48 +02:00
unknown
447f2333fe BUG#19419: VIEW: View that the column name is different
by master and slave is made.


mysql-test/r/rpl_view.result:
  BUG#19419: VIEW: View that the column name is different
   by master and slave is made.
   Fixed result for the added test case.
mysql-test/t/rpl_view.test:
  BUG#19419: VIEW: View that the column name is different
   by master and slave is made.
   Added test case.
sql/sql_parse.cc:
  BUG#19419: VIEW: View that the column name is different
   by master and slave is made.
   Fixed: Add column_list to to the view creation statement
   which is written to binlog.
2006-09-18 03:21:00 +04:00
unknown
d36f578130 Fix for BUG#20438: CREATE statements for views, stored routines and triggers
can be not replicable.

Now CREATE statements for writing in the binlog are created as follows:
  - the beginning of the statement is re-created;
  - the rest of the statement is copied from the original query.

The problem appears when there is a version-specific comment (produced by
mysqldump), started in the re-created part of the statement and closed in the
copied part -- there is closing comment-parenthesis, but there is no opening
one.

The proper fix could be to re-create original statement, but we can not
implement it in 5.0. So, for 5.0 the fix is just to cut closing
comment-parenthesis. This technique is also used for SHOW CREATE PROCEDURE
statement (so we are able to reuse existing code).


mysql-test/r/rpl_sp.result:
  Updated result file.
mysql-test/r/rpl_trigger.result:
  Updated result file.
mysql-test/r/rpl_view.result:
  Updated result file.
mysql-test/t/rpl_sp.test:
  Added test case for BUG#20438.
mysql-test/t/rpl_trigger.test:
  Added test case for BUG#20438.
mysql-test/t/rpl_view.test:
  Added test case for BUG#20438.
sql/sp.cc:
  Trim comments at the end.
sql/sp_head.cc:
  Moved this code to the separate function to be re-used.
sql/sql_lex.cc:
  Added a new function.
sql/sql_lex.h:
  Added a new function.
sql/sql_trigger.cc:
  Trim comments at the end.
sql/sql_view.cc:
  Trim comments at the end.
2006-07-28 02:49:18 +04:00
unknown
78cf7b1960 fixed portability 2005-09-14 23:12:01 +03:00
unknown
f7aeb6f9fd part 1 (ver 2, postreview fix) of WL#2787
view definer information syntax/storage/replication
fixed SOURCE field of .frm


mysql-test/r/func_in.result:
  definer information added to CREATE VIEW
mysql-test/r/lowercase_view.result:
  definer information added to CREATE VIEW
mysql-test/r/mysqldump.result:
  definer information added to CREATE VIEW
mysql-test/r/rpl_view.result:
  check log of queries
mysql-test/r/skip_grants.result:
  --skip-grants do not allow use user information
mysql-test/r/sql_mode.result:
  definer information added to CREATE VIEW
mysql-test/r/temp_table.result:
  definer information added to CREATE VIEW
mysql-test/r/view.result:
  definer information added to CREATE VIEW
  test of storing/restoring definer information
mysql-test/r/view_grant.result:
  test of grant check of definer information
  definer information added to CREATE VIEW
mysql-test/t/rpl_view.test:
  check log of queries
mysql-test/t/skip_grants.test:
  --skip-grants do not allow use user information
mysql-test/t/view.test:
  test of storing/restoring definer information
mysql-test/t/view_grant.test:
  test of grant check of definer information
sql/mysql_priv.h:
  CREATE/ALTER VIEW print support
  set current user as definer procedure
sql/share/errmsg.txt:
  new errors/warnings
sql/sql_acl.cc:
  make find_acl_user public to allow to check user
sql/sql_acl.h:
  make find_acl_user public to allow to check user
sql/sql_lex.h:
  storing definer information
sql/sql_parse.cc:
  send CREATE/ALTER VIEW for replication with full list of options
  set current user as definer procedure
sql/sql_show.cc:
  new CREATE VIEW options printed
sql/sql_view.cc:
  check of definer clause
  changes in .frm file
  definer information storage support
  now we store only original SELECT in SOURCE field of .frm
sql/sql_yacc.yy:
  definer information sintax support
  getting SOURCE field information for .frm
sql/table.h:
  definer information storage
2005-09-14 10:53:09 +03:00
unknown
8002f008e9 added replication of VIEW DDL commands (BUG#4838)
sql/sql_acl.cc:
  filling privileges for slave thread fixed
sql/sql_parse.cc:
  added writing to binary log view DDL commands
2005-01-17 01:18:08 +02:00