1. 22 Aug, 2006 2 commits
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0 · b5cbed72
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21051-2
      
      
      include/mysql_com.h:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      b5cbed72
    • unknown's avatar
      BUG#21051: RESET QUERY CACHE very slow when query_cache_type=0 · 877477f1
      unknown authored
      There were two problems: RESET QUERY CACHE took a long time to complete
      and other threads were blocked during this time.
      
      The patch does three things:
        1 fixes a bug with improper use of test-lock-test_again technique.
            AKA Double-Checked Locking is applicable here only in few places.
        2 Somewhat improves performance of RESET QUERY CACHE.
            Do my_hash_reset() instead of deleting elements one by one.  Note
            however that the slowdown also happens when inserting into sorted
            list of free blocks, should be rewritten using balanced tree.
        3 Makes RESET QUERY CACHE non-blocking.
            The patch adjusts the locking protocol of the query cache in the
            following way: it introduces a flag flush_in_progress, which is
            set when Query_cache::flush_cache() is in progress.  This call
            sets the flag on enter, and then releases the lock.  Every other
            call is able to acquire the lock, but does nothing if
            flush_in_progress is set (as if the query cache is disabled).
            The only exception is the concurrent calls to
            Query_cache::flush_cache(), that are blocked until the flush is
            over.  When leaving Query_cache::flush_cache(), the lock is
            acquired and the flag is reset, and one thread waiting on
            Query_cache::flush_cache() (if any) is notified that it may
            proceed.
      
      
      include/mysql_com.h:
        Add comment for NET::query_cache_query.
      sql/net_serv.cc:
        Use query_cache_init_query() for initialization of
        NET::query_cache_query if query cache is used.
        Do not access net->query_cache_query without a lock.
      sql/sql_cache.cc:
        Fix bug with accessing query_cache_size, Query_cache_query::wri and
        thd->net.query_cache_query before acquiring the lock---leave
        double-check locking only in safe places.
        Wherever we check that cache is usable (query_cache_size > 0) we now
        also check that flush_in_progress is false, i.e. we are not in the
        middle of cache flush.
        Add Query_cache::not_in_flush_or_wait() method and use it in
        Query_cache::flush_cache(), so that threads doing cache flush will
        wait it to finish, while other threads will bypass the cache as if
        it is disabled.
        Extract Query_cache::free_query_internal() from Query_cache::free_query(),
        which does not removes elements from the hash, and use it together with
        my_hash_reset() in Query_cache::flush_cache().
      sql/sql_cache.h:
        Add declarations for new members and methods.
        Make is_cacheable() a static method.
        Add query_cache_init_query() function.
      sql/sql_class.cc:
        Use query_cache_init_query() for initialization of
        NET::query_cache_query.
      877477f1
  2. 21 Aug, 2006 2 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · e84fd6df
      unknown authored
      into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg21216-2
      
      
      e84fd6df
    • unknown's avatar
      Fix for bug#21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES causes · 8daf4e83
      unknown authored
      server to crash".
      
      Crash caused by assertion failure happened when one ran SHOW OPEN TABLES
      while concurrently doing DROP TABLE (or RENAME TABLE, CREATE TABLE LIKE
      or any other command that takes name-lock) in other connection.
      For non-debug version of server problem exposed itself as wrong output
      of SHOW OPEN TABLES statement (it was missing name-locked tables).
      Finally in 5.1 both debug and non-debug versions simply crashed in
      this situation due to NULL-pointer dereference.
      
      This problem was caused by the fact that table placeholders which were
      added to table cache in order to obtain name-lock had TABLE_SHARE::table_name
      set to 0. Therefore they broke assumption that this member is non-0 for
      all tables in table cache which was checked by assert in list_open_tables()
      (in 5.1 this function simply relies on it).
      The fix simply sets this member for such placeholders to appropriate value
      making this assumption true again.
      
      This patch also includes test for similar bug 12212 "Crash that happens
      during removing of database name from cache" reappeared in 5.1 as bug 19403.
      
      
      mysql-test/r/drop.result:
        Added test for bug#21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES
        causes server to crash" and bug#12212/19403 "Crash that happens during
        removing of database name from cache".
      mysql-test/t/drop.test:
        Added test for bug#21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES
        causes server to crash" and bug#12212/19403 "Crash that happens during
        removing of database name from cache".
      sql/lock.cc:
        lock_table_name():
          Our code assumes that TABLE_SHARE::table_name for objects in table cache
          is non-NULL (for example look at assertion in list_open_tables()). This
          was not true for table placeholders that were added to table cache for
          name-locking. So let us set this member for such placeholders.
      8daf4e83
  3. 19 Aug, 2006 1 commit
    • unknown's avatar
      WL#3432 (Compile the Parser with a --debug --verbose option) · cd2c9eec
      unknown authored
      Corrected build issues : the build can not be conditional.
      to keep a unique source .tar.gz distribution.
      
      
      configure.in:
        Rolling back previous change
      sql/Makefile.am:
        Partially rolling back previous change.
        The build has to be unconditional, for the source .tar.gz distribution
      sql/mysql_priv.h:
        WL#3432 (Compile the Parser with a --debug --verbose option)
      sql/sql_parse.cc:
        WL#3432 (Compile the Parser with a --debug --verbose option)
        
        Moved turn_parser_debug_on to sql_yacc.yy
      sql/sql_yacc.yy:
        WL#3432 (Compile the Parser with a --debug --verbose option)
        
        Moved turn_parser_debug_on to sql_yacc.yy
      cd2c9eec
  4. 17 Aug, 2006 1 commit
    • unknown's avatar
      WL#3432 (Compile the Parser with a --debug --verbose option) · dec9116f
      unknown authored
      Changed the automake build process :
      - ./configure.in
      - ./sql/Makefile.am
      to compile an instrumented parser for debug=yes or debug=full builds
      
      Changed the (primary) runtime invocation of the parser :
      - sql/sql_parse.cc
      to generate bison traces in stderr when the DBUG "parser_debug" flag is set.
      
      
      configure.in:
        WL#3432 (Compile the Parser with a --debug --verbose option)
        
        New Automake condition : MYSQL_CONF_DEBUG
      sql/Makefile.am:
        WL#3432 (Compile the Parser with a --debug --verbose option)
        
        In Debug mode, compile sql_yacc.yy with --debug --verbose
      sql/sql_parse.cc:
        WL#3432 (Compile the Parser with a --debug --verbose option)
        
        Conditionally turn the bison parser debug on at runtime.
      dec9116f
  5. 15 Aug, 2006 1 commit
  6. 02 Aug, 2006 15 commits
    • unknown's avatar
      Disable a failing test case (filed a p1 bug) · 3c8150b7
      unknown authored
      3c8150b7
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · e44e344c
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge
      
      
      sql/item.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/table.h:
        Auto merged
      mysql-test/r/sp.result:
        Manual merge.
      mysql-test/r/udf.result:
        Manual merge.
      mysql-test/t/sp.test:
        Manual merge.
      mysql-test/t/udf.test:
        Manual merge.
      e44e344c
    • unknown's avatar
      A post-merge fix. · a0efaba3
      unknown authored
      a0efaba3
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 1cf65f31
      unknown authored
      into  moonbone.local:/work/tmp_merge-5.0-opt-mysql
      
      
      client/mysql.cc:
        Auto merged
      1cf65f31
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1 · a5812433
      unknown authored
      into  moonbone.local:/work/tmp_merge-5.0-opt-mysql
      
      
      mysql-test/r/ps_1general.result:
        Auto merged
      mysql-test/t/ps_1general.test:
        Auto merged
      a5812433
    • unknown's avatar
      Merge moonbone.local:/work/tmp_merge-4.1-opt-mysql · 0825bad9
      unknown authored
      into  moonbone.local:/work/tmp_merge-5.0-opt-mysql
      
      
      mysql-test/Makefile.am:
        Auto merged
      scripts/make_win_src_distribution.sh:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      client/mysqltest.c:
        Manual merge
      0825bad9
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0 · c102fe94
      unknown authored
      into  moonbone.local:/work/tmp_merge-5.0-opt-mysql
      
      
      client/mysql.cc:
        Auto merged
      mysql-test/r/date_formats.result:
        Auto merged
      mysql-test/r/func_str.result:
        Auto merged
      mysql-test/t/date_formats.test:
        Auto merged
      mysql-test/t/func_str.test:
        Auto merged
      mysql-test/t/udf.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/field.h:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/time.cc:
        Auto merged
      mysql-test/r/sp.result:
        Manual merge
      mysql-test/t/sp.test:
        Manual merge
      c102fe94
    • unknown's avatar
      Merge moonbone.local:/work/tmp_merge-4.1 · 328e8c74
      unknown authored
      into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
      
      
      328e8c74
    • unknown's avatar
      Merge moonbone.local:/work/tmp_merge-4.1 · 84ece59c
      unknown authored
      into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
      
      
      sql/item_strfunc.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      84ece59c
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-4.1 · 504e3756
      unknown authored
      into  mysql.com:/home/hf/work/mysql-4.1.20317
      
      
      504e3756
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · f3919e92
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge
      
      
      include/mysql.h:
        Auto merged
      include/sql_common.h:
        Auto merged
      libmysql/libmysql.c:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/r/mysqldump.result:
        Auto merged
      mysql-test/t/udf.test:
        Auto merged
      ndb/src/mgmsrv/ConfigInfo.cpp:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sp.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql-common/client.c:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/table.h:
        Auto merged
      mysql-test/r/ps.result:
        Manual merge.
      mysql-test/r/sp.result:
        Manual merge.
      mysql-test/t/ps.test:
        Manual merge.
      mysql-test/t/sp.test:
        Manual merge.
      sql/sql_prepare.cc:
        Manual merge.
      sql/table.cc:
        Manual merge.
      tests/mysql_client_test.c:
        Manual merge.
      f3919e92
    • unknown's avatar
      Merge grichter@bk-internal.mysql.com:/home/bk/mysql-5.0 · ed19079c
      unknown authored
      into  lmy002.wdf.sap.corp:/home/georg/work/mysql/prod/mysql-5.0
      
      
      ed19079c
    • unknown's avatar
      Fix a compilation failiure on QNX · cb6e70a5
      unknown authored
      
      sql/udf_example.c:
        Declare tmp_error at the beginning of the block (this is C now)
      cb6e70a5
    • unknown's avatar
      Bug #21396: Wrong error number generated for a missing table · a29f10e8
      unknown authored
      
      BitKeeper/etc/collapsed:
        BitKeeper file /home/georg/work/mysql/prod/mysql-5.0/BitKeeper/etc/collapsed
      mysys/my_open.c:
        Win64 bit fix: Replacing 32-bit value (0xFFFFFFFF) by a generic error constant.
      a29f10e8
    • unknown's avatar
      .del-sp.test.orig: · 53cc83fe
      unknown authored
        Delete: mysql-test/t/sp.test.orig
      
      
      BitKeeper/deleted/.del-sp.test.orig:
        Delete: mysql-test/t/sp.test.orig
      53cc83fe
  7. 01 Aug, 2006 9 commits
  8. 31 Jul, 2006 9 commits
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl · 03206fd7
      unknown authored
      into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
      
      
      extra/yassl/src/ssl.cpp:
        Auto merged
      03206fd7
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1-rpl · 76f65b3f
      unknown authored
      into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
      
      
      76f65b3f
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · d57c41b7
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.0-21269
      
      
      d57c41b7
    • unknown's avatar
      select.result, func_group.result, sql_select.cc: · 45871dbf
      unknown authored
        After merge fix
      
      
      mysql-test/r/select.result:
        After merge fix
      mysql-test/r/func_group.result:
        After merge fix
      sql/sql_select.cc:
        After merge fix
      45871dbf
    • unknown's avatar
      Bug#21269 (DEFINER-clause is allowed for UDF-functions) · d251e9be
      unknown authored
      The problem was that the grammar allows to create a function with an optional
      definer clause, and define it as a UDF with the SONAME keyword.
      Such combination should be reported as an error.
      
      The solution is to not change the grammar itself, and to introduce a
      specific check in the yacc actions in 'create_function_tail' for UDF,
      that now reports ER_WRONG_USAGE when using both DEFINER and SONAME.
      
      
      mysql-test/r/udf.result:
        Added tests for Bug#21269 (DEFINER-clause is allowed for UDF-functions)
      mysql-test/t/udf.test:
        Added tests for Bug#21269 (DEFINER-clause is allowed for UDF-functions)
      sql/sql_yacc.yy:
        Creating a UDF function with a DEFINER clause is now a syntax error.
      d251e9be
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 464cb603
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B11551-5.0-opt
      
      
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/view.test:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      464cb603
    • unknown's avatar
      Bug #11551: Asymmetric + undocumented behaviour of DROP VIEW and DROP TABLE · b74cb623
      unknown authored
       
      made DROP VIEW to continue on error and report an aggregated error 
       at its end. This makes it similar to DROP TABLE.
      
      
      mysql-test/r/view.result:
        Bug #11551: Asymmetric + undocumented behaviour of DROP VIEW and DROP TABLE
         - test case
         - changed error message
      mysql-test/t/view.test:
        Bug #11551: Asymmetric + undocumented behaviour of DROP VIEW and DROP TABLE
         - test case
      sql/sql_view.cc:
        Bug #11551: Asymmetric + undocumented behaviour of DROP VIEW and DROP TABLE
         - made DROP VIEW to continue on error and report an aggregated error
      b74cb623
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-opt · 4acf6de8
      unknown authored
      into  macbook.gmz:/Users/kgeorge/mysql/work/B21080-5.0-opt
      
      
      mysql-test/r/view.result:
        merge
      mysql-test/t/view.test:
        merge
      4acf6de8
    • unknown's avatar
      Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM · c8673b09
      unknown authored
        When executing ALTER TABLE all the attributes of the view were overwritten.
        This is contrary to the user's expectations.
        So some of the view attributes are preserved now : namely security and 
        algorithm. This means that if they are not specified in ALTER VIEW
        their values are preserved from CREATE VIEW instead of being defaulted.
      
      
      mysql-test/r/view.result:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - test suite
      mysql-test/t/view.test:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - test suite
      sql/sql_lex.h:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - must make create_view_suid a tristate : on/off/unspecified
      sql/sql_view.cc:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - open the view to get it's attributes and put then as defaults 
           for ALTER VIEW
      sql/sql_yacc.yy:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - must make create_view_suid a tristate : on/off/unspecified
      sql/table.h:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - must make create_view_suid a tristate : on/off/unspecified
      c8673b09