1. 20 Dec, 2007 1 commit
    • unknown's avatar
      A pre-requisite for the fix for Bug#12713 "Error in a stored function · 0fbc29c1
      unknown authored
      called from a SELECT doesn't cause ROLLBACK of state"
      Make private all class handler methods (PSEA API) that may modify
      data. Introduce and deploy public ha_* wrappers for these methods in 
      all sql/.
      This necessary to keep track of all data modifications in sql/,
      which is in turn necessary to be able to optimize two-phase
      commit of those transactions that do not modify data.
      
      
      sql/ha_partition.cc:
        Class ha_partition is no longer a friend of class handler.
        Use the public handler interface (handler::ha_ methods) for partition
        operations.
        Remove unnecessary casts from char[] to const char *.ppзи выафвыаafa
      sql/handler.cc:
        Function ha_create_table() is no longer a friend of class handler.
        Use public handler::change_table_ptr() to access private members.
        This fixes a subtle bug (no test case in the test suite) when a
        deletion error occurs inside one partition of a partitioned engine. 
        The old code would crash in handler::print_error() in this case.
        
        Implement the newly introduced public ha_* wrappers of the private
        virtual handler methods.
      sql/handler.h:
        Introduce ha_* wrappers to all class handler methods that may
        modify data. This is necessary to be able to keep track of
        data modifying operations of class handler and optimize read-only
        transactions.
      sql/item_sum.cc:
        delete_all_rows -> ha_delete_all_rows
      sql/sql_base.cc:
        Use the new public wrappers.
      sql/sql_delete.cc:
        delete_all_rows -> ha_delete_all_rows
      sql/sql_partition.cc:
        Use the new public wrappers.
      sql/sql_select.cc:
        delete_all_rows -> ha_delete_all_rows
        delete_table -> ha_delete_table
        disabe_indexes -> ha_disable_idnexes
      sql/sql_show.cc:
        delete_all_rows -> ha_delete_all_rows
      sql/sql_table.cc:
        Use the public wrappers for class handler DDL methods.
        All methods which may change handler data are now accessed via a public
        wrapper.
      sql/sql_union.cc:
        delete_all_rows -> ha_delete_all_rows
        {enable,disable}_indexes -> ha_{enable,disable}_indexes
      sql/sql_update.cc:
        bulk_update_row -> ha_bulk_update_row
      sql/unireg.cc:
        create_handler_files -> ha_create_handler_files
      0fbc29c1
  2. 19 Dec, 2007 7 commits
    • unknown's avatar
      Merge mysql.com:/Users/davi/mysql/bugs/28317-5.1 · 5473858b
      unknown authored
      into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
      
      
      sql/sql_yacc.yy:
        Auto merged
      5473858b
    • unknown's avatar
      Bug#28317 Left Outer Join with {oj outer-join} · 660e91b1
      unknown authored
      Parser rejects ODBC's escape sequences for outer joins other
      than left outer join, yet the escape sequence BNF specifies
      that this syntax can be used for left, right, and full outer
      join syntax.
      
      The problem is that although the MySQL Connector/ODBC advertises
      "Outer Join Escape Sequence" capabilities, the parsing is done
      in the server and historically it only supported this syntax
      for left outer joins and applications such as Crystal Reports
      11 tries to use this syntax for inner joins.
      
      The chosen solution is to reorganize a couple of parser rules
      to ignore any kind of SQL escape sequence. Ignoring the escape
      sequences is harmless because the various SQL join clauses
      are supported by the server.
      
      
      mysql-test/r/parser.result:
        Add test case result for Bug#28317
      mysql-test/t/parser.test:
        Add test case for Bug#28317
      sql/sql_yacc.yy:
        Reorganize rules in order to ignore SQL Escape Sequences
      660e91b1
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 62e111e6
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
      
      
      sql/sql_table.cc:
        Auto merged
      62e111e6
    • unknown's avatar
      Make handler::{write,delete,update}_row private. It's critical · 226700ee
      unknown authored
      that the entire server uses their public ha_* counterparts instead,
      since only then we can ensure proper tracing of these calls that
      is necessary for Bug#12713.
      A pre-requisite for Bug#12713 "Error in a stored function called from 
      a SELECT doesn't cause ROLLBACK of statem"
      
      
      sql/ha_partition.cc:
        Use ha_write_row, ha_update_row, ha_delete_row instead of now-private
        write_row, update_row, delete_row. 
        In future ha_* calls will contain more than just a call to the binary
        log, so it's essential they are used consistently everywhere in the server.
        
        Disable the undesired effect of double binary logging of changes
        to partitioned tables with tmp_disable_binlog.
      sql/handler.h:
        Make write_row, update_row, delete_row private. It's critical
        that the entire code base uses ha_write_row, ha_update_row, ha_delete_row
        instead -- in future, ha_* counterparts will have more common
        functionality than just a call to the binary log.
      sql/sql_select.cc:
        Use ha_write_row, ha_update_row, ha_delete_row instead of
        write_row, update_row, delete_row respectively. 
        The change affects the join execution code that works with an
        intermediate internal temporary table. Do not disable binary logging,
        since it's unnecessary - temporary tables are not replicated
        by row level replication.
      sql/sql_table.cc:
        Use ha_write_row in copy_data_between_tables - the function
        that writes data from the original table to a temporary copy
        when executing ALTER TABLE. Do not disable binary logging
        since temporary tables are not replicated by row level 
        replication anyway.
      226700ee
    • unknown's avatar
      SHOW_VAR arrays are null-terminated :-[] · 25fa7692
      unknown authored
      25fa7692
    • unknown's avatar
      Followup for bug#30252. · 604b3982
      unknown authored
      Ensure that all SQLCOM_ constants have corresponding Com_ variables.
      
      
      mysql-test/r/status.result:
        Tests updated.
      sql/mysqld.cc:
        Followup for bug#30252.
        Rename few variables to match SQL syntax.
        Ensure that all SQLCOM_ constants have corresponding Com_ variables.
      604b3982
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 881b405d
      unknown authored
      into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
      
      
      881b405d
  3. 18 Dec, 2007 4 commits
  4. 17 Dec, 2007 1 commit
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · 99a5f6e9
      unknown authored
      into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
      
      
      mysql-test/lib/mtr_report.pl:
        Auto merged
      mysql-test/t/disabled.def:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      99a5f6e9
  5. 15 Dec, 2007 5 commits
  6. 14 Dec, 2007 12 commits
  7. 13 Dec, 2007 10 commits