1. 28 Jun, 2005 4 commits
    • unknown's avatar
      Merge rurik.mysql.com:/home/igor/mysql-5.0 · 95fd25f2
      unknown authored
      into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
      
      
      sql/opt_range.cc:
        Auto merged
      95fd25f2
    • unknown's avatar
      A fix and a test case for Bug#10736 "mysql_stmt_attr_set · 79c1be9e
      unknown authored
      CURSOR_TYPE_READ_ONLY select within select".
      The bug was caused by the reset of thd->mem_root to thd->main_mem_root in 
      Item_subselect::exec, which in turn triggered too early free_root() for
      data which was needed on subsequent fetches from a cursor.
      This reset also caused a memory leak in stored procedures, as 
      subsequent executions of instructions containing a subselect
      were allocating memory in thd->main_mem_root, which is not freed
      until the end of the entire SP, instead of the per-call mem_root,
      which is freed in the end of execution of the instruction.
      
      
      sql/item_subselect.cc:
        Don't try to protect subqueries from the code that assumes that
        it can reset thd->mem_root and get away with it: it's responsibility
        of the caller to ensure that no assumption about the life span
        of the allocated memory made by the called code is broken.
        Besides, this didn't work well with cursors and stored procedures, 
        where the runtime memory root is not the same as &thd->main_mem_root.
      sql/opt_range.cc:
        In get_mm_leaf restore the original mem_root of the thd which has
        been temporarily reset with the quick select mem_root earlier: if 
        thd->mem_root points to the QUICK...::mem_root, the memory allocated
        in JOIN::exec during evaluation of a subquery gets freed too early.
      tests/mysql_client_test.c:
        A test case for Bug#10736 "mysql_stmt_attr_set CURSOR_TYPE_READ_ONLY
         select within select"
      79c1be9e
    • unknown's avatar
      range.result, range.test: · 1031b871
      unknown authored
        Added a test case for bug #10031.
      opt_range.cc:
        Fixed bug #10031: range condition was not used with
        views. Range analyzer did not take into account that
        view columns were always referred through Item_ref.
      
      
      sql/opt_range.cc:
        Fixed bug #10031: range condition was not used with
        views. Range analyzer did not take into account that
        view columns were always referred through Item_ref.
      mysql-test/t/range.test:
        Added a test case for bug #10031.
      mysql-test/r/range.result:
        Added a test case for bug #10031.
      1031b871
    • unknown's avatar
      Merge hundin.mysql.fi:/home/marko/mysql-4.1 · 26a52bbe
      unknown authored
      into hundin.mysql.fi:/home/marko/mysql-5.0-current
      
      
      innobase/fil/fil0fil.c:
        SCCS merged
      innobase/include/os0file.h:
        SCCS merged
      innobase/os/os0file.c:
        SCCS merged
      26a52bbe
  2. 27 Jun, 2005 18 commits
    • unknown's avatar
      Fix typo in --default-store-engine help. (Bug #11534) · feffe571
      unknown authored
      
      sql/mysqld.cc:
        Fix typo
      feffe571
    • unknown's avatar
      Many files: · 49e38d31
      unknown authored
        Remove compiler warnings on Windows - Bug #11580
      
      
      innobase/btr/btr0btr.c:
        Remove compiler warnings on Windows - Bug #11580
      innobase/btr/btr0cur.c:
        Remove compiler warnings on Windows - Bug #11580
      innobase/fil/fil0fil.c:
        Remove compiler warnings on Windows - Bug #11580
      innobase/ibuf/ibuf0ibuf.c:
        Remove compiler warnings on Windows - Bug #11580
      innobase/log/log0recv.c:
        Remove compiler warnings on Windows - Bug #11580
      innobase/os/os0file.c:
        Remove compiler warnings on Windows - Bug #11580
      innobase/page/page0page.c:
        Remove compiler warnings on Windows - Bug #11580
      innobase/row/row0upd.c:
        Remove compiler warnings on Windows - Bug #11580
      49e38d31
    • unknown's avatar
      InnoDB: After review fixes · b608f091
      unknown authored
      
      innobase/os/os0file.c:
        os_file_set_size(): After review fixes (prevent overflows)
      b608f091
    • unknown's avatar
      InnoDB: Optimize the extension of files. This will greatly speed · 1084e540
      unknown authored
      up CREATE TABLE in innodb_file_per_table=1 mode.
      
      
      innobase/fil/fil0fil.c:
        fil_extend_space_to_desired_size(): Do not allocate or initialize
        more memory than is necessary.  Write at most one megabyte at a time.
      innobase/include/os0file.h:
        os_file_set_size(): Corrected the synopsis
      innobase/os/os0file.c:
        os_file_set_size(): Corrected the synopsis and some comments.
        s/offset/current_size; s/low/desired_size/;
        Do not allocate or initialize more memory than is necessary.
        Write at most one megabyte at a time.
      1084e540
    • unknown's avatar
      Merge heikki@bk-internal.mysql.com:/home/bk/mysql-5.0 · d94c7745
      unknown authored
      into hundin.mysql.fi:/home/heikki/mysql-5.0
      
      
      d94c7745
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1 · cbc10508
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      client/mysqltest.c:
        Auto merged
      cbc10508
    • unknown's avatar
      Include <sys/wait.h> to get WEXITSTATUS · e00981bb
      unknown authored
      e00981bb
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1 · fde3b951
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      client/mysqltest.c:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      fde3b951
    • unknown's avatar
      Add "#include <stdlib.h>" to define WEXITSTATUS · 8478223a
      unknown authored
      8478223a
    • unknown's avatar
      Simpler impl. · d8ee99b4
      unknown authored
      
      sql/sql_parse.cc:
        Just do a simple sprintf to format error message.
      d8ee99b4
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0 · 71f7df27
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/bug10466
      
      
      mysql-test/r/alias.result:
        Auto merged
      mysql-test/r/func_str.result:
        Auto merged
      mysql-test/r/func_time.result:
        Auto merged
      mysql-test/r/group_by.result:
        Auto merged
      mysql-test/r/innodb.result:
        Auto merged
      mysql-test/r/ps.result:
        Auto merged
      mysql-test/r/ps_2myisam.result:
        Auto merged
      mysql-test/r/ps_3innodb.result:
        Auto merged
      mysql-test/r/ps_4heap.result:
        Auto merged
      mysql-test/r/ps_5merge.result:
        Auto merged
      mysql-test/r/ps_6bdb.result:
        Auto merged
      mysql-test/r/ps_7ndb.result:
        Auto merged
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/alias.test:
        Auto merged
      mysql-test/t/func_str.test:
        Auto merged
      mysql-test/t/func_time.test:
        Auto merged
      mysql-test/t/group_by.test:
        Auto merged
      mysql-test/t/innodb.test:
        Auto merged
      mysql-test/t/ps.test:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/share/errmsg.txt:
        Auto merged
      71f7df27
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 5ae1fd9d
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      5ae1fd9d
    • unknown's avatar
      Merge problem fixes · 74586e95
      unknown authored
      
      mysql-test/r/client_xml.result:
        Update testresult
      mysql-test/r/ndb_autodiscover.result:
        Moving order opf test results to match test execution order
      74586e95
    • unknown's avatar
      Fix the broken test suite in -debug build. · 48cb6de7
      unknown authored
      
      sql/sql_select.cc:
        If we use subqueries, we can have double-free of tmp_table_param.copy_field
        in JOIN::destroy and in JOIN::join_free because.
      48cb6de7
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 7ce67307
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      mysql-test/mysql-test-run.sh:
        Auto merged
      7ce67307
    • unknown's avatar
      Merge heikki@bk-internal.mysql.com:/home/bk/mysql-5.0 · aa32b76a
      unknown authored
      into hundin.mysql.fi:/home/heikki/mysql-5.0
      
      
      aa32b76a
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · f40f711e
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-4.1
      
      
      f40f711e
    • unknown's avatar
      Fix for Intel compiler · 3bdac0a0
      unknown authored
      3bdac0a0
  3. 25 Jun, 2005 1 commit
  4. 24 Jun, 2005 17 commits
    • unknown's avatar
      Free unused JOINs early even if using subqueries. · f6edb3f5
      unknown authored
      
      sql/sql_select.cc:
        According to the conclusion made in the previous patch, we can widen
        the range of cases when JOINs are fully freed early, and include 
        subqueries to it.
      f6edb3f5
    • unknown's avatar
      Remove an unrelevant assert. · 024d232a
      unknown authored
      
      sql/sql_select.cc:
        This assert is not relevant because:
        - the correct assert is DBUG_ASSERT(! (full && sl->uncacheable)) 
          (prevents freeing of uncacheable JOINs), it breaks view.test
        - it seems we can free internal JOINs, even if they are uncacheable:
          if the top level join is evaluated, we're not going to need  the
          internal joins any more
      024d232a
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 9f62303d
      unknown authored
      into mysql.com:/opt/local/work/mysql-5.0-join_free2push
      
      
      9f62303d
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · e0fde7f5
      unknown authored
      into mysql.com:/opt/local/work/mysql-5.0-join_free2push
      
      
      sql/sql_select.cc:
        Auto merged
      sql/sql_select.h:
        Auto merged
      e0fde7f5
    • unknown's avatar
      - don't call JOIN::join_free(1) twice for every join in JOIN::cleanup(). · 97e78d60
      unknown authored
      The reason it happened was that both, JOIN::cleanup() and JOIN::join_free(),
      went over all nested joins and called cleanup/join_free for them.
      For that:
      - split recursive and non-recursive parts of JOIN::cleanup() and
      JOIN::join_free()
      - rename JOIN::cleanup to JOIN::destroy, as it actually destroys its
        argument
      - move the recursive part of JOIN::cleanup to st_select_lex::cleanup
      - move the non-recursive part of JOIN::join_free to the introduced
        method JOIN::cleanup().
      
      
      sql/sql_lex.h:
        Add st_select_lex::cleanup, a counterpart of st_select_lex_unit::cleanup()
      sql/sql_select.cc:
        - remove two unused arguments from return_zero_rows
        - split JOIN::join_free and JOIN::cleanup to recursive and non-recursive
          parts.
        - note, the assert in JOIN::join_free _does_ fail in having.test.
          We have two options: a) propagate `full' flag to the nested joins.
          We did it before, and this patch didn't change it. If so, we 
          can end up cleaning up an uncacheable JOIN (that is, the join that
          we might need again).
          b) evaluate own 'full' flag on every level. In this case, we might
          end up with tables freed in mysql_unlock_read_tables, but not
          cleaned up properly, and this may be even worse. The test suite
          passes with both approaches, but not with the assert.
      sql/sql_select.h:
        - declarations for JOIN::cleanup() and JOIN::join_free()
      sql/sql_union.cc:
        Add st_select_lex::cleanup, a counterpart of st_select_lex_unit::cleanup():
        move the recursive part of JOIN::cleanup to it.
      97e78d60
    • unknown's avatar
      Merge mysql.com:/home/mydev/mysql-5.0 · a6975b89
      unknown authored
      into mysql.com:/home/mydev/mysql-5.0-bug8321
      
      
      a6975b89
    • unknown's avatar
      Bug#10178 - failure to find a row in heap table by concurrent UPDATEs · 1960fbcf
      unknown authored
      After merge fixes of test result.
      
      
      1960fbcf
    • unknown's avatar
      Merge mysql.com:/Users/kent/mysql/bk/mysql-5.0-release · 5491325c
      unknown authored
      into mysql.com:/Users/kent/mysql/bk/mysql-5.0
      
      
      5491325c
    • unknown's avatar
      Bug#10178 - failure to find a row in heap table by concurrent UPDATEs · 2e6d41d1
      unknown authored
      Bug#10568 - Function 'LAST_DAY(date)' does not return NULL for invalid argument.
      Manual merge.
      
      
      include/my_global.h:
        Auto merged
      mysql-test/t/heap_hash.test:
        Auto merged
      sql/ha_heap.h:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      mysql-test/r/func_time.result:
        Manual merge.
        Used local for the backported fix for Bug#10568.
      mysql-test/r/heap_hash.result:
        Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
        Manual merge.
      mysql-test/t/func_time.test:
        Manual merge.
        Used local for the backported fix for Bug#10568.
      sql/ha_heap.cc:
        Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
        Manual merge.
      2e6d41d1
    • unknown's avatar
      Merge · be3d7091
      unknown authored
      
      mysql-test/r/view.result:
        SCCS merged
      mysql-test/t/view.test:
        SCCS merged
      be3d7091
    • unknown's avatar
      Bug#8321 - myisampack bug in compression algorithm · 12a640e2
      unknown authored
      Added 64-bit extensions, comments, extended statistics 
      and trace prints.
      
      
      include/my_base.h:
        Bug#8321 - myisampack bug in compression algorithm
        Added a comment.
      myisam/mi_packrec.c:
        Bug#8321 - myisampack bug in compression algorithm
        Fixed a function comment.
      myisam/myisampack.c:
        Bug#8321 - myisampack bug in compression algorithm
        Enlarged the variables which hold Huffman codes to
        ulonglong and adjusted the functions accordingly.
        Added test code for long Huffman codes.
        Enlarged the distinct column values buffer (tree_buff)
        and added checks to stay in its range.
        Added statistics and trace prints.
        Added a lot of comments.
      mysys/tree.c:
        Bug#8321 - myisampack bug in compression algorithm
        Added a check against overflow of the tree element count.
        The tree element count is only 31 bits, but sometimes
        used for big numbers. There is however no application yet,
        which relies on exact tree element counts.
      12a640e2
    • unknown's avatar
      mysql-test-run.pl: · a01d1106
      unknown authored
        Corrected master server id's
      
      
      mysql-test/mysql-test-run.pl:
        Corrected master server id's
      a01d1106
    • unknown's avatar
      Fix bug#11325 Wrong date comparison in views · fd3ac382
      unknown authored
      Wrong comparing method were choosen which results in false comparison.
      
      Make Item_bool_func2::fix_length_and_dec() to get type and field from
      real_item() to make REF_ITEM pass the check. 
      
      
      sql/item_cmpfunc.cc:
        Fix bug#11325 Wrong date comparison in views
      mysql-test/t/view.test:
        Test case for bug#11325 Wrong date comparison in views.
      mysql-test/r/view.result:
        Test case for bug#11325 Wrong date comparison in views.
      fd3ac382
    • unknown's avatar
      Bug#10178 - failure to find a row in heap table by concurrent UPDATEs · a7e66efc
      unknown authored
      Moved the key statistics update to info().
      The table is not locked in open(). This made wrong stats possible.
      
      No test case for the test suite.
      This happens only with heavy concurrency.
      A test script is added to the bug report.
      
      
      mysql-test/r/heap_hash.result:
        Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
        Updated test results to reflect the new  statistics behaviour.
      mysql-test/t/heap_hash.test:
        Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
        Added a FLUSH TABLES to avoid statistics differences between normal 
        and ps-protocol tests.
      sql/ha_heap.cc:
        Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
        Moved the key statistics update to info().
        The table is not locked in open(). This made wrong stats possible.
      sql/ha_heap.h:
        Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
        Added an element to track the validity of the key statistics.
      a7e66efc
    • unknown's avatar
      mysql-test-run.sh: · b743e2b4
      unknown authored
        Corrected path to CA certificate
      
      
      mysql-test/mysql-test-run.sh:
        Corrected path to CA certificate
      b743e2b4
    • unknown's avatar
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0 · 0c0a5097
      unknown authored
      into rurik.mysql.com:/home/igor/mysql-5.0
      
      
      0c0a5097