1. 09 Jun, 2009 1 commit
    • Sergey Petrunia's avatar
      MWL#17: Table elimination · a875eb20
      Sergey Petrunia authored
      - Make elimination work with aggregate functions. The problem was that aggregate functions 
        reported all table bits in used_tables(), and that prevented table elimination. Fixed by 
        making aggregate functions return more correct value from used_tables(). 
      
      mysql-test/r/ps_11bugs.result:
        MWL#17: Table elimination
        - Update test results. The difference is because of Item_ref change: outer references to constants
          are now recognized as constants, too.
      mysql-test/r/subselect.result:
        - Update test results. The difference is because of Item_ref change: outer references to constants
          are now recognized as constants, too.
      mysql-test/r/table_elim.result:
        MWL#17: Table elimination
        - Check that elimination works in presense of aggreagate functions
      mysql-test/t/table_elim.test:
        MWL#17: Table elimination
        - Check that elimination works in presense of aggreagate functions
      sql/item.h:
        MWL#17: Table elimination
        - Add Item_ref::const_item() which calls (*ref)->const_item(). Before this diff Item_ref used the 
          default implementation of const_item(){ return used_tables()==0; }. This is no longer true, as 
          COUNT(*) now has used_tables()==0 but const_item()==FALSE.
      sql/item_sum.cc:
        MWL#17: Table elimination
        - Make Item_sum() and it descendants not to return all bits in used_tables(). This is needed 
          because otherwise table elimination can't work in presense of aggregate functions
        - COUNT(*) now has used_tables()==0 and const_item()==FALSE. Had to change 
          Item_ref::const_item() to account for this.
      sql/item_sum.h:
        MWL#17: Table elimination
        - Add comments
      a875eb20
  2. 08 Jun, 2009 1 commit
  3. 07 Jun, 2009 2 commits
  4. 03 Jun, 2009 2 commits
    • Sergey Petrunia's avatar
      Merge MWL#17 with maria/5.1 · 70891c38
      Sergey Petrunia authored
      70891c38
    • Sergey Petrunia's avatar
      MWL#17: Table elimination · 7fef8cdd
      Sergey Petrunia authored
      - First code. Elimination works for simple cases, passes the testsuite.
      - Known issues:
        = No elimination is done for aggregate functions.
        = EXPLAIN EXTENDED shows eliminated tables (I think it better not)
        = No benchmark yet
        = The code needs some polishing.
      
      mysql-test/r/table_elim.result:
        MWL#17: Table elimination
        - Testcases
      mysql-test/t/table_elim.test:
        MWL#17: Table elimination
        - Testcases
      sql/sql_select.cc:
        MWL#17: Table elimination
      sql/sql_select.h:
        MWL#17: Table elimination
        - Added JOIN_TAB::eliminated (is JOIN_TAB the best place to store this flag?)
      sql/table.h:
        MWL#17: Table elimination
        - ADded NESTED_JOIN::n_tables. We need to have the number of real tables remaining in an outer join nest.
      7fef8cdd
  5. 02 Jun, 2009 2 commits
  6. 25 May, 2009 1 commit
  7. 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. · c07af4cc
      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.
      c07af4cc
  8. 20 May, 2009 1 commit
  9. 19 May, 2009 2 commits
    • Michael Widenius's avatar
      Merge · e1343e88
      Michael Widenius authored
      support-files/build-tags:
        Merge.
      e1343e88
    • Michael Widenius's avatar
      Fixed problems in merge · 0357700e
      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
      0357700e
  10. 18 May, 2009 1 commit
  11. 12 May, 2009 1 commit
    • Michael Widenius's avatar
      Merge fixes. · 4e2fc9bc
      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.
      4e2fc9bc
  12. 11 May, 2009 1 commit
  13. 09 May, 2009 1 commit
  14. 06 May, 2009 1 commit
    • unknown's avatar
      We are now using Valgrind rather than purify, and have for quite some time. · 8eee7808
      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.
      8eee7808
  15. 25 Apr, 2009 2 commits
    • Michael Widenius's avatar
      Merged with mysql-5.1 tree. · 2fe328a5
      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
      2fe328a5
    • Michael Widenius's avatar
      bzr merge from guilhem's maria tree to our local 5.1 · d364b563
      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
      d364b563
  16. 23 Apr, 2009 1 commit
  17. 21 Apr, 2009 2 commits
  18. 16 Apr, 2009 1 commit
  19. 08 Apr, 2009 6 commits
    • Michael Widenius's avatar
      Merge with Trunk · b10a690b
      Michael Widenius authored
      b10a690b
    • Michael Widenius's avatar
      Fixed wrong test for extra_ip_sock that caused mysqld to die on Mac if --extra-port was used · a98ccec6
      Michael Widenius authored
      sql/sql_string.cc:
        Optimized tests to do fewer reallocs
      sql/strfunc.cc:
        Indentation fix
      a98ccec6
    • unknown's avatar
      Merge mariadb-5.1 · 23fa4551
      unknown authored
      23fa4551
    • unknown's avatar
      Fix Valgrind errors seen in buildbot. · 406ccdff
      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.
      406ccdff
    • Michael Widenius's avatar
      Merge with trunc (no conflicts) · 3e514b84
      Michael Widenius authored
      3e514b84
    • Michael Widenius's avatar
      Updated comment · ae3b9048
      Michael Widenius authored
      ae3b9048
  20. 07 Apr, 2009 3 commits
  21. 03 Apr, 2009 3 commits
  22. 02 Apr, 2009 3 commits