1. 26 Jul, 2006 1 commit
  2. 21 Jul, 2006 2 commits
    • unknown's avatar
      Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-4.1 · 90040183
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1
      
      
      90040183
    • unknown's avatar
      Bug#20719 - Reading dynamic records with write buffer could fail · a611fbf1
      unknown authored
      Fixed a possible problem with reading of dynamic records
      when a write cache is active. The cache must be flushed
      whenever a part of the file in the write cache is to be 
      read.
      
      Added a read optimization to _mi_read_dynamic_record().
      
      No test case. This was a hypothetical but existing problem.
      
      
      myisam/mi_dynrec.c:
        Bug#20719 - Reading dynamic records with write buffer could fail
        
        Fixed a possible problem with reading of dynamic records
        when a write cache is active. The cache must be flushed
        whenever a part of the file in the write cache is to be 
        read. This must be done before the read of the header
        and before the read of the rest block.
        
        Renamed the 'flag' and 'skipp_deleted_blocks' variables.
        
        Added a read optimization to _mi_read_dynamic_record()
        that was present in _mi_read_rnd_dynamic_record() already.
        After _mi_get_block_info() we have some bytes of the record
        in the header buffer already. No need to read them again.
      a611fbf1
  3. 09 Jul, 2006 1 commit
    • unknown's avatar
      BUG#20919 temp tables closing fails when binlog is off · 868fee4d
      unknown authored
      closing temp tables through end_thread
      had a flaw in binlog-off branch of close_temporary_tables where
      next table to close was reset via table->next
       for (table= thd->temporary_tables; table; table= table->next)
      which was wrong since the current table instance got destoyed at
      	close_temporary(table, 1);
      
      The fix adapts binlog-on branch method to engage the loop's internal 'next' variable which holds table->next prior table's destoying.
      
      
      
      sql/sql_base.cc:
        no-binlog branch is fixed: scanning across temporary_tables must be careful to save next table since the current is being destroyed inside of close_temporary. 
        binlog-is-open case is ok.
      868fee4d
  4. 04 Jul, 2006 1 commit
    • unknown's avatar
      Merge mysql.com:/home/mydev/mysql-4.0-bug14400 · 752b826e
      unknown authored
      into  mysql.com:/home/mydev/mysql-4.1-bug14400
      
      
      myisam/mi_rkey.c:
        Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert"
        Manual merge
      sql/sql_class.cc:
        Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert"
        Manual merge
      752b826e
  5. 29 Jun, 2006 1 commit
  6. 28 Jun, 2006 1 commit
    • unknown's avatar
      Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" · 7aa26e26
      unknown authored
      It was possible that fetching a record by an exact key value 
      (including the record pointer) could return a record with a 
      different key value. This happened only if a concurrent insert 
      added a record with the searched key value after the fetching 
      statement locked the table for read.
      
      The search succeded on the key value, but the record was
      rejected as it was past the file length that was remembered
      at start of the fetching statement. With other words it was 
      rejected as being a concurrently inserted record.
      
      The action to recover from this problem was to fetch the 
      record that is pointed at by the next key of the index. 
      This was repeated until a record below the file length was 
      found.
      
      I do now avoid this loop if an exact match was searched. 
      If this match is beyond the file length, it is now treated 
      as "key not found". There cannot be another key with the 
      same record pointer.
      
      
      myisam/mi_rkey.c:
        Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert"
        Added a check for exact key match before searching for
        the next key that was not concurrently inserted. If an
        exact key match finds a concurrently inserted row, this
        must be treated as "key not found".
      sql/sql_class.cc:
        Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert"
        Fixed some DBUG_ENTER strings.
      7aa26e26
  7. 27 Jun, 2006 3 commits
    • unknown's avatar
      BUG#1662 - ALTER TABLE LIKE ignores DATA/INDEX DIRECTPORY · f4a07612
      unknown authored
      Produce a warning if DATA/INDEX DIRECTORY is specified in
      ALTER TABLE statement.
      
      Ignoring of these options is documented in the symbolic links
      section of the manual.
      
      
      mysql-test/r/symlink.result:
        Modified test result according to fix for BUG#1662.
      sql/sql_parse.cc:
        Produce a warning if DATA/INDEX DIRECTORY is specified in
        ALTER TABLE statement.
      f4a07612
    • unknown's avatar
      Dec. 31st, 9999 is still a valid date, only starting with Jan 1st 10000 things... · 82d127b5
      unknown authored
      Dec. 31st, 9999 is still a valid date, only starting with Jan 1st 10000 things become invalid (Bug #12356)
      
      
      mysql-test/r/func_sapdb.result:
        test cases for date range edge cases added
      mysql-test/r/func_time.result:
        test cases for date range edge cases added
      mysql-test/t/func_sapdb.test:
        test cases for date range edge cases added
      mysql-test/t/func_time.test:
        test cases for date range edge cases added
      82d127b5
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1 · 79952ec0
      unknown authored
      into mysql.com:/home/hf/work/mysql-4.1.clean
      
      
      79952ec0
  8. 26 Jun, 2006 4 commits
  9. 23 Jun, 2006 1 commit
    • unknown's avatar
      Bug#11228: DESC shows arbitrary column as "PRI" · 89e41595
      unknown authored
        An UNIQUE KEY consisting of NOT NULL columns
        was displayed as PRIMARY KEY in "DESC t1".
        According to the code, that was intentional
        behaviour for some reasons unknown to me.
        This code was written before bitkeeper time,
        so I cannot check who and why made this.
        After discussing on dev-public, a decision
        was made to remove this code
      
      
      mysql-test/r/key.result:
        Adding test case.
      mysql-test/t/key.test:
        Adding test case.
      sql/table.cc:
        Removing old wrong code
      89e41595
  10. 22 Jun, 2006 2 commits
    • unknown's avatar
      mysql.spec.sh: · 92ad3d5b
      unknown authored
        Disable the simplistic auto dependency scan for test/bench (bug#20078)
      
      
      support-files/mysql.spec.sh:
        Disable the simplistic auto dependency scan for test/bench (bug#20078)
      92ad3d5b
    • unknown's avatar
      bug #10166 (Signed byte values cause data to be padded) · 9a4b76ed
      unknown authored
      The AsBinary function returns VARCHAR data type with binary collation.
      It can cause problem for clients that treat that kind of data as
      different from BLOB type.
      So now AsBinary returns BLOB.
      
      
      mysql-test/r/gis.result:
        result fixed
      mysql-test/t/gis.test:
        test case added
      sql/item_geofunc.h:
        Now we return MYSQL_TYPE_BLOB for asBinary function
      9a4b76ed
  11. 21 Jun, 2006 6 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1 · d5797063
      unknown authored
      into moonbone.local:/work/tmp_merge-4.1-opt-mysql
      
      
      d5797063
    • unknown's avatar
      Fixed bug #14896. · 822e8866
      unknown authored
      This bug in Field_string::cmp resulted in a wrong comparison 
      with keys in partial indexes over multi-byte character fields.
      Given field a is declared as a varchar(16) collate utf8_unicode_ci
      INDEX(a(4)) gives us an example of such an index.
        
      Wrong key comparisons could lead to wrong result sets if 
      the selected query execution plan used a range scan by 
      a partial index over a utf8 character field.
      This also caused wrong results in many other cases.
      
      
      mysql-test/t/ctype_utf8.test:
        Added test cases for bug #14896.
      mysql-test/r/ctype_utf8.result:
        Added test cases for bug #14896.
      sql/field.cc:
        Fixed bug #14896.
        This bug in Field_string::cmp resulted in a wrong comparison 
        with keys in partial indexes over multi-byte character fields.
        Given field a is declared as a varchar(16) collate utf8_unicode_ci
        INDEX(a(4)) gives us an example of such an index.
             
        Wrong key comparisons could lead to wrong result sets if 
        the selected query execution plan used a range scan by 
        a partial index over a utf8 character field.
        This also caused wrong results in many other cases.
      822e8866
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1 · 630a1ee4
      unknown authored
      into  may.pils.ru:/home/svoj/devel/mysql/BUG20357/mysql-4.1
      
      
      630a1ee4
    • unknown's avatar
      added missing MYSQLTEST_VARDIR declaration · fa83f8ba
      unknown authored
      fa83f8ba
    • unknown's avatar
      Merge april:devel/BitKeeper/mysql-4.1 · bf76f070
      unknown authored
      into  may.pils.ru:/home/svoj/devel/mysql/BUG20357/mysql-4.1
      
      
      sql/opt_sum.cc:
        Auto merged
      mysql-test/r/myisam.result:
        SCCS merged
      mysql-test/t/myisam.test:
        SCCS merged
      bf76f070
    • unknown's avatar
      BUG#20357 - Got error 124 from storage engine using MIN and MAX · 5c0cdea6
      unknown authored
                  functions in queries
      
      Using MAX()/MIN() on table with disabled indexes (by ALTER TABLE)
      results in error 124 (wrong index) from storage engine.
      
      The problem was that optimizer use disabled index to optimize
      MAX()/MIN(). Normally it must skip disabled index and perform
      table scan.
      
      This patch skips disabled indexes for min/max optimization.
      
      
      mysql-test/r/myisam.result:
        Test case for BUG#20357.
      mysql-test/t/myisam.test:
        Test case for BUG#20357.
      sql/opt_sum.cc:
        Skip disabled/ignored indexes for min/max optimization.
      5c0cdea6
  12. 20 Jun, 2006 5 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 49042de5
      unknown authored
      into moonbone.local:/work/tmp_merge-4.1-opt-mysql
      
      
      49042de5
    • unknown's avatar
      select.result: · 3e7d68b1
      unknown authored
        Added test case for bug#18759 Incorrect string to numeric conversion.  
      select.test:
        Added test case for bug#18759 Incorrect string to numeric conversion.
      item_cmpfunc.cc:
        Cleanup after fix for bug#18360 removal
      
      
      sql/item_cmpfunc.cc:
        Cleanup after fix for bug#18360 removal
      mysql-test/t/select.test:
        Added test case for bug#18759 Incorrect string to numeric conversion.
      mysql-test/r/select.result:
        Added test case for bug#18759 Incorrect string to numeric conversion.
      3e7d68b1
    • unknown's avatar
      Merge mysql.com:/usr/home/ram/work/mysql-4.0 · 9a7da931
      unknown authored
      into  mysql.com:/usr/home/ram/work/mysql-4.1
      
      
      mysql-test/r/func_str.result:
        merge (ul)
      mysql-test/t/func_str.test:
        merge (ul)
      sql/item_strfunc.cc:
        merge (ul)
      sql/item_strfunc.h:
        merge (ul)
      9a7da931
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 91a76683
      unknown authored
      into  mysql.com:/usr/home/ram/work/mysql-4.1
      
      
      91a76683
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1 · 953ffa7d
      unknown authored
      into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
      
      
      953ffa7d
  13. 19 Jun, 2006 10 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · 846c46ea
      unknown authored
      into moonbone.local:/work/tmp_merge-4.1-opt-mysql
      
      
      846c46ea
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 495c6b13
      unknown authored
      into moonbone.local:/work/tmp_merge-4.1-opt-mysql
      
      
      495c6b13
    • unknown's avatar
      item_cmpfunc.cc, func_in.result, func_in.test: · 028fa1e4
      unknown authored
        Reverted fix for bug#18360
      
      
      mysql-test/t/func_in.test:
        Reverted fix for bug#18360
      mysql-test/r/func_in.result:
        Reverted fix for bug#18360
      sql/item_cmpfunc.cc:
        Reverted fix for bug#18360
      028fa1e4
    • unknown's avatar
      bug #20318 (ctype_ucs2_def test fails with embedded) · 8b6c2d31
      unknown authored
      there was two problems about charsets in embedded server
      1. mysys/charset.c - defined there default_charset_info variable is
      modified by both server and client code (particularly when
      --default-charset option is handled)
      In embedded server we get two codelines modifying one variable.
      I created separate default_client_charset_info for client code
      
      2. mysql->charset and mysql->options.charset initialization isn't
      properly done for embedded server - necessary calls added
      
      
      include/sql_common.h:
        client charset info default declared
      libmysqld/lib_sql.cc:
        thd_init_client_charset calls added
      libmysqld/libmysqld.c:
        check_embedded_connection moved to client.c to avoid code duplication
      sql-common/client.c:
        charset initialization moved to mysql_init_character_set to
        be used in embedded server
      sql/sql_parse.cc:
        thread client charset initialization moved to thd_init_client_charset
        to avoid code duplication
      8b6c2d31
    • unknown's avatar
      Merge mysql.com:/home/kgeorge/mysql/4.1/teamclean · 6cf425b8
      unknown authored
      into  mysql.com:/home/kgeorge/mysql/4.1/B9676
      
      
      6cf425b8
    • unknown's avatar
      * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big · 124cb126
      unknown authored
                    tables
      Currently in INSERT ... SELECT ... LIMIT ... the compiler uses a 
      temporary table to store the results of SELECT ... LIMIT .. and then
      uses that table as a source for INSERT. The problem is that in some cases
      it actually skips the LIMIT clause in doing that and materializes the 
      whole SELECT result set regardless of the LIMIT.
      This fix is limiting the process of filling up the temp table with only 
      that much rows that will be actually used by propagating the LIMIT value.
      
      
      mysql-test/r/insert_select.result:
        * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big
                      tables
        - a test demonstrating the code path
      mysql-test/t/insert_select.test:
        * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big
                      tables
        - a test demonstrating the code path
      sql/sql_select.cc:
        * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big
                      tables
        - pass through the real LIMIT number if the temp table is created for
          buffering results.
        - set the counter for all the cases when the temp table is not used for
          grouping
      124cb126
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1-rpl · e61fcf7c
      unknown authored
      into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
      
      
      e61fcf7c
    • unknown's avatar
      Merge april:devel/BitKeeper/mysql-4.1 · 5375bcad
      unknown authored
      into  may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-4.1
      
      
      5375bcad
    • unknown's avatar
      BUG#18036 - update of table joined to self reports table as crashed · 46cdd39e
      unknown authored
      Certain updates of table joined to self results in unexpected
      behavior.
      
      The problem was that record cache was mistakenly enabled for
      self-joined table updates. Normally record cache must be disabled
      for such updates.
      
      Fixed wrong condition in code that determines whether to use
      record cache for self-joined table updates.
      
      Only MyISAM tables were affected.
      
      
      mysql-test/r/myisam.result:
        Test case for BUG#18036.
      mysql-test/t/myisam.test:
        Test case for BUG#18036.
      sql/sql_update.cc:
        Fixed wrong condition in code that determines whether to use
        record cache for self-joined table updates.
      46cdd39e
    • unknown's avatar
      Fix for bug #20496: func_time.test failure · 95939476
      unknown authored
      
      mysql-test/r/func_time.result:
        Fix for bug #20496: func_time.test failure                                      
          - floating point calculations removed.
      mysql-test/t/func_time.test:
        Fix for bug #20496: func_time.test failure                                      
          - floating point calculations removed.
      95939476
  14. 18 Jun, 2006 1 commit
  15. 17 Jun, 2006 1 commit
    • unknown's avatar
      Makefile.am: · 4d366600
      unknown authored
        Avoid error message trying 'windoze-dsp' in obsolete directory
      compile-dist:
        Avoid error message for target 'distclean' and no Makefile
      
      
      BUILD/compile-dist:
        Avoid error message for target 'distclean' and no Makefile
      ndb/Makefile.am:
        Avoid error message trying 'windoze-dsp' in obsolete directory
      4d366600