1. 18 Mar, 2008 1 commit
    • unknown's avatar
      Bug#25175 Too much memory used by MySQL grant system · 00182991
      unknown authored
      Each time the server reloads privileges containing table grants, the 
      system will allocate too much memory than needed because of badly
      chosen growth prediction in the underlying dynamic arrays.
      
      This patch introduces a new signature to the hash container initializer
      which enables a much more pessimistic approach in favour for more
      efficient memory useage.
      
      This patch was supplied by Google Inc.
      
      
      include/hash.h:
        * New signature for _hash_init.
        * Defined new function hash_init2 which takes growth_size argument.
      mysys/hash.c:
        * New signature for _hash_init.
      sql/sql_acl.cc:
        * Changed hash_init signature so that it takes a 'growth_size' smaller
        than the default. Each time a GRANT_TABLE is allocated a pre-allocated
        dynamic array is instantiated. A large growth size can result in too
        many unused hash-entries per table-entry and thus be a waste of free
        memory.
      00182991
  2. 10 Mar, 2008 1 commit
  3. 06 Mar, 2008 1 commit
    • unknown's avatar
      Bug#25132 disabled query cache: Qcache_free_blocks = 1 · c184cd63
      unknown authored
      The initial value of free memory blocks in 0. When the query cache is enabled 
      a new memory block gets allocated and is assigned number 1. The free memory
      block is later split each time query cache memory is allocated for new blocks.
      This means that the free memory block counter won't be reduced to zero when
      the number of allocated blocks are zero, but rather one. To avoid confusion
      this patch changes this behavior so that the free memory block counter is
      reset to zero when the query cache is disabled.
      Note that when the query cache is enabled and resized the free memory block
      counter was still calculated correctly.
      
      
      mysql-test/r/query_cache.result:
        test case
      mysql-test/t/query_cache.test:
        test case
      sql/sql_cache.cc:
        Restore the memory block count to 0 for consistency.
      c184cd63
  4. 05 Mar, 2008 1 commit
  5. 04 Mar, 2008 5 commits
  6. 03 Mar, 2008 1 commit
  7. 29 Feb, 2008 2 commits
  8. 28 Feb, 2008 6 commits
    • unknown's avatar
      Merge buzz.(none):/home/davi/mysql-5.0-runtime · 05480a88
      unknown authored
      into  buzz.(none):/home/davi/mysql-5.1-runtime
      
      
      mysql-test/r/ps.result:
        Auto merged
      mysql-test/t/limit.test:
        Auto merged
      mysql-test/t/ps.test:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/item.cc:
        Auto merged
      mysql-test/suite/rpl/r/rpl_user_variables.result:
        Manual merge
      mysql-test/suite/rpl/t/rpl_user_variables.test:
        Manual merge
      sql/sql_yacc.yy:
        Manual merge
      05480a88
    • unknown's avatar
      Post-merge fix for Bug 33851. The initialization order of members · 8b779456
      unknown authored
      must match the order which they were declared in the class definition. 
      
      
      sql/item.cc:
        Fix initialization order, parameter was the last one declared.
      8b779456
    • unknown's avatar
      Bug#34655 Compile error · 33a4e760
      unknown authored
      Rename client_last_error to last_error and client_last_errno to last_errno
      to not break connectors which use the internal net structure for error handling.
      
      
      include/mysql_com.h:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      include/mysql_h.ic:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      libmysql/libmysql.c:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      libmysql/manager.c:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      libmysqld/lib_sql.cc:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      libmysqld/libmysqld.c:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      server-tools/instance-manager/mysql_connection.cc:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      sql/log_event.cc:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      sql-common/client.c:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      sql/log_event_old.cc:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      sql/net_serv.cc:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      sql/repl_failsafe.cc:
        Rename client_last_error to last_error, client_last_errno to last_errno.
      33a4e760
    • unknown's avatar
      Bug#33851 Passing UNSIGNED param to EXECUTE returns ERROR 1210 · 1164e2bc
      unknown authored
      The problem is that passing anything other than a integer to a limit
      clause in a prepared statement would fail. This limitation was introduced
      to avoid replication problems (e.g: replicating the statement with a
      string argument would cause a parse failure in the slave).
      
      The solution is to convert arguments to the limit clause to a integer
      value and use this converted value when persisting the query to the log.
      
      
      mysql-test/r/limit.result:
        Update test case result.
      mysql-test/r/ps.result:
        Add test case result for Bug#33851
      mysql-test/r/rpl_user_variables.result:
        Test case result for replication of prepared statement with
        limit clause.
      mysql-test/t/limit.test:
        Test parameters to limit clause.
      mysql-test/t/ps.test:
        Add test case for Bug#33851
      mysql-test/t/rpl_user_variables.test:
        Test replication of a parameter which value is converted.
      sql/item.cc:
        Convert value to integer if it's a parameter to a limit clause.
      sql/item.h:
        Flag signal that item is a parameter to a limit clause.
      sql/item_func.cc:
        Const member functions, object is not mutated.
      sql/sql_class.h:
        Const member functions, object is not mutated.
      sql/sql_yacc.yy:
        Flag that item is a parameter to a limit clause.
      1164e2bc
    • unknown's avatar
      Disable test case due to Bug#34891: sp_notembedded.test fails · 944f2599
      unknown authored
      sporadically.
      
      
      mysql-test/r/sp_notembedded.result:
        Disable test case.
      mysql-test/t/sp_notembedded.test:
        Disable test case.
      944f2599
    • unknown's avatar
      Fix for Bug#34852: SHOW OPEN TABLES output is not repeatable · ce7b8e12
      unknown authored
      (show_check.test fails sporadically).
      
      Fix test case for Bug#12183 to make it stable.
      
      
      mysql-test/r/show_check.result:
        Fix result file.
      mysql-test/t/show_check.test:
        Make test case for Bug#12183 stable.
      ce7b8e12
  9. 27 Feb, 2008 7 commits
  10. 26 Feb, 2008 13 commits
  11. 25 Feb, 2008 1 commit
    • unknown's avatar
      Bug#28386 the general log is incomplete · b2e879cb
      unknown authored
      The problem is that the commands COM_STMT_CLOSE, COM_STMT_RESET,
      COM_STMT_SEND_LONG_DATA weren't being logged to the general log.
      
      The solution is to log the general log the aforementioned commands.
      
      
      mysql-test/t/mysql_client_test-master.opt:
        Also log to table.
      sql/sql_prepare.cc:
        Log COM_STMT_CLOSE, COM_STMT_RESET and COM_STMT_SEND_LONG_DATA.
      tests/mysql_client_test.c:
        Add test case for Bug#28386
      b2e879cb
  12. 23 Feb, 2008 1 commit