1. 30 Jun, 2005 4 commits
    • unknown's avatar
      Fixed BUG#11529: crash server after use stored procedure · 17c6faa4
      unknown authored
      Make sure to cleanup the items for a cursor query after each open, otherwise
      it's done too late, after the run-time mem_root is freed.
      
      
      mysql-test/r/sp.result:
        New test case for BUG#11529.
      mysql-test/t/sp.test:
        New test case for BUG#11529.
      sql/sp_head.cc:
        Add a back pointer from a sp_cursor to its cpush instruction, and use it to set
        the arena and cleanup the items for the cursor's query when opening it.
      sql/sp_rcontext.cc:
        Store pointer in sp_cursor to its cpush instruction.
      sql/sp_rcontext.h:
        Store pointer in sp_cursor to its cpush instruction.
      17c6faa4
    • unknown's avatar
      A fix and a test case for Bug#10794 "mysql_stmt_attr_set no · c8401177
      unknown authored
      open cursor after mysql_stmt_execute" + post-review fixes.
      The bug was caused by wrong flags in stmt->server_status on the client
      side: if there was no cursor, the server didn't send server_status
      flags to the client, and the old flags were used to set up the
      fetch function of a statement. Consequently, stmt_read_row_from_cursor was
      used when there was no cursor. The fix fixes the server to always
      send server flags to the client.
      
      
      include/mysql_com.h:
        Update stale comments.
      libmysql/libmysql.c:
        Remove an extra assignment.
      libmysqld/lib_sql.cc:
        Update to correspond to the changed signature of send_eof
      sql/protocol.cc:
        Actual fix for bug#10794: create a function that writes the eof
        packet to network and use it from send_fields. We need to send
        a full eof packet from send_fields to inform the client about
        the cursor status (that there is no cursor in this case).
      sql/protocol.h:
        Remove an unused parameter for send_eof.
      tests/mysql_client_test.c:
        A test case for Bug#10794 "mysql_stmt_attr_set no open cursor 
        after mysql_stmt_execute"
      c8401177
    • unknown's avatar
      Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb · 96923083
      unknown authored
      into  linux.site:/home/marty/MySQL/mysql-5.0
      
      
      BitKeeper/etc/logging_ok:
        auto-union
      configure.in:
        Auto merged
      mysql-test/mysql-test-run.sh:
        Auto merged
      mysys/default.c:
        Auto merged
      ndb/include/transporter/TransporterDefinitions.hpp:
        Auto merged
      ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
        Auto merged
      ndb/src/ndbapi/NdbDictionaryImpl.cpp:
        Auto merged
      ndb/test/ndbapi/testBlobs.cpp:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      strings/ctype-big5.c:
        Auto merged
      strings/ctype-ucs2.c:
        Auto merged
      96923083
    • unknown's avatar
      a fix. · 654e468c
      unknown authored
      bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
      bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
      bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs 
      
      
      mysql-test/r/type_bit.result:
        test case.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
      mysql-test/t/type_bit.test:
        test case.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
      sql/field.h:
        a fix.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs 
        
        - max_length() returns length in bits.
        - introduced set_bit_ptr() function, which sets bit_ptr and bit_ofs.
      sql/item.cc:
        a fix.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
        
        - create Field_bit_as_char in case of MYSQL_TYPE_BIT in the Item::tmp_table_field_from_field_type()
          (we cannot create Field_bit here because of lack of information: bit_ptr, bit_ofs)
      sql/mysql_priv.h:
        a fix.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs 
        
        - table_cant_handle_bit_fields parameter added to the create_tmp_field()
      sql/sql_select.cc:
        a fix.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
        
        - create_tmp_field() changes to return create_tmp_field_from_item() result 
          (actually, Field_bit_as_char) if table_cant_handle_bit_fields=1 for bit fields.
        - create_tmp_field() calls accordingly changed 
        - call set_bit_ptr() for bit fields after the move_field() call during 
          temporary table creation.
      sql/sql_table.cc:
        a fix.
        bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
        bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
        bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
        
        - changed the create_tmp_field() call
      654e468c
  2. 29 Jun, 2005 11 commits
  3. 28 Jun, 2005 8 commits
    • unknown's avatar
      post review fixes to a patch · 9af9c22a
      unknown authored
      
      mysys/default_modify.c:
        post revew fixes to a patch
      9af9c22a
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0 · 1072fab7
      unknown authored
      into rurik.mysql.com:/home/igor/mysql-5.0
      
      
      sql/opt_range.cc:
        Auto merged
      1072fab7
    • unknown's avatar
      opt_range.cc: · dbd1d927
      unknown authored
        Fixed a compilation error.
      
      
      sql/opt_range.cc:
        Fixed a compilation error.
      dbd1d927
    • unknown's avatar
      Fixed comments. · e899af6b
      unknown authored
      
      sql/opt_range.cc:
        comment fixed.
      sql/sp_head.cc:
        An obsolete comment removed.
      e899af6b
    • unknown's avatar
      Merge rurik.mysql.com:/home/igor/mysql-5.0 · af78014c
      unknown authored
      into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
      
      
      sql/opt_range.cc:
        Auto merged
      af78014c
    • unknown's avatar
      A fix and a test case for Bug#10736 "mysql_stmt_attr_set · cbb60f5e
      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"
      cbb60f5e
    • unknown's avatar
      range.result, range.test: · c83972fa
      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.
      c83972fa
    • unknown's avatar
      Merge hundin.mysql.fi:/home/marko/mysql-4.1 · 625c862b
      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
      625c862b
  4. 27 Jun, 2005 17 commits
    • unknown's avatar
      Fix typo in --default-store-engine help. (Bug #11534) · c3abc8f0
      unknown authored
      
      sql/mysqld.cc:
        Fix typo
      c3abc8f0
    • unknown's avatar
      Many files: · 118978eb
      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
      118978eb
    • unknown's avatar
      InnoDB: After review fixes · 3e5cc49a
      unknown authored
      
      innobase/os/os0file.c:
        os_file_set_size(): After review fixes (prevent overflows)
      3e5cc49a
    • unknown's avatar
      InnoDB: Optimize the extension of files. This will greatly speed · 1b9e7350
      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.
      1b9e7350
    • unknown's avatar
      Merge heikki@bk-internal.mysql.com:/home/bk/mysql-5.0 · f4a72069
      unknown authored
      into hundin.mysql.fi:/home/heikki/mysql-5.0
      
      f4a72069
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1 · 57c8f4ef
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      client/mysqltest.c:
        Auto merged
      57c8f4ef
    • unknown's avatar
      Include <sys/wait.h> to get WEXITSTATUS · dca8f40c
      unknown authored
      dca8f40c
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1 · 9ef5c755
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      client/mysqltest.c:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      9ef5c755
    • unknown's avatar
      Add "#include <stdlib.h>" to define WEXITSTATUS · 952ad99c
      unknown authored
      952ad99c
    • unknown's avatar
      Simpler impl. · 51fa5733
      unknown authored
      
      sql/sql_parse.cc:
        Just do a simple sprintf to format error message.
      51fa5733
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0 · fed72117
      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
      fed72117
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 85c0b742
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      85c0b742
    • unknown's avatar
      Merge problem fixes · 69487da2
      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
      69487da2
    • unknown's avatar
      Fix the broken test suite in -debug build. · 3bcab50f
      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.
      3bcab50f
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 778a9b56
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      mysql-test/mysql-test-run.sh:
        Auto merged
      778a9b56
    • unknown's avatar
      Merge heikki@bk-internal.mysql.com:/home/bk/mysql-5.0 · a6ef5ed9
      unknown authored
      into hundin.mysql.fi:/home/heikki/mysql-5.0
      
      a6ef5ed9
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 9eb9eca7
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-4.1
      
      9eb9eca7