1. 21 Mar, 2007 1 commit
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.1-bug26996 · 19630640
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-bug26996
      
      
      heap/hp_write.c:
        Auto merged
      mysql-test/r/heap_btree.result:
        Auto merged
      mysql-test/t/heap_btree.test:
        Bug#26996 - Update of a Field in a Memory Table ends with wrong result
        Manual merge from 4.1
      19630640
  2. 19 Mar, 2007 1 commit
    • unknown's avatar
      Bug#26996 - Update of a Field in a Memory Table ends with wrong result · db573e63
      unknown authored
      Using a MEMORY table BTREE index for scanning for updatable rows
      could lead to an infinite loop.
      
      Everytime a key was inserted into a btree index, the position
      in the index scan was cleared. The search started from the
      beginning and found the same key again.
      
      Now we do not clear the position on key insert an more.
      
      
      heap/hp_write.c:
        Bug#26996 - Update of a Field in a Memory Table ends with wrong result
        Removed the index-scan-breaking nulling of last_pos.
        The comment behind this line ("For heap_rnext/heap_rprev")
        was misleading. It should have been "Breaks heap_rnext/heap_rprev".
      mysql-test/r/heap_btree.result:
        Bug#26996 - Update of a Field in a Memory Table ends with wrong result
        Added test result.
      mysql-test/t/heap_btree.test:
        Bug#26996 - Update of a Field in a Memory Table ends with wrong result
        Added test.
      db573e63
  3. 15 Mar, 2007 1 commit
  4. 14 Mar, 2007 1 commit
    • unknown's avatar
      Bug#25289 - repair table causes "my_seek.c:56: · 3c89dd79
      unknown authored
                  my_seek: Assertion `fd != -1' failed"
      
      In difficult optimize/repair situations the server could crash.
      Under some circumstances the server retries an optimize/repair
      with more elaborate options. But it did not check if the first
      attempt failed so badly that a second one must not be tried.
      
      This could happen when a new data file has been created
      but it was not possible to open it. In this case the
      repair leaves behind a table with closed data file.
      This must not be used for another repair attempt.
      
      We do now detect the closed data file and do not try
      another repair attempt in this situation.
      
      No test case. The required table corruption can not be
      repeated easily. There is a test program attached to
      bug 25433.
      
      
      sql/ha_myisam.cc:
        Bug#25289 - repair table causes "my_seek.c:56:
                    my_seek: Assertion `fd != -1' failed"
        Added code to detect a closed data file. It could be closed
        by a preceeding repair attempt. We must not try another
        repair then.
      3c89dd79
  5. 06 Mar, 2007 1 commit
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.1-bug26464 · 2f863451
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-bug26464
      
      
      mysql-test/t/merge.test:
        Auto merged
      mysql-test/r/merge.result:
        Bug#26464 - insert delayed + update + merge = corruption
        Manual merge from 4.1
      sql/ha_myisammrg.h:
        Bug#26464 - insert delayed + update + merge = corruption
        Manual merge from 4.1
      2f863451
  6. 05 Mar, 2007 1 commit
    • unknown's avatar
      Bug#26464 - insert delayed + update + merge = corruption · da9c659c
      unknown authored
      Using INSERT DELAYED on MERGE tables could lead to table
      corruptions.
      
      The manual lists a couple of storage engines, which can be
      used with INSERT DELAYED. MERGE is not in this list.
      
      The attempt to try it anyway has not been rejected yet.
      This bug was not detected earlier as it can work under
      special circumstances. Most notable is low concurrency.
      
      To be safe, this patch rejects any attempt to use INSERT
      DELAYED on MERGE tables.
      
      
      mysql-test/r/merge.result:
        Bug#26464 - insert delayed + update + merge = corruption
        Added test result.
      mysql-test/t/merge.test:
        Bug#26464 - insert delayed + update + merge = corruption
        Added test.
      sql/ha_myisammrg.h:
        Bug#26464 - insert delayed + update + merge = corruption
        Removed HA_CAN_INSERT_DELAYED flag from table_flags().
        The insert delayed thread upgrades the lock from the first
        entry in MYSQL_LOCK::locks only. Hence it is incapable to
        handle MERGE tables, which have as many entries in this
        array as they have MyISAM sub-tables.
      da9c659c
  7. 28 Feb, 2007 1 commit
    • unknown's avatar
      BUG#26238 - inserted delayed always inserts 0 for BIT columns · af44be2d
      unknown authored
      INSERT DELAYED inserts garbage for BIT columns.
      
      When delayed thread clones TABLE object, it didn't adjusted bit_ptr
      to newly created record (though it correctly adjusts ptr and null_ptr).
      
      This is fixed by correctly adjusting bit_ptr when performing a clone.
      With this fix BIT values are stored correctly by INSERT DELAYED.
      
      
      mysql-test/r/delayed.result:
        A test case for BUG#26238.
      mysql-test/t/delayed.test:
        A test case for BUG#26238.
      sql/field.h:
        Added move_field() to Field_bit class. When moving a field, adjust
        bit_ptr also, which is specific to Field_bit class.
      af44be2d
  8. 20 Feb, 2007 3 commits
  9. 16 Feb, 2007 1 commit
  10. 14 Feb, 2007 3 commits
  11. 13 Feb, 2007 9 commits
    • unknown's avatar
      Post-merge fix · c039eed8
      unknown authored
      c039eed8
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.0 · 579c926d
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
      
      
      BitKeeper/etc/gone:
        auto-union
      mysys/my_getopt.c:
        Auto merged
      sql/field.h:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      mysql-test/r/select.result:
        Manual merge
      mysql-test/t/select.test:
        Manual merge
      579c926d
    • unknown's avatar
      Bug#25807: LOAD DATA INFILE does not work with Pipes · 035062b2
      unknown authored
      Showstopper and regression against 5.0.24.
      
      Previously, we ignored seek() errors (see Bug#22828) and let seek()s
      against pipes fail.  Now, since we check that a seek didn't fail,
      and return without reading, this bug popped up.
      
      This restores the behavior for file-ish objects that could never be 
      seek()ed.
      
      
      mysys/mf_iocache.c:
        If we detect early that the file is not tell()able, then we should
        assume that it's also not seek()able and therefore we should never
        set the (poorly named) "seek_not_done" flag so that we don't immedi-
        ately try to seek() when reading later.
        
        The problem was that tell() was returning -1, so when we read later, 
        we needlessly tried to seek to position  (unsigned long) -1 . 
        
        Also, if we think we're supposed to seek to a position in a file and 
        the file is un-tell()able, then abort.
      035062b2
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-4.1 · af1f49b7
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-4.1-opt
      
      
      af1f49b7
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 82e677b9
      unknown authored
      into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint
      
      
      sql/item.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      82e677b9
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 6f628013
      unknown authored
      into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
      
      
      sql/mysql_priv.h:
        Auto merged
      6f628013
    • unknown's avatar
      Merge pilot.mysql.com:/home/msvensson/mysql/mysql-5.0 · e5c1656e
      unknown authored
      into  pilot.mysql.com:/home/msvensson/mysql/mysql-5.0-maint
      
      
      BitKeeper/etc/ignore:
        auto-union
      e5c1656e
    • unknown's avatar
      Merge pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint · faacf580
      unknown authored
      into  pilot.mysql.com:/home/msvensson/mysql/mysql-5.0-maint
      
      
      BitKeeper/etc/gone:
        auto-union
      mysys/my_getopt.c:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      faacf580
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · e656c582
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug26209
      
      
      sql/sql_select.cc:
        Auto merged
      e656c582
  12. 12 Feb, 2007 17 commits
    • unknown's avatar
      Merge mysql.com:/home/hf/work/20691/my50-20691 · 4c2bc81a
      unknown authored
      into  mysql.com:/home/hf/work/25492/my50-25492
      
      
      sql/item.cc:
        Auto merged
      4c2bc81a
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · e7e25506
      unknown authored
      into  mysql.com:/home/hf/work/25492/my50-25492
      
      
      e7e25506
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-4.1-opt · 38fa86a1
      unknown authored
      into  mysql.com:/home/hf/work/25492/my41-25492
      
      
      38fa86a1
    • unknown's avatar
      Merge mysql.com:/home/hf/work/25492/my41-25492 · 04b64f00
      unknown authored
      into  mysql.com:/home/hf/work/25492/my50-25492
      
      
      libmysqld/lib_sql.cc:
        merging
      04b64f00
    • unknown's avatar
      bug #25492 (Invalid deallocation in mysql_stmt_fetch) · fd76e148
      unknown authored
      
      libmysqld/lib_sql.cc:
        code modified to prevent freeing of memory that wasn't malloc-ed.
        Now we check if MYSQL_STMT::result was used.
      fd76e148
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/5.0 · dfe66b93
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      dfe66b93
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 5e84eb56
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      5e84eb56
    • unknown's avatar
      valgrind error fix · 7ca34a79
      unknown authored
      7ca34a79
    • unknown's avatar
      Fixed MacOSX/Intel linking problem · e307a46c
      unknown authored
       Common symbols with and without initialization
       cause the apple linker to exclude then from the
       list of global symbols.
      
      
      e307a46c
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 1c285489
      unknown authored
      into  mysql.com:/home/tnurnberg/24660/50-24660
      
      
      sql/table.cc:
        Auto merged
      sql/unireg.cc:
        Auto merged
      1c285489
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-maint · 8a34c4bb
      unknown authored
      into  mysql.com:/home/tnurnberg/24660/41-24660
      
      
      sql/table.cc:
        Auto merged
      8a34c4bb
    • unknown's avatar
      Merge mysql.com:/home/tnurnberg/24660/41-24660 · 91f684a5
      unknown authored
      into  mysql.com:/home/tnurnberg/24660/50-24660
      
      
      mysql-test/r/type_enum.result:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/unireg.cc:
        Auto merged
      91f684a5
    • unknown's avatar
      Bug#24660: "enum" field type definition problem · 4dc7c1aa
      unknown authored
      ENUMs weren't allowed to have character 0xff, a perfectly good character in some locales.
      This was circumvented by mapping 0xff in ENUMs to ',', thereby prevent actual commas from
      being used. Now if 0xff makes an appearance, we find a character not used in the enum and
      use that as a separator. If no such character exists, we throw an error.
      
      Any solution would have broken some sort of existing behaviour. This solution should
      serve both fractions (those with 0xff and those with ',' in their enums), but
      WILL REQUIRE A DUMP/RESTORE CYCLE FROM THOSE WITH 0xff IN THEIR ENUMS. :-/
      That is, mysqldump with their current server, and restore when upgrading to one with
      this patch.
      
      
      mysql-test/r/type_enum.result:
        Bug#24660: "enum" field type definition problem
        
        Show that enums can now contain NAMES_SEP_CHAR (0xff, which is a perfectly respectable
        char in some locales), or ',', or both.
      mysql-test/t/type_enum.test:
        Bug#24660: "enum" field type definition problem
        
        Show that enums can now contain NAMES_SEP_CHAR (0xff, which is a perfectly respectable
        char in some locales), or ',', or both.
      sql/table.cc:
        Bug#24660: "enum" field type definition problem
        
        Revert fix for Bug#20922.
      sql/unireg.cc:
        Bug#24660: "enum" field type definition problem
        
        Use a field-separator for ENUM-values that is not part of those values. If impossible,
        throw error.
      4dc7c1aa
    • unknown's avatar
      Bug#24630 Subselect query crashes mysqld · 2572c826
      unknown authored
      The crash happens because second filling of the same I_S table happens in
      case of subselect with order by. table->sort.io_cache previously allocated
      in create_sort_index() is deleted during second filling
      (function get_schema_tables_result). There are two places where
      I_S table can be filled: JOIN::exec and create_sort_index().
      To fix the bug we should check if the table was already filled
      in one of these places and skip processing of the table in second.
      
      
      mysql-test/r/information_schema.result:
        test case
      mysql-test/t/information_schema.test:
        test case
      sql/mysql_priv.h:
        added new parameter 'executed_place' to function get_schema_tables_result()
      sql/sql_select.cc:
        added new parameter 'executed_place' to function get_schema_tables_result()
      sql/sql_show.cc:
        added more accurate check for cases when we need to refresh I_S table
      sql/table.cc:
        added more accurate check for cases when we need to refresh I_S table
      sql/table.h:
        added more accurate check for cases when we need to refresh I_S table
      2572c826
    • unknown's avatar
      bug #20691 (INSERT (DEFAULT) may insert garbage with NO DEFAULT NOT NULL field) · 07f36668
      unknown authored
      Some fields (GEOMETRY first of all) can't be handled properly in this
      case at all. So we return an error in this case
      
      
      mysql-test/r/default.result:
        result fixed
      mysql-test/r/gis.result:
        result fixed
      mysql-test/t/default.test:
        VIEW test added
      mysql-test/t/gis.test:
        testcase added
      sql/item.cc:
        set_defaults() changed with the 'reset()'
      07f36668
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 1932ac9a
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug26159
      
      
      1932ac9a
    • unknown's avatar
      Fixed bug #26209. · ac8e0293
      unknown authored
      The function make_unireg_sortorder ignored the fact that any
      view field is represented by a 'ref' object.
      This could lead to wrong results for the queries containing
      both GROUP BY and ORDER BY clauses.
      
      
      mysql-test/r/view.result:
        Added a test case for bug #26209.
      mysql-test/t/view.test:
        Added a test case for bug #26209.
      ac8e0293