1. 02 Jul, 2009 1 commit
    • Michael Widenius's avatar
      Added MY_CS_NONASCII marker for character sets that are not compatible with... · 9db357e2
      Michael Widenius authored
      Added MY_CS_NONASCII marker for character sets that are not compatible with latin1 for characters 0x00-0x7f
      This allows us to skip and speed up some very common character converts that MySQL is doing when sending data to the client
      and this gives us a nice speed increase for most queries that uses only characters in the range 0x00-0x7f.
      
      This code is based on Alexander Barkov's code that he has done in MySQL 6.0
      
      
      include/m_ctype.h:
        Added MY_CS_NONASCII marker
      libmysqld/lib_sql.cc:
        Added function net_store_data(...) that takes to and from CHARSET_INFO * as arguments
      mysys/charset.c:
        Mark character sets with MY_CS_NONASCII
      scripts/mysql_install_db.sh:
        Fixed messages to refer to MariaDB instead of MySQL
      sql/protocol.cc:
        Added function net_store_data(...) that takes to and from CHARSET_INFO * as arguments
      sql/protocol.h:
        Added function net_store_data(...) that takes to and from CHARSET_INFO * as arguments
      sql/sql_string.cc:
        Quicker copy of strings with no characters above 0x7f
      strings/conf_to_src.c:
        Added printing of MY_CS_NONASCII
      strings/ctype-extra.c:
        Mark incompatible character sets with MY_CS_NONASCII
        Removed duplicated character set geostd
      strings/ctype-sjis.c:
        Mark incompatible character sets with MY_CS_NONASCII
      strings/ctype-uca.c:
        Mark incompatible character sets with MY_CS_NONASCII
      strings/ctype-ucs2.c:
        Mark incompatible character sets with MY_CS_NONASCII
      strings/ctype-utf8.c:
        Mark incompatible character sets with MY_CS_NONASCII
      strings/ctype.c:
        Added function to check if character set is compatible with latin1 in ranges 0x00-0x7f
      9db357e2
  2. 30 Jun, 2009 1 commit
    • Michael Widenius's avatar
      Changed default thread stack to 288K to get better memory missalignment... · f1183fc1
      Michael Widenius authored
      Changed default thread stack to 288K to get better memory missalignment between stacks of different threads (should speed up things) and to get a bit extra safety.
      In maria_open(), don't allocate big arrays on stack as this may lead to stack overflow.
      This fixes a valgrind warning detected by buildbot
      
      include/my_pthread.h:
        Changed default thread stack to 288K to get better memory missalignment between stacks of different threads (should speed up things) and to get a bit extra safety.
      storage/maria/ma_open.c:
        In maria_open(), don't allocate big arrays on stack as this may lead to stack overflow.
      f1183fc1
  3. 29 Jun, 2009 1 commit
    • Michael Widenius's avatar
      Added some changes inspired by Zardosht Kasheff: · bb557919
      Michael Widenius authored
      - Added a handler call (prepare_index_scan()) to inform storage engines that an index scan is about to take place.
      - Extended the maximun key parts for an index from 16 to 32
      - Extended MyISAM and Maria engines to support up to 32 parts
      
      Added checks for return value from ha_index_init()
      
      
      
      include/my_handler.h:
        Extended number of key parts for MyISAM and Maria from 16 to 32
      include/my_pthread.h:
        Ensure we always have 256M of stack.
        (Required to be able to handle the current number of keys and key parts in MyISAM)
      mysql-test/r/create.result:
        Extended to test for 32 key parts
      mysql-test/r/myisam.result:
        Test that we can create 32 but not 33 key parts
      mysql-test/r/ps_1general.result:
        Length of ref is now 2048 as we can have more key parts
      mysql-test/r/ps_2myisam.result:
        Length of ref is now 2048 as we can have more key parts
      mysql-test/r/ps_3innodb.result:
        Length of ref is now 2048 as we can have more key parts
      mysql-test/r/ps_4heap.result:
        Length of ref is now 2048 as we can have more key parts
      mysql-test/r/ps_5merge.result:
        Length of ref is now 2048 as we can have more key parts
      mysql-test/suite/maria/r/maria.result:
        Max key length is now 1208 bytes
      mysql-test/suite/maria/r/maria3.result:
        Max key length is now 1208 bytes
      mysql-test/suite/maria/r/ps_maria.result:
        Max key length is now 1208 byte
      mysql-test/t/create.test:
        Extended to test for 32 key parts
      mysql-test/t/myisam.test:
        Test that we can create 32 but not 33 key parts
      sql/handler.cc:
        Check return value from ha_index_init()
      sql/handler.h:
        Added a handler call (prepare_index_scan()) to inform storage engines that an index scan is about to take place.
      sql/sql_select.cc:
        Checks all return values from ha_index_init()
        Call prepare_index_scan()) to inform storage engines that an index scan is about to take place.
        Fixed indentation
      sql/table.cc:
        Fixed wrong types for key_length (rest of code assumed this was 32 bit)
      sql/unireg.h:
        Extended the maximun key parts for an index from 16 to 32
      storage/maria/ha_maria.cc:
        Don't allocate HA_CHECK on the stack in functions where we call repair() as HA_CHECK is HUGE and will overflow stack
      storage/myisam/ha_myisam.cc:
        Don't allocate HA_CHECK on the stack in functions where we call repair() as HA_CHECK is HUGE and will overflow stack
      storage/myisam/mi_check.c:
        Fixed wrong check if value overflow
      tests/mysql_client_test.c:
        Added fflush() to fix output in case of error
        Fixed wrong check of 'ref' length in EXPLAIN
      bb557919
  4. 24 Jun, 2009 1 commit
    • unknown's avatar
      Fix of BUG#45632 (http://bugs.mysql.com/bug.php?id=45632) - sharing non... · c40d85c6
      unknown authored
      Fix of BUG#45632 (http://bugs.mysql.com/bug.php?id=45632) - sharing non default debug settings between sessions. This bugfix proposed by Monty.
      
      mysql-test/r/variables_debug.result:
        Test that sessions do not share the same session debug variable.
      mysql-test/t/variables_debug.test:
        Test that sessions do not share the same session debug variable.
      sql/set_var.cc:
        As soon as default setting are shared between sessions we should push dbug state before changing debug setting first time.
      c40d85c6
  5. 07 Jun, 2009 1 commit
    • Michael Widenius's avatar
      Added tests to cover more server code · 1f81aa5f
      Michael Widenius authored
      Author: Stewart Smith
      
      mysql-test/r/alter_table.result:
        Testing of ALTER TABLE .. DROP DEFAULT
      mysql-test/r/limit.result:
        Testing of LIMIT ... OFFSET
      mysql-test/t/alter_table.test:
        Testing of ALTER TABLE .. DROP DEFAULT
      mysql-test/t/limit.test:
        Testing of LIMIT ... OFFSET
      1f81aa5f
  6. 05 Jun, 2009 3 commits
    • Michael Widenius's avatar
      774ceff0
    • Michael Widenius's avatar
      4c4480e9
    • Michael Widenius's avatar
      Added option --staging-run to mysql-test-run to mark slow, not important... · 3d831149
      Michael Widenius authored
      Added option --staging-run to mysql-test-run to mark slow, not important tests, to not be run in staging trees
      Use MY_MUTEX_INIT_FAST for pool mutex
      
      mysql-test/mysql-test-run.pl:
        Added option --staging-run
        Added information about --parallell=# to help message
      mysql-test/suite/federated/federated_server.test:
        Slow test, don't run with --staging-run
      mysql-test/suite/maria/t/maria-preload.test:
        Slow test, don't run with --staging-run
      mysql-test/suite/rpl/t/rpl_optimize.test:
        Slow test, don't run with --staging-run
      mysql-test/suite/rpl/t/rpl_relayrotate.test:
        Slow test, don't run with --staging-run
      mysql-test/suite/rpl/t/rpl_row_001.test:
        Slow test, don't run with --staging-run
      mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test:
        Slow test, don't run with --staging-run
      mysql-test/suite/rpl/t/rpl_row_sp003.test:
        Slow test, don't run with --staging-run
      mysql-test/suite/rpl/t/rpl_start_stop_slave.test:
        Slow test, don't run with --staging-run
      mysql-test/t/compress.test:
        Slow test, don't run with --staging-run
      mysql-test/t/count_distinct3.test:
        Slow test, don't run with --staging-run
      mysql-test/t/index_merge_innodb.test:
        Slow test, don't run with --staging-run
      mysql-test/t/information_schema_all_engines.test:
        Slow test, don't run with --staging-run
      mysql-test/t/innodb_mysql.test:
        Slow test, don't run with --staging-run
      mysql-test/t/pool_of_threads.test:
        Slow test, don't run with --staging-run
      mysql-test/t/preload.test:
        Slow test, don't run with --staging-run
      mysql-test/t/ssl.test:
        Slow test, don't run with --staging-run
      mysql-test/t/ssl_compress.test:
        Slow test, don't run with --staging-run
      mysql-test/valgrind.supp:
        Suppress warnings from SuSE 11.1 on x86
      sql/scheduler.cc:
        Use MY_MUTEX_INIT_FAST for pool mutex
      3d831149
  7. 02 Jun, 2009 2 commits
  8. 25 May, 2009 1 commit
  9. 22 May, 2009 2 commits
    • unknown's avatar
    • unknown's avatar
      After-merge fixes for problems seen in buildbot after merging MySQL-5.1.35. · 48083d73
      unknown authored
       - Version number.
       - Valgrind false alarms in libz.
       - New variant of suppression for Valgrind warning in dlclose().
       - Fix double free() in plugin init error case.
      
      configure.in:
        Fix version number. We should reset the maria variant back to `1' when the MySQL version
        number increases.
      include/my_sys.h:
        Fix false alarms in Valgrind for zlib.
        
        Apply same fix as for archive storage handler also to the cases of compression in the
        client protocol, and to the compression SQL function.
      mysql-test/valgrind.supp:
        A new variant of the dlclose() suppression is needed now.
      mysys/my_compress.c:
        Fix false alarms in Valgrind for zlib.
        
        Apply same fix as for archive storage handler also to the cases of compression in the
        client protocol, and to the compression SQL function.
      sql/handler.cc:
        Fix a double free() in error case for plugin initialisation.
      sql/item_strfunc.cc:
        Fix false alarms in Valgrind for zlib.
        
        Apply same fix as for archive storage handler also to the cases of compression in the
        client protocol, and to the compression SQL function.
      48083d73
  10. 20 May, 2009 1 commit
  11. 19 May, 2009 2 commits
    • Michael Widenius's avatar
      Merge · a129a824
      Michael Widenius authored
      support-files/build-tags:
        Merge.
      a129a824
    • Michael Widenius's avatar
      Fixed problems in merge · 224108a1
      Michael Widenius authored
      
      mysql-test/r/information_schema.result:
        Fixed a result file.
      mysql-test/r/innodb-autoinc.result:
        Fixed a result file.
      mysql-test/t/connect.test:
        Fixed a problem with merge, needed to close
        connections and use the default
      224108a1
  12. 18 May, 2009 1 commit
  13. 12 May, 2009 1 commit
    • Michael Widenius's avatar
      Merge fixes. · b94f191a
      Michael Widenius authored
      mysql-test/mysql-test-run.pl:
        Fixed missed lines in merge.
      storage/maria/plug.in:
        Fixed problem with configuration. This is now included
        top level.
      storage/pbxt/plug.in:
        Fixed problem with configuration. This is
        included now in top level.
      b94f191a
  14. 11 May, 2009 1 commit
  15. 09 May, 2009 1 commit
  16. 06 May, 2009 1 commit
    • unknown's avatar
      We are now using Valgrind rather than purify, and have for quite some time. · b125770a
      unknown authored
      Consequently, rename HAVE_purify to HAVE_valgrind, and related changes.
      Leave some comments about purify when not clear that they apply also to Valgrind.
      Fix redundant IF_VALGRIND declaration.
      
      Misc. small fixes:
       - Fixes for pool-of-threads patch.
       - Fixes for push of PBXT storage engine.
       - mysql-test-run.pl fix.
       - Fix build problem in compile-pentium64-max.
      
      
      BUILD/SETUP.sh:
        Rename purify -> valgrind.
      BUILD/build_mccge.sh:
        Rename purify -> valgrind.
      BUILD/compile-dist:
        Fix that PBXT was missing in source tarball after `BUILD/compile-dist && make dist`
      BUILD/compile-pentium64-max:
        Fix a build problem with BUILD/compile-pentium64-max on CentOS/Fedora Core 10 amd64.
              
        On these systems, there is libz.so but no libz.a. Finding libz.so, ./configure decides
        to use system zlib. But since BUILD/compile-pentium64-max builds a fully static binary
        with -all-static, the link of mysqld fails due to missing libz.a.
              
        Fix by using bundled zlib in the build script.
      BUILD/compile-solaris-sparc-purify:
        Rename purify -> valgrind.
      include/m_string.h:
        Rename purify -> valgrind.
      include/my_global.h:
        Rename purify -> valgrind.
      mysql-test/Makefile.am:
        Fix that PBXT test suite was missing from `make dist` source tarball.
      mysql-test/lib/mtr_unique.pm:
        Better fix to avoid races when chmod'ing the semaphore file.
        (Though using chmod 666 shared files in /tmp/ is still not a very good solution).
      mysql-test/t/pool_of_threads.cnf:
        Fix that test case pool_of_threads fails if run on mysqld with no --with-libevent support.
      mysys/mf_qsort.c:
        Rename purify -> valgrind.
      mysys/my_alloc.c:
        Rename purify -> valgrind.
      mysys/my_init.c:
        Rename purify -> valgrind.
      mysys/my_rnd.c:
        Rename purify -> valgrind.
      mysys/safemalloc.c:
        Rename purify -> valgrind.
      scripts/mysql_config.pl.in:
        Rename purify -> valgrind.
      scripts/mysql_config.sh:
        Rename purify -> valgrind.
      sql/field_conv.cc:
        Rename purify -> valgrind.
      sql/filesort.cc:
        Rename purify -> valgrind.
      sql/ha_partition.cc:
        Rename purify -> valgrind.
      sql/hostname.cc:
        Rename purify -> valgrind.
      sql/item_timefunc.cc:
        Rename purify -> valgrind.
      sql/log_event.cc:
        Rename purify -> valgrind.
      sql/log_event_old.cc:
        Rename purify -> valgrind.
      sql/my_decimal.h:
        Rename purify -> valgrind.
      sql/mysqld.cc:
        Rename purify -> valgrind.
        Fix redundant IF_VALGRIND declaration.
      sql/opt_range.cc:
        Rename purify -> valgrind.
      sql/opt_range.h:
        Rename purify -> valgrind.
      sql/records.cc:
        Rename purify -> valgrind.
      sql/rpl_rli.cc:
        Rename purify -> valgrind.
      sql/rpl_rli.h:
        Rename purify -> valgrind.
      sql/set_var.cc:
        Fix missing static declaration on pool_of_threads.
      sql/slave.cc:
        Rename purify -> valgrind.
      sql/sql_base.cc:
        Rename purify -> valgrind.
      sql/sql_binlog.cc:
        Rename purify -> valgrind.
      sql/sql_class.cc:
        Rename purify -> valgrind.
      sql/sql_list.h:
        Rename purify -> valgrind.
      sql/sql_load.cc:
        Rename purify -> valgrind.
      sql/sql_select.cc:
        Rename purify -> valgrind.
      sql/table.cc:
        Rename purify -> valgrind.
      storage/archive/azio.c:
        Rename purify -> valgrind.
      storage/innobase/buf/buf0buf.c:
        Rename purify -> valgrind.
      storage/innobase/include/univ.i:
        Rename purify -> valgrind.
      storage/innobase/srv/srv0start.c:
        Rename purify -> valgrind.
      storage/maria/ha_maria.cc:
        Rename purify -> valgrind.
      storage/maria/ma_blockrec.c:
        Rename purify -> valgrind.
      storage/maria/ma_check.c:
        Rename purify -> valgrind.
      storage/maria/ma_loghandler.c:
        Rename purify -> valgrind.
      storage/maria/ma_packrec.c:
        Rename purify -> valgrind.
      storage/maria/ma_page.c:
        Rename purify -> valgrind.
      storage/maria/ma_pagecrc.c:
        Rename purify -> valgrind.
      storage/maria/ma_search.c:
        Rename purify -> valgrind.
      storage/myisam/mi_check.c:
        Rename purify -> valgrind.
      storage/myisam/mi_page.c:
        Rename purify -> valgrind.
      storage/myisam/mi_search.c:
        Rename purify -> valgrind.
      storage/myisammrg/ha_myisammrg.cc:
        Rename purify -> valgrind.
      strings/bcmp.c:
        Rename purify -> valgrind.
      strings/decimal.c:
        Rename purify -> valgrind.
      strings/strmake.c:
        Rename purify -> valgrind.
      b125770a
  17. 25 Apr, 2009 2 commits
    • Michael Widenius's avatar
      Merged with mysql-5.1 tree. · e726e587
      Michael Widenius authored
      client/mysqltest.cc:
        Manually merged
      configure.in:
        Manually merged
      mysql-test/r/variables.result:
        Manually merged
      mysql-test/t/variables.test:
        Manually merged
      mysys/my_pread.c:
        Manually merged
      mysys/my_read.c:
        Manually merged
      sql/mysqld.cc:
        Manually merged
      storage/csv/ha_tina.h:
        Manually merged
      storage/myisam/ha_myisam.cc:
        Manually merged
      storage/myisam/mi_check.c:
        Manually merged
      storage/myisam/mi_search.c:
        Manually merged
      e726e587
    • Michael Widenius's avatar
      bzr merge from guilhem's maria tree to our local 5.1 · 210a4125
      Michael Widenius authored
      configure.in:
        Manually merged
      mysql-test/lib/My/ConfigFactory.pm:
        Manually merged
      mysql-test/mysql-test-run.pl:
        Manually merged
      mysql-test/t/information_schema.test:
        Manually merged
      sql/handler.cc:
        Manually merged
      support-files/mysql.spec.sh:
        Manually merged
      210a4125
  18. 23 Apr, 2009 1 commit
  19. 21 Apr, 2009 2 commits
  20. 16 Apr, 2009 1 commit
  21. 08 Apr, 2009 6 commits
    • Michael Widenius's avatar
      Merge with Trunk · 7e44eb89
      Michael Widenius authored
      7e44eb89
    • Michael Widenius's avatar
      Fixed wrong test for extra_ip_sock that caused mysqld to die on Mac if --extra-port was used · b09c0acd
      Michael Widenius authored
      sql/sql_string.cc:
        Optimized tests to do fewer reallocs
      sql/strfunc.cc:
        Indentation fix
      b09c0acd
    • unknown's avatar
      Merge mariadb-5.1 · 83290da1
      unknown authored
      83290da1
    • unknown's avatar
      Fix Valgrind errors seen in buildbot. · c558b3e0
      unknown authored
      Fix mysql-test-run.pl to not terminate early when warnings in error logs are detected during
      server shutdown. Instead, give a nice summary report at the end of the failures.
      
      Fix code to make 100% sure no failures will go undetected.
      
      Revert earlier wrong change.
      
      Fix race with port allocation semaphore file permissions.
      
      Adjust testsuite to copy with new PBXT engine now in the tree. The PBXT engine causes an
      extra table to appear in the INFORMATION_SCHEMA. This causes different output for a few
      test cases.
      
      dbug/dbug.c:
        If DbugParse() is called multiple times, the stack->keywords for the
        top stack frame could be overwritten without being freed, causing a
        memory leak reported by Valgrind.
      include/my_global.h:
        Add useful macro for different values when Valgrind (HAVE_purify) and not.
      mysql-test/extra/rpl_tests/rpl_auto_increment.test:
        Omit pbxt variables from show variables output.
      mysql-test/include/have_pbxt.inc:
        Add facility to disable test if PBXT engine is not available.
      mysql-test/lib/mtr_report.pm:
        Give a nice summary report at the end of tests of any warnings seen in logs during
        server shutdowns.
      mysql-test/lib/mtr_unique.pm:
        Move chmod 777 to greatly reduce the risk of leaving the port semaphore file unaccessible
        bu other users.
      mysql-test/mysql-test-run.pl:
        Don't abort in case of warnings detected, instead give a nice summary report.
        
        Fix code to make 100% sure no failures will go undetected.
        
        Revert earlier wrong change when master disconnects early.
      mysql-test/r/information_schema.result:
        Omit PBXT INFORMATION_SCHEMA table from output.
        Move part of test to information_schema_all_engines.
      mysql-test/r/information_schema_all_engines.result:
        New file for information_schema tests that depend on which engines are available.
      mysql-test/r/information_schema_db.result:
        Move part of test to information_schema_all_engines.
      mysql-test/r/innodb-autoinc.result:
        Omit pbxt variables from show variables output.
      mysql-test/r/mysqlshow.result:
        Move part of test to information_schema_all_engines.
      mysql-test/suite/rpl/r/rpl_auto_increment.result:
        Omit pbxt variables from show variables output.
      mysql-test/t/information_schema.test:
        Omit PBXT INFORMATION_SCHEMA table from output.
        Move part of test to information_schema_all_engines.
      mysql-test/t/information_schema_all_engines.test:
        New file for information_schema tests that depend on which engines are available.
      mysql-test/t/information_schema_db.test:
        Move part of test to information_schema_all_engines.
      mysql-test/t/innodb-autoinc.test:
        Omit pbxt variables from show variables output.
      mysql-test/t/mysqlshow.test:
        Move part of test to information_schema_all_engines.
      mysql-test/valgrind.supp:
        Add variant suppression (different system library versions).
        Add suppression for problem with inet_ntoa().
      sql/mysqld.cc:
        Fix missing DBUG_RETURN.
        Fix uninitialised thd->connect_utime, likely introduced by pool_of_threads.
      sql/set_var.cc:
        Fix one-byte buffer overflow in several places.
        Fix unsafe use of String::c_ptr() of stack-allocated String buffer.
      sql/sql_select.cc:
        Silence valgrind warning due to GCC bug.
      sql/sql_string.h:
        Document potential problem with String::c_ptr() and String() constructor with caller-supplied buffer.
      storage/archive/azio.c:
        Silence Valgrind false warning for libz.
      c558b3e0
    • Michael Widenius's avatar
      Merge with trunc (no conflicts) · 21a195dd
      Michael Widenius authored
      21a195dd
    • Michael Widenius's avatar
      Updated comment · 92b2b45e
      Michael Widenius authored
      92b2b45e
  22. 07 Apr, 2009 3 commits
  23. 03 Apr, 2009 3 commits
  24. 02 Apr, 2009 1 commit