1. 30 Jan, 2007 2 commits
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 7687a272
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.0-21904
      
      
      mysql-test/r/subselect.result:
        Auto merged
      mysql-test/t/subselect.test:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/item_subselect.h:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      7687a272
    • unknown's avatar
      Bug#21904 (parser problem when using IN with a double "(())") · a1e20e04
      unknown authored
      Before this fix, a IN predicate of the form: "IN (( subselect ))", with two
      parenthesis, would be evaluated as a single row subselect: if the subselect
      returns more that 1 row, the statement would fail.
      
      The SQL:2003 standard defines a special exception in the specification,
      and mandates that this particular form of IN predicate shall be equivalent
      to "IN ( subselect )", which involves a table subquery and works with more
      than 1 row.
      
      This fix implements "IN (( subselect ))", "IN ((( subselect )))" etc
      as per the SQL:2003 requirement.
      
      All the details related to the implementation of this change have been
      commented in the code, and the relevant sections of the SQL:2003 spec
      are given for reference, so they are not repeated here.
      
      Having access to the spec is a requirement to review in depth this patch.
      
      
      mysql-test/r/subselect.result:
        Implement IN predicate special exceptions with subselects.
      mysql-test/t/subselect.test:
        Implement IN predicate special exceptions with subselects.
      sql/item_subselect.cc:
        Implement IN predicate special exceptions with subselects.
      sql/item_subselect.h:
        Implement IN predicate special exceptions with subselects.
      sql/sql_yacc.yy:
        Implement IN predicate special exceptions with subselects, cleanup.
      a1e20e04
  2. 25 Jan, 2007 3 commits
    • unknown's avatar
      Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0 · 74ac969d
      unknown authored
      into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0-bug23527
      
      
      sql/sql_cache.cc:
        Auto merged
      74ac969d
    • unknown's avatar
      BUG#23527: set global query_cache_size can crash the server under · ef013268
      unknown authored
                 high load
      
      MySQL server could crash if two or more threads would initiate query
      cache resize at the moments very close in time.
      
      The problem was introduced with the fix of bug 21051 in 5.0 and 5.1:
      simultaneous query cache resizes would wait for the first one in
      progress, but then each thread would try to finish the operation,
      accessing the data that was already reset (attempt to dereference
      'bins' pointer, which may be NULL already).
      
      The solution is to check after synchronization if another thread has
      done the reset already (test 'query_cache_size > 0' again).
      
      No test case is provided because the bug is a subject to a race.
      
      
      sql/sql_cache.cc:
        We release 'structure_guard_mutex' in flush_cache(), so after the
        call we check if another thread had reset the cache before us.
      ef013268
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · ea41474b
      unknown authored
      into  mockturtle.local:/home/dlenev/src/mysql-5.0-merge
      
      
      ea41474b
  3. 24 Jan, 2007 16 commits
  4. 23 Jan, 2007 12 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines · 1f4d8ba0
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-bug24607
      
      
      mysql-test/r/myisam.result:
        Auto merged
      mysql-test/t/myisam.test:
        Auto merged
      1f4d8ba0
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines · 4bec8b03
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-bug24607
      
      
      mysql-test/r/myisam.result:
        Auto merged
      mysql-test/t/myisam.test:
        Auto merged
      4bec8b03
    • unknown's avatar
      Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb · 964f502c
      unknown authored
      into  clam.ndb.mysql.com:/export/space/pekka/ndb/version/my50-ndb
      
      
      964f502c
    • unknown's avatar
      Merge willster.(none):/home/stewart/Documents/MySQL/5.0/ndb · a7174850
      unknown authored
      into  willster.(none):/home/stewart/Documents/MySQL/5.0/bug25487
      
      
      a7174850
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 5f544ed0
      unknown authored
      into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg24491
      
      
      sql/item.h:
        Auto merged
      mysql-test/r/ps.result:
        Manual merge.
      mysql-test/t/ps.test:
        Manual merge.
      5f544ed0
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-4.1-engines · 2244a361
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-5.0-engines
      
      
      myisam/mi_open.c:
        Auto merged
      2244a361
    • unknown's avatar
      Proposed fix for bug#24491 "using alias from source table in insert ... · 1dead07d
      unknown authored
      on duplicate key".
      
      INSERT ... SELECT ... ON DUPLICATE KEY UPDATE which was used in
      stored routine or as prepared statement and which in its ON DUPLICATE
      KEY clause erroneously tried to assign value to a column mentioned only
      in its SELECT part was properly emitting error on the first execution
      but succeeded on the second and following executions.
      
      Code which is responsible for name resolution of fields mentioned in
      UPDATE clause (e.g. see select_insert::prepare()) modifies table list
      and Name_resolution_context used in this process. It uses
      Name_resolution_context_state::save_state/restore_state() to revert
      these modifications. Unfortunately those two methods failed to revert
      properly modifications to TABLE_LIST::next_name_resolution_table
      and this broke name resolution process for successive executions.
      
      This patch fixes Name_resolution_context_state::save_state/restore_state()
      in such way that it properly handles TABLE_LIST::next_name_resolution_table.
      
      
      mysql-test/r/ps.result:
        Added test case for bug#24491 "using alias from source table in insert ...
        on duplicate key"
      mysql-test/r/sp-error.result:
        Added test case for bug#24491 "using alias from source table in insert ...
        on duplicate key"
      mysql-test/t/ps.test:
        Added test case for bug#24491 "using alias from source table in insert ...
        on duplicate key"
      mysql-test/t/sp-error.test:
        Added test case for bug#24491 "using alias from source table in insert ...
        on duplicate key"
      sql/item.h:
        Name_resolution_context::save_state/restore_state():
          At the moment these methods are used only by code implementing
          INSERT and INSERT ... SELECT statements. This code doesn't modify
         'next_name_resolution_table' member of table list element
          corresponding to the first table of SELECT clause (pointed by
          'first_name_resolution_table'). But it modifies table list element
          corresponding to the target table of INSERT (pointed by 'table_list')
          So these methods were changed to reflect this.
      1dead07d
    • unknown's avatar
      ndb - bug#25562 use byte-size max_data_length() when setting blob part size · 25fb32ef
      unknown authored
      
      sql/ha_ndbcluster.cc:
        bug#25562 use byte-size max_data_length() when setting blob part size
      25fb32ef
    • unknown's avatar
      round up Transporter connect timeout · 68ab0996
      unknown authored
      
      ndb/src/common/transporter/Transporter.cpp:
        change so timeout is rounded up to nearest second
      68ab0996
    • unknown's avatar
      Bug #25487 deleting ndb_cluster_connection object takes long time · 8deeb2f9
      unknown authored
        
        aim is to:
        a) if set_connect_timeout called, timeout connect attempt (for retry on
        next call) after timeout period
        b) preserve existing blocking behaviour otherwise (for, e.g. mgmapi)
        
        Related to customer issue with long time deleting ndb_cluster_connection
        object. believe we're hanging on the connect(2) call until timeout (when
        we then realise we should exit the thread).
      
      
      ndb/include/mgmapi/mgmapi.h:
        add ndb_mgm_set_connect_timeout
      ndb/include/util/SocketClient.hpp:
        add timeout (seconds) for max time to wait for connection
      ndb/src/common/transporter/Transporter.cpp:
        set limit on amount of time we'll wait for tcp connect
      ndb/src/common/util/SocketClient.cpp:
        only try to connect for a maximum of timeout time
      ndb/src/mgmapi/mgmapi.cpp:
        add ndb_mgm_set_connect_timeout
      8deeb2f9
    • unknown's avatar
      ndb - bug#22013 · ab8355fa
      unknown authored
          Fix bug in event handling wrt early node shutdown
      
      
      ndb/src/mgmsrv/MgmtSrvr.cpp:
        Fix bug in event handling wrt early node shutdown
      ndb/src/ndbapi/ClusterMgr.cpp:
        Fix reportNodeFailed if only connected wo/ having received any API_REGCONF
      ndb/src/ndbapi/ClusterMgr.hpp:
        Fix reportNodeFailed if only connected wo/ having received any API_REGCONF
      ndb/src/ndbapi/SignalSender.cpp:
        Fix memleak
      ab8355fa
    • unknown's avatar
      bug#25746 ndb: 4209 error with 2 VARCHAR primary keys · 188899cd
      unknown authored
      - post review changes
      
      
      188899cd
  5. 22 Jan, 2007 7 commits