1. 28 Jun, 2006 1 commit
    • unknown's avatar
      BUG #19773 · 341ff742
      unknown authored
        
      Final-review fixes per Monty, pre-push. OK'd for 
      push. Please see each file's comments.
      
      
      
      mysql-test/r/federated.result:
        BUG #19773
            
        Results for multi-table deletes, updates
      mysql-test/t/federated.test:
        BUG #19773
            
        Test multi table update and delete. Added drop table to end of previous test.
      sql/ha_federated.cc:
        BUG #19773 
            
        Post-review changes, per Monty. 3rd patch, OK'd for push.
        - Added index_read_idx_with_result_set, which uses the result set passed to it
        - Hash by entire connection scheme
        - Protected store_result result set for table scan by adding a method result set
          to index_read_idx and index_read which is passed to index_read_with_result, which
          in turn iterates over the single record via read_next.
          This is a change from having two result sets in the first two patches. 
          This keeps the code clean and avoids the need for yet another result set.
        - Rewrote ::position and ::rnd_pos to store position - if primary key use 
          primary key, if not, use record buffer.
        - Rewrote get_share to store hash with connect string vs. table name
        - delete_row added subtration of "records" by affected->rows
        - Added read_next to handle what rnd_next used to do (converting raw record
           to query and vice versa)
        - Removed many DBUG_PRINT lines
        - Removed memset initialisation since subsequent loop accomplishes
        - Removed un-necessary mysql_free_result lines
      sql/ha_federated.h:
         BUG #19773
            
            Fixed "SET " to " SET " to make sure built statements are built with 
            "UPDATE `t1` SET .." instead of "UPDATE `t1`SET"
      341ff742
  2. 22 Jun, 2006 1 commit
  3. 21 Jun, 2006 1 commit
  4. 15 Jun, 2006 1 commit
  5. 07 Jun, 2006 1 commit
    • unknown's avatar
      BUG#12982 - LOAD DATA fails without any error for big files with big · dc934844
      unknown authored
                  read buffer
      Setting read buffer to values greater than SSIZE_MAX results in
      unexpected behavior.
      
      According to read(2) manual:
      If count is greater than SSIZE_MAX, the result is unspecified.
      
      Set upper limit for read_buffer_size and read_rnd_buffer_size to
      SSIZE_MAX.
      
      
      include/my_global.h:
        Define SSIZE_MAX if not defined.
      sql/mysqld.cc:
        Set upper limit for read_buffer_size and read_rnd_buffer_size to
        SSIZE_MAX.
      dc934844
  6. 31 May, 2006 5 commits
    • unknown's avatar
      Merge mysql.com:/home/mydev/mysql-5.0 · cc6a2505
      unknown authored
      into  mysql.com:/home/mydev/mysql-5.0-bug19604
      
      cc6a2505
    • unknown's avatar
      Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment · 556defaf
      unknown authored
      CHECK TABLE did temporarily clear the auto_increment value.
      It runs with a read lock, allowing other readers and
      conurrent INSERTs. The latter could grab the wrong value
      in this moment.
      
      CHECK TABLE does no longer modify the auto_increment value.
      Not even for a short moment.
      
      
      myisam/mi_check.c:
        Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
        In chk_key() and update_auto_increment_key() in the repair_only
        case, do not touch info->s->state.auto_increment. Especially
        chk_key() can be called from CHECK TABLE with a read lock.
        Concurrent inserts could grab a temporarily changed value.
        Added minor style fixes.
      myisam/mi_key.c:
        Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
        Changed update_auto_increment() to retrieve_auto_increment()
        to reflect that it does not change the auto_increment by
        itself any more. This must now be done externally if needed.
      myisam/mi_update.c:
        Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
        Added explicit update of info->s->state.auto_increment
        after the change from update_auto_increment() to
        retrieve_auto_increment().
      myisam/mi_write.c:
        Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
        Added explicit update of info->s->state.auto_increment
        after the change from update_auto_increment() to
        retrieve_auto_increment().
      myisam/myisamdef.h:
        Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
        Changed update_auto_increment() to retrieve_auto_increment()
        to reflect that it does not change the auto_increment by
        itself any more. This must now be done externally if needed.
      556defaf
    • unknown's avatar
      Bug#12096 · 79712e00
      unknown authored
        "Add line for non-executable stack in .s files"
        Fix so that configure will use "--noexecstack" for assembler if gcc supports
        option and compiled C doesn't need executable stack.
      
      
      config/ac-macros/compiler_flag.m4:
        Bug#12096
          Add macro to check if "--noexecstack" should be used when compiling assembler
      configure.in:
        Bug#12096
          Add macro to check if "--noexecstack" should be used when compiling assembler
      strings/Makefile.am:
        Bug#12096
          Automake knows how to handle assembler
      79712e00
    • unknown's avatar
      Merge xiphis.org:/anubis/bk/mysql-5.0 · ecc1e618
      unknown authored
      into  xiphis.org:/home/antony/work2/p4-bug12096.1
      
      ecc1e618
    • unknown's avatar
      Bug#19648 · 4d079a5c
      unknown authored
        "Merge table does not work with bit types"
         MERGE should have HA_CAN_BIT_FIELD feature bit set or else table row is
         formatted incorrectly.
      
      
      mysql-test/r/merge.result:
        Bug#19648
          Test for fix
      mysql-test/t/merge.test:
        Bug#19648
          Test for fix
      sql/ha_myisammrg.h:
        Bug#19648
          Must have HA_CAN_BIT_FIELD for BIT type support
      4d079a5c
  7. 29 May, 2006 1 commit
    • unknown's avatar
      Bug#19815 - CREATE/RENAME/DROP DATABASE can deadlock on a global read lock · e1fb901b
      unknown authored
      The order of acquiring LOCK_mysql_create_db
      and wait_if_global_read_lock() was wrong. It could happen
      that a thread held LOCK_mysql_create_db while waiting for
      the global read lock to be released. The thread with the
      global read lock could try to administrate a database too.
      It would first try to lock LOCK_mysql_create_db and hang...
      
      The check if the current thread has the global read lock
      is done in wait_if_global_read_lock(), which could not be
      reached because of the hang in LOCK_mysql_create_db.
      
      Now I exchanged the order of acquiring LOCK_mysql_create_db
      and wait_if_global_read_lock(). This makes 
      wait_if_global_read_lock() fail with an error message for
      the thread with the global read lock. No deadlock happens.
      
      
      mysql-test/r/lock_multi.result:
        Bug#19815 - CREATE/RENAME/DROP DATABASE can deadlock on a global read lock
        The test result
      mysql-test/t/lock_multi.test:
        Bug#19815 - CREATE/RENAME/DROP DATABASE can deadlock on a global read lock
        The test case
      sql/sql_db.cc:
        Bug#19815 - CREATE/RENAME/DROP DATABASE can deadlock on a global read lock
        Exchanged the order of acquiring LOCK_mysql_create_db
        and wait_if_global_read_lock().
      e1fb901b
  8. 18 May, 2006 2 commits
  9. 17 May, 2006 4 commits
    • unknown's avatar
      Fixed bug#19077: A nested materialized derived table is used before being populated. · 5e38e2ce
      unknown authored
      The convert_constant_item() function converts constant items to ints on
      prepare phase to optimize execution speed. In this case it tries to evaluate
      subselect which contains a derived table and is contained in a derived table. 
      All derived tables are filled only after all derived tables are prepared.
      So evaluation of subselect with derived table at the prepare phase will
      return a wrong result.
      
      A new flag with_subselect is added to the Item class. It indicates that
      expression which this item represents is a subselect or contains a subselect.
      It is set to 0 by default. It is set to 1 in the Item_subselect constructor
      for subselects.
      For Item_func and Item_cond derived classes it is set after fixing any argument
      in Item_func::fix_fields() and Item_cond::fix_fields accordingly.
      The convert_constant_item() function now doesn't convert a constant item
      if the with_subselect flag set in it. 
      
      
      mysql-test/t/view.test:
        Added test case for bug#19077: A nested materialized derived table is used before being populated.
      mysql-test/t/subselect.test:
        Added test case for bug#19077: A nested materialized derived table is used before being populated.
      mysql-test/r/view.result:
        Added test case for bug#19077: A nested materialized derived table is used before being populated.
      mysql-test/r/subselect.result:
        Added test case for bug#19077: A nested materialized derived table is used before being populated.
      sql/item_subselect.cc:
        Fixed bug#19077: A nested materialized derived table is used before being populated.
        The Item_subselect class constructor sets new with_subselect flag to 1.
      sql/item_func.cc:
        Fixed bug#19077: A nested materialized derived table is used before being populated.
        
        The Item_func::fix_fields() sets new with_subselect flag from with_subselect flags of its arguments.
      sql/item_cmpfunc.cc:
        Fixed bug#19077: A nested materialized derived table is used before being populated.
        The convert_constant_item() function now doesn't convert a constant item
        with the with_subselect flag set.
        The Item_cond::fix_fields() sets new with_subselect flag from with_subselect flags of its arguments.
      sql/item.cc:
        Fixed bug#19077: A nested materialized derived table is used before being populated.
        Set new with_subselect flag to default value - 0 in the Item constructor.
      sql/item.h:
        Fixed bug#19077: A nested materialized derived table is used before being populated.
        A new flag with_subselect is added to the Item class. It indicates that
        expression which this item represents is a subselect or contains a subselect.
        It is set to 0 by default.
      5e38e2ce
    • unknown's avatar
    • unknown's avatar
      Include "config.h" (if it exists) in all yaSSL files via their "runtime.hpp". · d7d86f4f
      unknown authored
      Fixes bug#19040 "yaSSL does not compile on AIX".
      
      
      extra/yassl/taocrypt/include/runtime.hpp:
        Include "config.h" (if it exists) in all yaSSL files. This is needed to ensure the same 
        configure settings are used for yaSSL as for the other modules linked together.
        Example: the settings for "large file" on AIX.
        Fixes bug#19040 "yaSSL does not compile on AIX".
      d7d86f4f
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0 · 21689b64
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/bug18818/my50-bug18818
      
      21689b64
  10. 16 May, 2006 20 commits
  11. 15 May, 2006 3 commits