1. 09 Mar, 2010 3 commits
    • unknown's avatar
      Fix a buildbot memory leak due to JOIN::destroy() not being called for EXPLAIN · cceade1c
      unknown authored
      query:
      - When subquery is located in ORDER BY, EXPLAIN will run as follows:
        select_describe() will run JOIN::prepare()/optimize() for the subquery;
        then at some point subselect_single_select_engine::prepare() will be called,
        which will create another join and run join->prepare().
      
        In mainline mysql this is not a problem because subquery's join will be 
        destroyed after the first call. 
        In MariaDB, it won't (table elimination needs to keep JOIN objects around
        for longer in order to know which tables were eliminated when constructing
        EXPLAIN EXTENDED warning).
      
        Fix the problem of memory leak by calling select_lex->cleanup() in 
        subselect_single_select_engine::prepare().
      cceade1c
    • unknown's avatar
      Automerge MySQL 5.1.44 merge into MariaDB trunk. · 52679413
      unknown authored
      52679413
    • unknown's avatar
      A number of after-merge fixes following merge of MySQL 5.1.44 into MariaDB. · 848df231
      unknown authored
      Bug#46949: memory leak with failed alter table to create partitions based on extract()
      
      Bug#51830: Incorrect partition pruning on range partition (regression)
      
      Fixed valgrind failure in select_describe(), read of uninitialized 
        Item_subselect::eliminated.
      
      PBXT test file updates to reflect changes done in MySQL.
      
      mysql-test/suite/pbxt/r/partition_error.result:
        Result file update following MySQL 5.1.44 changes.
      mysql-test/suite/pbxt/r/partition_pruning.result:
        Result file update following MySQL 5.1.44 changes.
      mysql-test/suite/pbxt/t/partition_error.test:
        Test file update following MySQL 5.1.44 changes.
      sql/item_subselect.cc:
          Fixed valgrind failure in select_describe(), read of uninitialized 
          Item_subselect::eliminated: 
          - it turns out we can call select_describe() without having fixed 
            subquery items for child subselects. These are not the kind of subqueries
            that we could eliminate, so the fix is to ensure that 
            item_subselect->eliminated==FALSE even before fix_fields is called.
            Also added code to reset item_subselect->eliminated back to FALSE in
            Item::reset() call.
      sql/item_subselect.h:
          Fixed valgrind failure in select_describe(), read of uninitialized 
          Item_subselect::eliminated: 
          - it turns out we can call select_describe() without having fixed 
            subquery items for child subselects. These are not the kind of subqueries
            that we could eliminate, so the fix is to ensure that 
            item_subselect->eliminated==FALSE even before fix_fields is called.
            Also added code to reset item_subselect->eliminated back to FALSE in
            Item::reset() call.
      sql/sql_partition.cc:
        Fix Bug#51830: Revert part of the patch for Bug#49742, which caused the regression.
      sql/table.cc:
        Fix Bug#46949: memory leak in failed ALTER TABLE with partitioning.
      848df231
  2. 08 Mar, 2010 2 commits
  3. 06 Mar, 2010 1 commit
    • Sergey Petrunya's avatar
      LPBUG#524025 Running RQG outer_join test leads to crash · 4080e909
      Sergey Petrunya authored
      Save no-records constant tables in JOIN::const_table_map before we invoke
      eliminate_tables(). Failure to do so caused crash when the same table was
      marked as constant two times
      
      mysql-test/r/table_elim.result:
        LPBUG#524025 Running RQG outer_join test leads to crash
        - Testcase
      mysql-test/t/table_elim.test:
        LPBUG#524025 Running RQG outer_join test leads to crash
        - Testcase
      sql/sql_select.cc:
        LPBUG#524025 Running RQG outer_join test leads to crash
        Save no-records constant tables in JOIN::const_table_map before we invoke eliminate_tables(). Failure to do so caused crash when the same table was marked as constant two times.
      4080e909
  4. 04 Mar, 2010 1 commit
  5. 23 Feb, 2010 2 commits
  6. 19 Feb, 2010 1 commit
  7. 18 Feb, 2010 1 commit
    • Sergey Petrunya's avatar
      LPBUG#523593: Running RQG optimizer_no_subquery crashes MariaDB · e2322dc8
      Sergey Petrunya authored
      - When analying multiple equalities, take into account that they 
        may not have a single table field that belongs to one of the tables
        that we're trying to eliminate (and they are not useful for table
        elimination in that case)
      
      mysql-test/r/table_elim.result:
        LPBUG#523593: Running RQG optimizer_no_subquery crashes MariaDB
        - Testcase
      mysql-test/t/table_elim.test:
        LPBUG#523593: Running RQG optimizer_no_subquery crashes MariaDB
        - Testcase
      e2322dc8
  8. 17 Feb, 2010 2 commits
  9. 12 Feb, 2010 1 commit
  10. 11 Feb, 2010 1 commit
  11. 10 Feb, 2010 2 commits
    • Michael Widenius's avatar
      Added option --temporary-tables to test speed of temporary tables · d01b9d0e
      Michael Widenius authored
      mysql-test/suite/parts/t/partition_repair_myisam-master.opt:
        Added missing file from last push
      sql-bench/bench-init.pl.sh:
        Added options:
        --temporary-tables to test speed of temporary tables
      sql-bench/server-cfg.sh:
        Added limit for number of temporary tables one can create
      sql-bench/test-connect.sh:
        Skip test that doesn't work with temporary tables.
      sql-bench/test-create.sh:
        Added limit for number of temporary tables one can create
      d01b9d0e
    • Michael Widenius's avatar
      When one does a drop table, the indexes are not flushed to disk before drop... · c7b97d14
      Michael Widenius authored
      When one does a drop table, the indexes are not flushed to disk before drop anymore (with MyISAM/Maria)
      myisam-recover options changed from OFF to 'DEFAULT' to get less change of data loss when using MyISAM.
      (The disadvantage is that changed MyISAM tables will be checked at access time; Use --myisam-recover=OFF for old behavior)
      Don't call extra(HA_EXTRA_FORCE_REOPEN) in ALTER TABLE if table is locked as this will mark table as crashed!
      Added assert to detect if we accidently would use MyISAM versioning in MySQL
      
      include/my_base.h:
        Mark NOT_USED as USED, as we now use this as a flag to not call extra()
      mysql-test/mysql-test-run.pl:
        Don't write all options when there is something wrong with the arguments
      mysql-test/r/sp-destruct.result:
        Add missing flush of mysql.proc (as the test copied live tables)
      mysql-test/r/variables.result:
        myisam-recover options changed to 'default'
      mysql-test/r/view.result:
        Don't show create time in result
      mysql-test/suite/maria/t/maria-recovery2-master.opt:
        Don't run test with myisam-recover (as this produces extra warnings during simulated death)
      mysql-test/t/sp-destruct.test:
        Add missing flush of mysql.proc (as the test copied live tables)
      mysql-test/t/view.test:
        Don't show create time in result
      sql/lock.cc:
        Added marker if table was deleted to argument list
      sql/mysql_priv.h:
        Added marker if table was deleted to argument list
      sql/mysqld.cc:
        myisam-recover options changed from OFF to 'DEFAULT' to get less change of data loss when using MyISAM
        Allow one to specify OFF as argument to myisam-recover (was default before but one couldn't specify it)
      sql/sql_base.cc:
        Mark if table is going to be deleted
      sql/sql_delete.cc:
        Mark if table is going to be deleted
      sql/sql_table.cc:
        Mark if table is going to be deleted
        Don't call extra(HA_EXTRA_FORCE_REOPEN) in ALTER TABLE if table is locked as this will mark table as crashed!
      sql/table.cc:
        Signal to handler if table is getting deleted as part of getting droped from table cache.
      sql/table.h:
        Added marker if table is going to be deleted.
      storage/maria/ha_maria.cc:
        Don't search for transaction handler if file is not transactional or outside of transaction
        (Fixed possible core dump)
      storage/maria/ma_blockrec.c:
        Don't write changed information if table is going to be deleted.
      storage/maria/ma_close.c:
        Don't write changed information if table is going to be deleted.
      storage/maria/ma_extra.c:
        Mark tables that are deleted as crased, to ensure good behavior on restart if we suddenly crash.
      storage/maria/ma_locking.c:
        Cleanup
      storage/maria/ma_recovery.c:
        We need trnman to be inited during redo phase (to be able to open tables checked with maria_chk)
      storage/maria/maria_def.h:
        Added marker if table is going to be deleted.
      storage/myisam/mi_close.c:
        Don't write changed information if table is going to be deleted.
      storage/myisam/mi_extra.c:
        Mark tables that are deleted as crased, to ensure good behavior on restart if we suddenly crash.
      storage/myisam/mi_open.c:
        Added assert to detect if we accidently would use MyISAM versioning in MySQL
      storage/myisam/myisamdef.h:
        Added marker if table is going to be deleted.
      c7b97d14
  12. 09 Feb, 2010 1 commit
  13. 04 Feb, 2010 2 commits
  14. 03 Feb, 2010 5 commits
  15. 02 Feb, 2010 2 commits
    • Kent Boortz's avatar
      Changes to be able to create source TAR packages with longer · 5458c143
      Kent Boortz authored
      path names than 99 characters, using the USTAR format of the
      resulting source TAR.
      
      To be able to specify the use of USTAR when creating the source
      TAR, we needed both to update the GNU autotools version requirements
      slightly, and update the initiation of the tools to use more
      modern constructs.
      5458c143
    • Luis Soares's avatar
      BUG#47639: The rpl_binlog_corruption test fails on Windows · 19062099
      Luis Soares authored
      The test case rpl_binlog_corruption fails on windows because when
      adding a line to the binary log index file it gets terminated
      with a CR+LF (which btw, is the normal case in windows, but not on
      Unixes - LF). This causes mismatch between the relay log names,
      causing mysqld to report that it cannot find the log file.
      
      We fix this by creating the instrumented index file through
      mysql, ie, using SELECT ... INTO DUMPFILE ..., as opposed on
      relying on ultimatly OS commands like: -- echo "..." >
      index. These changes go into the file and make the procedure
      platform independent:
      
        include/setup_fake_relay_log.inc
      
      Side note: when using SELECT ... INTO DUMPFILE ..., one needs to
      check if mysqld is running with secure_file_priv. If it is, we do
      it in two steps: 1. create the file on the allowed location;
      2. move it to the datadir. If it is not, then we just create the
      file directly on the datadir (so previous step 2. is not needed).
      19062099
  16. 01 Feb, 2010 3 commits
  17. 31 Jan, 2010 2 commits
  18. 30 Jan, 2010 3 commits
    • unknown's avatar
      Bug #48321 CURRENT_USER() incorrectly replicated for DROP/RENAME USER; · 35eb14cd
      unknown authored
                  REVOKE/GRANT; ALTER EVENT.
      
      The following statements support the CURRENT_USER() where a user is needed.
        DROP USER 
        RENAME USER CURRENT_USER() ...
        GRANT ... TO CURRENT_USER()
        REVOKE ... FROM CURRENT_USER()
        ALTER DEFINER = CURRENT_USER() EVENT
      but, When these statements are binlogged, CURRENT_USER() just is binlogged
      as 'CURRENT_USER()', it is not expanded to the real user name. When slave 
      executes the log event, 'CURRENT_USER()' is expand to the user of slave 
      SQL thread, but SQL thread's user name always NULL. This breaks the replication.
      
      After this patch, All above statements are rewritten when they are binlogged.
      The CURRENT_USER() is expanded to the real user's name and host.
      35eb14cd
    • Sergei Golubchik's avatar
      now we force at least libevent-1.4 · 413c348f
      Sergei Golubchik authored
      413c348f
    • unknown's avatar
      16fbc70e
  19. 29 Jan, 2010 5 commits
    • Sergei Golubchik's avatar
      hide nm warnings in configure · 90dc23e0
      Sergei Golubchik authored
      90dc23e0
    • Sergei Golubchik's avatar
      Support building with system libevent · ed729b10
      Sergei Golubchik authored
      ed729b10
    • Michael Widenius's avatar
      Patch set contributed by Alex Budovski (MCA) · 33fec956
      Michael Widenius authored
      Fix for Bug#31173: mysqlslap.exe crashes if called without any parameters
      
      .bzrignore:
        Fixed .bzrignore rules. Many were simply not ignoring what they were meant to.
      client/mysqlslap.c:
        Fixed bug for Bug#31173: mysqlslap.exe crashes if called without any parameters
        The original patch could cause memory leaks and odd problems depending on how connection was made.
        This code ensures that all mysql_options() are set for each mysql_real_connect().
        (This patch by Monty)
      mysys/my_thr_init.c:
        Fixed multiply-initialized critical section on Windows, due to code incorrectly
        checking the wrong field in an attempt to prevent multiple-initialization.
      sql-common/client.c:
        Don't use shared memory if it's not set (for example after failed mysql_real_connect).
        Ensure that mysql_close() resets all resources so that it's safe to call it twice.
        (Patch by monty, related to Bug#31173: mysqlslap.exe crashes if called without any parameters)
      sql/CMakeLists.txt:
         Added page fault counters for SHOW PROFILE on Windows.
      sql/mysqld.cc:
        Fixed attempt to set a NULL event. The code now only sets the event if appropriate (i.e. shared memory is being used)
      sql/sql_profile.cc:
        Added page fault counters for SHOW PROFILE on Windows.
      sql/sql_profile.h:
        Added page fault counters for SHOW PROFILE on Windows.
      sql/udf_example.def:
        Some cleanup functions were not exported from udf_example.dll, causing them to
        never be executed, and as a result multiple-initialization of kernel objects
        occurred and resources were not being freed correctly.
      storage/maria/ma_close.c:
        Condition variable share->key_del_cond was never being destroyed, while its
        containing heap block was being freed in maria_close(), leaking kernel
        resources.
      33fec956
    • Georgi Kodinov's avatar
      merge · a28fd124
      Georgi Kodinov authored
      a28fd124
    • Georgi Kodinov's avatar
      Bug #50642 : ssl certs in test suite are expiring soon. · a9e65862
      Georgi Kodinov authored
      Updated the certs to expire on 2015. 
      Made sure they work with both yassl and openssl.
      a9e65862