1. 31 Aug, 2009 1 commit
    • unknown's avatar
      PBXT merge fixes. · 12ca4899
      unknown authored
       - Disable PBMS in MariaDB (as per recommendation of Paul).
       - Add missing *-master.opt files to make testsuite work on case-sensitive file systems.
       - Result file updates.
      12ca4899
  2. 18 Aug, 2009 1 commit
  3. 17 Aug, 2009 2 commits
  4. 05 Aug, 2009 1 commit
  5. 04 Aug, 2009 1 commit
  6. 03 Aug, 2009 3 commits
  7. 24 Jul, 2009 2 commits
  8. 07 Jul, 2009 1 commit
    • unknown's avatar
      Solaris 10 build script fixes by Toby Thain. · 51f3e004
      unknown authored
      Added build scripts for 32 bit x86 architecture on Solaris.
      Renamed some scripts for consistency.
      Changed to dynamic linking of libgcc.
      
      
      BUILD/compile-solaris-amd64:
        Changed to dynamic linking of libgcc.
        
        The -static-libgcc was a legacy of the original build scripts. -R
        (analogous to -L link time search path) is a Solaris mechanism to
        ensure a needed lib directory is searched at runtime.
        
        In Solaris 10, gcc comes bundled, under /usr/sfw, allowing to use it without
        creating dependency problems. This allows eg. benefiting from ordinary system
        patch maintenance.
      BUILD/compile-solaris-amd64-debug:
        Changed to dynamic linking of libgcc.
        
        The -static-libgcc was a legacy of the original build scripts. -R
        (analogous to -L link time search path) is a Solaris mechanism to
        ensure a needed lib directory is searched at runtime.
        
        In Solaris 10, gcc comes bundled, under /usr/sfw, allowing to use it without
        creating dependency problems. This allows eg. benefiting from ordinary system
        patch maintenance.
      51f3e004
  9. 06 Jul, 2009 1 commit
  10. 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
  11. 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
  12. 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
  13. 26 Jun, 2009 1 commit
  14. 25 Jun, 2009 1 commit
  15. 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
  16. 23 Jun, 2009 1 commit
    • unknown's avatar
      Fix memory leak in mysql_ssl_set() when called more than once. · e8474840
      unknown authored
      Fix sleep() synchronisation in innodb_information_schema test case.
      
      mysql-test/t/innodb_information_schema.test:
        Using sleep for synchronisation does not work!!!
        Replace by looping until the required condition is met.
      sql-common/client.c:
        mysql_ssl_set() did not free old pointers before overwriting with new ones (happens when
        mysql_ssl_set() is called twice without calling mysql_close() in-between).
        
        This sometimes caused memory leaks in the slave depending on exact timing of
        master/slave shutdown.
        
        Fixed by freeing old pointers before installing new ones in mysql_ssl_set(), just like
        mysql_options() does.
      e8474840
  17. 22 Jun, 2009 1 commit
    • unknown's avatar
      More XtraDB after-merge fixes following review and buildbot runs: · 7c5e321b
      unknown authored
       - Better fix for --innodb-use-sys-malloc causing Valgrind warnings.
       - Different fix for INNODB_IBUF_MAX_SIZE variable changing default value.
       - Fix some problems with the safe mutex lazy init patch.
      
      mysql-test/include/mtr_check.sql:
        Do not check INNODB_IBUF_MAX_SIZE for changes. It is not a dynamic variable, so cannot
        be changed by a test case anyway, and the value may vary slightly from one start of the
        server to the next.
      mysql-test/lib/mtr_cases.pm:
        Even just starting and stopping the server with --innodb-use-sys-malloc to check for
        disabled test case under valgrind will cause valgrind leak warnings. So add not_valgrind
        to the list of conditions also tested for directly in mysql-test-run.pl.
      mysql-test/mysql-test-run.pl:
        Even just starting and stopping the server with --innodb-use-sys-malloc to check for
        disabled test case under valgrind will cause valgrind leak warnings. So add not_valgrind
        to the list of conditions also tested for directly in mysql-test-run.pl.
      mysys/thr_mutex.c:
        Fix a few problems found during review of the lazy init safe mutex patch.
      storage/xtradb/ibuf/ibuf0ibuf.c:
        Revert previous fix of INNODB_IBUF_MAX_SIZE default varying slightly between server starts.
        (Fixed instead by ignoring that variable in the test suite).
      7c5e321b
  18. 18 Jun, 2009 1 commit
    • unknown's avatar
      Fix test cases after merge of XtraDB into MariaDB. · 2a663359
      unknown authored
      Manually merge some InnoDB changes into XtraDB.
      Fix ALTER TABLE bug in XtraDB with wrong comparison of row type.
      
      mysql-test/include/varchar.inc:
        Fix in test case that which of several duplicate keys triggers an error is not
        deterministic.
      mysql-test/mysql-test-run.pl:
        InnoDB does not bother to free resources individually during shutdown, but due to using
        its own memory tracking it nevertheless can free everything at exit. But XtraDB adds an
        option, on by default, to skip this extra tracking. This causes lots of Valgrind
        warnings, so needs to be disabled for Valgrind testing.
      mysql-test/r/innodb.result:
        Fix in test case that which of several duplicate keys triggers an error is not
        deterministic.
      mysql-test/t/innodb-use-sys-malloc.test:
        InnoDB does not bother to free resources individually during shutdown, but due to using
        its own memory tracking it nevertheless can free everything at exit. But XtraDB adds an
        option, on by default, to skip this extra tracking. This causes lots of Valgrind
        warnings, so needs to be disabled for Valgrind testing.
      sql/sql_table.cc:
        Add some useful DBUG while debugging alter table.
      storage/xtradb/handler/ha_innodb.cc:
        Fix that check_if_incompatible_data did not realise that ROW_TYPE_DEFAULT is identical
        to the default row format ROW_TYPE_COMPACT, causing excessive table copying in
        ALTER TABLE
        Add some useful DBUG while debugging alter table.
        Manually merge into XtraDB a few small changes for InnoDB from upstream MySQL.
      storage/xtradb/include/pars0pars.h:
        Manually merge into XtraDB a few small changes for InnoDB from upstream MySQL.
      storage/xtradb/include/univ.i:
        Manually merge a MariaDB fix in InnoDB into XtraDB.
      2a663359
  19. 15 Jun, 2009 1 commit
  20. 11 Jun, 2009 2 commits
    • unknown's avatar
      Merge of Percona XtraDB into MariaDB. · 4b2aafb3
      unknown authored
      4b2aafb3
    • unknown's avatar
      Merge latest XtraDB from lp:percona-xtradb into MariaDB. · 93bcda59
      unknown authored
      
      include/my_sys.h:
        Move generic file parsing functions out to shared code, as they are used in several places.
      mysys/mf_iocache2.c:
        Move generic file parsing functions out to shared code, as they are used in several places.
      sql/log_event.cc:
        Fix XtraDB build with embedded server.
        XtraDB needs access to replication stuff, which is missing in embedded server.
        Solved by defining wrapper function for this which is compiled differently for normal and
        embedded case.
      sql/log_event.h:
        Fix XtraDB build with embedded server.
        XtraDB needs access to replication stuff, which is missing in embedded server.
        Solved by defining wrapper function for this which is compiled differently for normal and
        embedded case.
      sql/slave.cc:
        Move generic file parsing functions out to shared code, as they are used in several places.
      93bcda59
  21. 10 Jun, 2009 1 commit
    • unknown's avatar
      Fix XtraDB to build with atomic operations, for good performance. · d2d7b5bb
      unknown authored
      The root of the problem is that ./configure mixed together two different things. One is the
      availability of GCC atomic operation intrinsics. The other is the selection of which
      primitives to use for my_atomic implementation.
      
      Then at some point a hack was made to not use GCC intrinsics in my_atomic to work around
      some test failures. But because the two things are mixed in ./configure, this as a side
      effect also makes GCC intrinsics unavailable for XtraDB.
      
      Fixed by splitting this in two in configure, so that we have HAVE_GCC_ATOMIC_BUILTINS for
      GCC intrinsics availability and MY_ATOMIC_MODE_GCC_BUILTINS for use in my_atomic.
      d2d7b5bb
  22. 09 Jun, 2009 4 commits
    • unknown's avatar
      XtraDB after-merge fixes. · bb9a3f0c
      unknown authored
      Fixes to get the test suite to run without failures.
      
      mysql-test/r/information_schema.result:
        Additional variables available now.
        Sort output to avoid depending on engine order.
      mysql-test/r/information_schema_all_engines.result:
        More variables now.
      mysql-test/r/innodb-autoinc.result:
        Avoid picking up pbxt variables in result
      mysql-test/r/innodb-index.result:
        Save state to not corrupt following testcases.
        Suppress an expected warning.
      mysql-test/r/innodb-zip.result:
        Work around a problem with dependency on zlib version
      mysql-test/r/innodb.result:
        Checksums have changed in Maria.
        Save and restore server state to not corrupt following testcases.
      mysql-test/r/innodb_bug36169.result:
        Save and restore server state to not corrupt following testcases.
      mysql-test/r/innodb_xtradb_bug317074.result:
        Save and restore server state to not corrupt following testcases.
      mysql-test/r/row-checksum-old.result:
        Update result file
      mysql-test/r/row-checksum.result:
        Update result file
      mysql-test/t/information_schema.test:
        Sort output to avoid depending on engine order.
      mysql-test/t/innodb-analyze.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/innodb-autoinc.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/innodb-index.test:
        Save state to not corrupt following testcases.
        Suppress an expected warning.
      mysql-test/t/innodb-zip.test:
        Work around a problem with dependency on zlib version
      mysql-test/t/innodb.test:
        Save and restore server state to not corrupt following testcases.
        Update --replace statements for new mysql-test-run
      mysql-test/t/innodb_bug34300.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/innodb_bug36169.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/innodb_bug36172.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/innodb_xtradb_bug317074.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/partition_innodb.test:
        Fix regexps to work with new SHOW INNODB STATUS output.
      mysys/thr_mutex.c:
        Initialize mutex deadlock detection lazily.
        This allows to test XtraDB, which initializes huge amounts of mutexes without using any but a few of them.
      storage/xtradb/ibuf/ibuf0ibuf.c:
        Fix problem where value of INNODB_IBUF_MAX_SIZE would depend on the alignment of memory
        allocated by the buffer pool.
      storage/xtradb/include/sync0rw.h:
        Fix XtraDB to compile without GCC atomic operation intrinsics (performance may suffer
        when they are not available though).
      storage/xtradb/include/sync0rw.ic:
        Fix XtraDB to compile without GCC atomic operation intrinsics (performance may suffer
        when they are not available though).
      storage/xtradb/include/univ.i:
        Fix for MariaDB
      storage/xtradb/setup.sh:
        Remove no longer needed file from XtraDB.
      storage/xtradb/srv/srv0start.c:
        Fix for MariaDB
      bb9a3f0c
    • unknown's avatar
      XtraDB after-merge fixes. · a03c9ff5
      unknown authored
      The original XtraDB (and InnoDB plugin) is shipped as a separate source tree which is copied
      into the MySQL source, after which a setup.sh script must be run to move things into place.
      
      Now that XtraDB is part of the MariaDB source tree, this commit fixes these things up once
      and for all:
      
       - New innodb build scripts.
       - Test suite fixes (new tests and patches to existing).
       - Remove files no longer needed due to this.
      a03c9ff5
    • unknown's avatar
      XtraDB after-merge fix: Fix building from storage/xtradb/ instead of storage/innodb/ · 8be051d7
      unknown authored
      .bzrignore:
        XtraDB compiles innodb in storage/xtradb instead of storage/innobase
      CMakeLists.txt:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      libmysqld/CMakeLists.txt:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      storage/innobase/plug.in.disabled:
        Disable building old InnoDB from storage/innobase/ directory.
        
        We will keep the files around to avoid getting merge conflicts for every MySQL upstream
        change to InnoDB.
      storage/xtradb/CMakeLists.txt:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      storage/xtradb/COPYING:
        Remove not needed file from XtraDB.
      storage/xtradb/Makefile.am:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      storage/xtradb/Makefile.in:
        Remove not needed file from XtraDB.
      storage/xtradb/handler/ha_innodb.cc:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      storage/xtradb/plug.in:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      storage/xtradb/row/row0ins.c:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      8be051d7
    • unknown's avatar
      a6b7f713
  23. 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
  24. 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
  25. 02 Jun, 2009 2 commits
  26. 25 May, 2009 1 commit
  27. 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
  28. 20 May, 2009 1 commit