1. 10 Oct, 2007 5 commits
  2. 09 Oct, 2007 3 commits
  3. 08 Oct, 2007 1 commit
  4. 07 Oct, 2007 1 commit
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · ded7fe7f
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
      
      
      mysql-test/include/mix1.inc:
        Auto merged
      mysql-test/r/create.result:
        Auto merged
      mysql-test/r/innodb_mysql.result:
        Auto merged
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      libmysql/libmysql.c:
        Manual merge.
      ded7fe7f
  5. 05 Oct, 2007 1 commit
    • unknown's avatar
      Fix for BUG#20550: Stored function: wrong RETURN type metadata · c215e78d
      unknown authored
      when used in a VIEW.
      
      The problem was that wrong function (create_tmp_from_item())
      was used to create a temporary field for Item_func_sp.
      
      The fix is to use create_tmp_from_field().
      
      
      mysql-test/r/sp.result:
        Update result file.
      mysql-test/t/sp.test:
        Add a test case for BUG#20550.
      sql/item_func.h:
        Add a getter for Item_func_sp::sp_result_field.
      sql/sql_select.cc:
        Use create_tmp_from_field() to create a temporary field
        for Item_func_sp.
      c215e78d
  6. 04 Oct, 2007 7 commits
    • unknown's avatar
      Bug#21587 FLUSH TABLES causes server crash when used with HANDLER statements · f5dd3491
      unknown authored
      This bug is a symptom of the way handler's tables are managed. The
      most different aspect, compared to the conventional behavior, is that
      the handler's tables are long lived, meaning that their lifetimes are
      not bounded by the duration of the command that opened them. For this
      effect the handler code uses its own list (handler_tables instead of
      open_tables) to hold open handler tables so that the tables won't be
      closed at the end of the command/statement. Besides the handler_tables
      list, there is a hash (handler_tables_hash) which is used to associate
      handler aliases to tables and to refresh the tables upon demand (flush
      tables).
      
      The current implementation doesn't work properly with refreshed tables
      -- more precisely when flush commands are issued by other initiators.
      This happens because when a handler open or read statement is being
      processed, the associated table has to be opened or locked and, for this
      matter, the open_tables and handler_tables lists are swapped so that the
      new table being opened is inserted into the handler_tables list. But when
      opening or locking the table, if the refresh version is different from the
      thread refresh version then all used tables in the open_tables list (now
      handler_tables) are refreshed. In the "refreshing" process the handler
      tables are flushed (closed) without being properly unlinked from the
      handler hash.
      
      The current implementation also fails to properly discard handlers of
      dropped tables, but this and other problems are going to be addressed
      in the fixes for bugs 31397 and 31409.
      
      The chosen approach tries to properly save and restore the table state
      so that no table is flushed during the table open and lock operations.
      The logic is almost the same as before with the list swapping, but with
      a working glue code.
      
      The test case for this bug is going to be committed into 5.1 because it
      requires a test feature only avaiable in 5.1 (wait_condition).
      
      
      sql/sql_handler.cc:
        Backup and reset the open_tables and handler_table lists when opening
        a new handler table and merge the opened table into the handler_tables
        list afterwards. When locking, do the same but possibly close the table
        if a refresh is pending.
      f5dd3491
    • unknown's avatar
      Merge trift2.:/MySQL/M50/push-5.0 · 03bef972
      unknown authored
      into  trift2.:/MySQL/M51/push-5.1
      
      
      storage/ndb/test/ndbapi/testScanFilter.cpp:
        Auto merged
      03bef972
    • unknown's avatar
      Merge trift2.:/MySQL/M50/mysql-5.0 · f4b6234c
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      f4b6234c
    • unknown's avatar
      Fix for BUG#31035: select from function, group by result crasher. · 4f14c13a
      unknown authored
      This actually, fix for the patch for bug-27354. The problem with
      the patch was that Item_func_sp::used_tables() was updated, but
      Item_func_sp::const_item() was not. So, for Item_func_sp, we had
      the following inconsistency:
        - used_tables() returned RAND_TABLE, which means that the item
          can produce "random" results;
        - but const_item() returned TRUE, which means that the item is
          a constant one.
      
      The fix is to change Item_func_sp::const_item() behaviour: it must
      return TRUE (an item is a constant one) only if a stored function
      is deterministic and each of its arguments (if any) is a constant
      item.
      
      
      mysql-test/r/sp.result:
        Update result file.
      mysql-test/t/sp.test:
        Add test cases for BUG-31035, BUG-31191, BUG-31226
      sql/item_func.cc:
        Make Item::const_item() be consistent with Item::used_tables().
      4f14c13a
    • unknown's avatar
      Merge production.mysql.com:/usersnfs/jperkin/bk/build/5.0 · a006263f
      unknown authored
      into  production.mysql.com:/usersnfs/jperkin/bk/build/5.1
      
      
      mysql-test/mysql-test-run.pl:
        Auto merged
      scripts/mysql_install_db.sh:
        Auto merged
      a006263f
    • unknown's avatar
      Merge production.mysql.com:/usersnfs/jperkin/bk/build/5.0 · 61e8c538
      unknown authored
      into  production.mysql.com:/usersnfs/jperkin/bk/bug-27692/5.0
      
      
      61e8c538
    • unknown's avatar
      Restore creation of test databases and the anonymous user which · 549cbcd5
      unknown authored
      were accidentally removed during a previous rototill of this
      code.  Fixes bug#27692.
        
      While it can be argued we should strive to provide a 'secure by
      default' installation, this happens to be the setup currently
      documented in the manual as the default, so defer changes that
      improve security out of the box to a co-ordinated effort later
      on.
        
      For now, make a note about the test databases and anonymous user
      in mysql_install_db and recommend that mysql_secure_installation
      be ran for users wishing to remove these defaults.
      
      [..re-commit of previously lost change..]
      
      
      scripts/mysql_system_tables_data.sql:
        Add anonymous accounts.
      scripts/mysql_install_db.sh:
        Point users at the mysql_secure_installation script.
      mysql-test/mysql-test-run.pl:
        Add a comment where removing anonymous users.
      549cbcd5
  7. 03 Oct, 2007 1 commit
    • unknown's avatar
      Bug#30992 Wrong implementation of pthread_mutex_trylock() · 662fb20f
      unknown authored
      It's not possible to use WaitForSingleObject to wait
      on a CRITICAL_SECTION, instead use the TryEnterCriticalSection function.
       - if "mutex" was already taken => return EBUSY
       - if "mutex" was aquired => return 0
      
      
      include/config-win.h:
        Make windows.h define TryEnterCriticalSection
      mysys/my_winthread.c:
        Use the TryEnterCriticalSection function to implement pthread_mutex_trylock
        Prevent recursive behaviour by looking at the RecursionCount variable
        in the CRITICAL_SECTION struct and return EBUSY from function if
        the mutex was already locked once.
      662fb20f
  8. 02 Oct, 2007 1 commit
    • unknown's avatar
      testScanFilter.cpp: · 019c20bf
      unknown authored
         Updated variable size arrays to use vector like Jonas did for 5.1 so that my build would not break
      
      
      ndb/test/ndbapi/testScanFilter.cpp:
         Updated variable size arrays to use vector like Jonas did for 5.1 so that my build would not break
      019c20bf
  9. 01 Oct, 2007 8 commits
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.1-build · 88f1ad8c
      unknown authored
      into  mysql.com:/home/kent/bk/make-install/mysql-5.1-build
      
      
      88f1ad8c
    • unknown's avatar
      make_binary_distribution.sh: · ebc5495f
      unknown authored
        Added special handling of "mysql_install_db" and "mysql.server" scripts,
        find executables relative to the current directory.
      
      
      scripts/make_binary_distribution.sh:
        Added special handling of "mysql_install_db" and "mysql.server" scripts,
        find executables relative to the current directory.
      ebc5495f
    • unknown's avatar
      Merge kindahl-laptop.dnsalias.net:/home/bk/b30992-mysql-5.0-rpl · 6a5c7fc3
      unknown authored
      into  kindahl-laptop.dnsalias.net:/home/bk/b30992-mysql-5.0-runtime
      
      
      include/my_pthread.h:
        Auto merged
      6a5c7fc3
    • unknown's avatar
      BUG#30992 (Wrong implementation of pthread_mutex_trylock()): · 2b9b71d0
      unknown authored
      Adding support for correct handling of pthread_mutex_trylock() on Win32
      systems as well as when using the safe mutexes. 
      
      
      include/my_pthread.h:
        Adding win_pthread_mutex_trylock() function as wrapper function for
        Windows implementation of pthread_mutex_trylock().
        
        Adding flag to safe_mutex_lock() that is shall not abort if the mutex
        is already locked and instead return EBUSY since this is the POSIX
        behaviour.
      mysys/my_winthread.c:
        Added Win32 wrappper function to handle pthread_mutex_trylock().
      mysys/thr_mutex.c:
        Added parameter 'try_lock' to safe_mutex_lock() to allow it to do double-
        duty as a pthread_mutex_trylock() in addition to working as
        pthread_mutex_lock().
        
        The code needs to return EBUSY instead of throwing an error in the event
        that the mutex is re-locked (we do not have recursive mutexes), but it
        also requires some special handling to avoid race conditions when
        calling the real pthread_mutex_{lock,trylock}().
      2b9b71d0
    • unknown's avatar
      BUG#30472: libmysql doesn't reset charset, insert_id after · 11476cfc
      unknown authored
      succ. mysql_change_user() call.
      
      Use 2 bytes for character set number.
      
      
      11476cfc
    • unknown's avatar
      Merge trift2.:/MySQL/M50/push-5.0 · 0247dc1f
      unknown authored
      into  trift2.:/MySQL/M51/push-5.1
      
      
      configure.in:
        5.0 version change does not affect 5.1 - "use local".
      0247dc1f
    • unknown's avatar
      Merge trift2.:/MySQL/M50/mysql-5.0 · c8cb61be
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      c8cb61be
    • unknown's avatar
      Fix bug#31150 "Test case does not cleanup": · 90a23c96
      unknown authored
      Add the cleanup by dropping the database 'track' in test "rpl_bug31076".
      
      
      mysql-test/suite/rpl/r/rpl_bug31076.result:
        Fix bug#31150 "Test case does not cleanup":
        Drop the database 'track' which was newly created for this test.
      mysql-test/suite/rpl/t/rpl_bug31076.test:
        Fix bug#31150 "Test case does not cleanup":
        Drop the database 'track' which was newly created for this test.
      90a23c96
  10. 30 Sep, 2007 1 commit
  11. 29 Sep, 2007 7 commits
  12. 28 Sep, 2007 4 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · ee7f61ab
      unknown authored
      into  station.:/mnt/raid/alik/MySQL/devel/bug-30472/5.1-rt-bug30472
      
      
      ee7f61ab
    • unknown's avatar
      Post-merge fix for Bug 21136, initial merge missed the modifications for · 3c66a859
      unknown authored
      the sql_class.h file.
      
      
      sql/sql_class.h:
        Add pointers for holding lock data for temporary tables.
      3c66a859
    • unknown's avatar
      Bug#21136 CREATE TABLE SELECT within CREATE TABLE SELECT causes server crash · 6e668b4f
      unknown authored
      When CREATE TEMPORARY TABLE .. SELECT is invoked from a stored function
      which in turn is called from CREATE TABLE SELECT causes a memory leak
      because the inner create temporary table overrides the outter extra_lock
      reference when locking the table.
      
      The solution is to simply not overrride the extra_lock by only using the
      extra_lock for a non-temporary table lock.
      
      
      mysql-test/r/create.result:
        Add test case result for Bug#21136
      mysql-test/t/create.test:
        Add test case for Bug#21136
      sql/sql_insert.cc:
        For temporary tables, store the lock data within the select_create class
        since tmp tables contents are not replicated. For "real" tables, store
        the lock data in the thread extra_lock pointer.
      6e668b4f
    • unknown's avatar
      Patch for BUG#30472: libmysql doesn't reset charset, · 20b08f47
      unknown authored
      insert_id after succ. mysql_change_user() call.
      
      See also WL 4066.
        
      This bug reveals two problems:
        - the problem on the client side which was described originally;
        - the problem in protocol / the server side: connection context
          on client and server should be like after mysql_real_connect()
          and be consistent. The server however just resets character
          set variables to the global defaults.
      
      The fix seems to be as follows:
        - extend the protocol so that the client be able to send
          character set information in COM_CHANGE_USER command;
        - change the server so that it understands client character set
          in the command;
        - change the client:
          - reset character set to the default value (which has been
            read from the configuration);
          - send character set in COM_CHANGE_USER command.
      
      
      client/client_priv.h:
        Declare a function, used in libmysql.c and client.c.
      libmysql/libmysql.c:
        1. Reset character set on the client in mysql_change_user().
        2. Send character set to the server in COM_CHANGE_USER command.
      mysql-test/t/mysql_client_test.test:
        mysql_client_test.log is used by the test suite.
        
        Use mysql_client_test.out.log to collect mysql_client_test
        real output.
      sql/sql_parse.cc:
        Switch character set in COM_CHANGE_USER.
      tests/mysql_client_test.c:
        Test case for BUG#30472.
      20b08f47