1. 11 Jan, 2008 3 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 783b6070
      unknown authored
      into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
      
      
      783b6070
    • unknown's avatar
      Bug#33728 Atomic builtins · 26af3c7e
      unknown authored
      Use compiler provided atomic builtins as a 'backend' for
      MySQL's atomic primitives. The builtins are available on
      a handful of platforms and compilers.
      
      
      configure.in:
        Check if the compiler provides atomic builtins and
        that __sync_lock_test_and_set stores the correct value.
      include/atomic/nolock.h:
        Use the atomic builtins if available.
      include/atomic/gcc_builtins.h:
        Implement the atomic ADD, SWAP, CAS, STORE (or operation
        optimized away) and LOAD primitives using atomic builtins
        provided by the compiler.
      26af3c7e
    • unknown's avatar
      Fixed faulty test case caused by race condition. · cedfe557
      unknown authored
      
      mysql-test/r/query_cache_debug.result:
        Fixed faulty test case.
      cedfe557
  2. 07 Jan, 2008 1 commit
    • unknown's avatar
      Fixed test layout error. · 44101143
      unknown authored
      
      mysql-test/r/query_cache.result:
        Moved test which requires debug binaries to a new file.
      mysql-test/t/query_cache.test:
        Moved test which requires debug binaries to a new file.
      mysql-test/r/query_cache_debug.result:
        Moved test which requires debug binaries to a new file.
      mysql-test/t/query_cache_debug.test:
        Moved test which requires debug binaries to a new file.
      44101143
  3. 03 Jan, 2008 2 commits
    • unknown's avatar
      Merge adventure.(none):/home/thek/Development/cpp/bug30887/my51-bug30887 · 8a824b67
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
      
      
      sql/sql_cache.cc:
        Auto merged
      8a824b67
    • unknown's avatar
      Bug#30887 Server crashes on SET GLOBAL query_cache_size=0 · a3561354
      unknown authored
      Reseting the query cache by issuing a SET GLOBAL query_cache_size=0 caused the server
      to crash if a the server concurrently was saving a new result set to the query cache. The
      reason for this was that the invalidation wasn't waiting on the result writers to
      release the block level locks on the query cache.
      
      
      mysql-test/r/query_cache.result:
        Added test for verifying that 'SET query_cache_size= 0' while inserting new
        statements into the query cache won't cause the  server to crash.
      mysql-test/t/query_cache.test:
        Added test for verifying that 'SET query_cache_size= 0' while inserting new
        statements into the query cache won't cause the  server to crash.
      sql/sql_cache.cc:
        - Applying a block level lock iteration of all query-type blocks prevents
         writers and readers from crashing when the query cache is removed.
      a3561354
  4. 20 Dec, 2007 2 commits
    • unknown's avatar
      Bug #29836 enable-pstack option appears even if --with-pstack is disabled · e5f1ceb4
      unknown authored
      Placed all pstack code inside of #ifdef's, so the options aren't displayed when not available.
      
      
      e5f1ceb4
    • 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
  5. 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
  6. 18 Dec, 2007 4 commits
  7. 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
  8. 15 Dec, 2007 5 commits
  9. 14 Dec, 2007 12 commits
  10. 13 Dec, 2007 3 commits
    • unknown's avatar
      Remove an unused argument of sql_update::do_updates(). · a6eec72e
      unknown authored
      
      sql/sql_class.h:
        Remove an unused argument.
      sql/sql_update.cc:
        Remove an unused argument.
      a6eec72e
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 68c6ff09
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
      
      
      68c6ff09
    • unknown's avatar
      Fix broken embedded build (broken by the patch for Bug#12713, first part). · 37a2c459
      unknown authored
      
      client/mysqltest.c:
        Remove a call to my_message() (server call) in case of a client error.
        It asserts in the embedded build now, since is called after send_ok().
      libmysqld/emb_qcache.cc:
        Use net_send_eof (embedded implementation) in embedded query cache/
        send result to client, since send_eof currently does not
        send anything.
      libmysqld/emb_qcache.h:
        Declare net_send_eof.
      libmysqld/lib_sql.cc:
        Fix the main loop of the embedded server to use the new Diagnostics_area
        API.
      sql/log.cc:
        Silence errors of open_performance_schema_table. This function
        is called for general logging, and it happens after the error
        has been sent to the client, and thus triggers an assert.
      storage/myisam/ha_myisam.cc:
        Remove an old hack that broke repair.test in embedded build:
        unless we clear an error here, the server attempts to send OK after
        ERROR. This currently asserts.
      37a2c459