1. 23 Jun, 2005 2 commits
    • unknown's avatar
      Merge mysql.com:/home/timka/mysql/src/4.1-virgin · 1abe8e69
      unknown authored
      into mysql.com:/home/timka/mysql/src/4.1-bug-11185
      
      
      1abe8e69
    • unknown's avatar
      Fix for BUG#11185. · e4296f58
      unknown authored
      The source of the problem is in Field_longlong::cmp. If 'this' is
      an unsigned number, the method casts both the current value, and
      the constant that we compare with to an unsigned number. As a
      result if the constant we compare with is a negative number, it
      wraps to some unsigned number, and the comparison is incorrect.
      
      When the optimizer chooses the "range" access method, this problem
      causes handler::read_range_next to reject the current key when the
      upper bound key is a negative number because handler::compare_key
      incorrectly considers the positive and negative keys to be equal.
      
      The current patch does not correct the source of the problem in
      Field_longlong::cmp because it is not easy to propagate sign
      information about the constant at query execution time. Instead
      the patch changes the range optimizer so that it never compares
      unsiged fields with negative constants. As an added benefit,
      queries that do such comparisons will execute faster because
      the range optimizer replaces conditions like:
      (a) (unsigned_int [< | <=] negative_constant) == FALSE
      (b) (unsigned_int [> | >=] negative_constant) == TRUE
      with the corresponding constants.
      In some cases this may even result in constant time execution.
      
      
      mysql-test/r/range.result:
        - Changed incorrect result of an old test
        - Added new results for BUG#11185
      mysql-test/t/range.test:
        - Added new tests for BUG#11185
        - Deleted an old comment because now the problem is fixed
      sql/opt_range.cc:
        Added a new optimization to the range optimizer where we detect that
        an UNSIGNED field is compared with a negative constant. Depending on
        the comparison operator, we know directly that the result of the
        comparison is either TRUE or FALSE for all input values, and we need
        not check each value.
        
        This optimization is also necessary so that the index range access
        method produces correct results when comparing unsigned fields with
        negative constants.
      e4296f58
  2. 22 Jun, 2005 9 commits
  3. 21 Jun, 2005 11 commits
    • unknown's avatar
      BUG#10442 Minor changes from code review · d785fc60
      unknown authored
      
      mysql-test/r/rpl_multi_update3.result:
        Changes from code review
      mysql-test/t/rpl_multi_update3.test:
        Changes from code review
      sql/sql_parse.cc:
        Changes from code review
      d785fc60
    • unknown's avatar
      Bug #9148 Denial of Service · 0bc88379
      unknown authored
      
      my_access.c:
        Fixed problem where in some cases check_if_legal_filename was returning 0 for illegal names
      
      
      mysys/my_access.c:
        Fixed problem where in some cases check_if_legal_filename was returning 0 for illegal names
      0bc88379
    • unknown's avatar
      Merge mysql.com:/Users/emurphy/src/bk-clean/mysql-4.1 · 5031e9ad
      unknown authored
      into  mysql.com:/Users/emurphy/src/work/mysql-4.1-bug10442
      
      
      5031e9ad
    • unknown's avatar
      mysql-test-run.pl: · d18ab5a0
      unknown authored
        Added optional paths for finding mysqld on Windows
        Added language/charset options to embedded mysql_client_test
      
      
      mysql-test/mysql-test-run.pl:
        Added optional paths for finding mysqld on Windows
        Added language/charset options to embedded mysql_client_test
      d18ab5a0
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1 · a23bf165
      unknown authored
      into  moonbone.local:/work/mysql-4.1-bug-10886
      
      
      sql/sql_insert.cc:
        Auto merged
      a23bf165
    • unknown's avatar
      Fix bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY UPDATE produces bad results · 8e45c057
      unknown authored
      Temporary field wasn't restored to default values after ON DUPLICATE KEY
       UPDATE event, which results in wrong data being inserted in new record.
      
      
      sql/sql_insert.cc:
        Fix bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY UPDATE produces bad results
      mysql-test/t/insert_select.test:
        Test case for bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY 
        UPDATE produces bad results
      mysql-test/r/insert_select.result:
        Test case for bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 
        produces bad results
      8e45c057
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1 · 9f4db562
      unknown authored
      into rurik.mysql.com:/home/igor/mysql-4.1
      
      
      9f4db562
    • unknown's avatar
      Merge rurik.mysql.com:/home/igor/mysql-4.1 · 472a2b51
      unknown authored
      into rurik.mysql.com:/home/igor/dev/mysql-4.1-1
      
      
      472a2b51
    • unknown's avatar
      group_by.result, group_by.test: · 7b1ec027
      unknown authored
        Added a test case for bug #11295.
      item_buff.cc:
        Fixed bug #11295.
        This a correction for the patch of bug #11088 that takes into
        account a possible NULL values of the BLOB column.
      
      
      sql/item_buff.cc:
        Fixed bug #11295.
        This a correction for the patch of bug #11088 that takes into
        account a possible NULL values of the BLOB column.
      mysql-test/t/group_by.test:
        Added a test case for bug #11295.
      mysql-test/r/group_by.result:
        Added a test case for bug #11295.
      7b1ec027
    • unknown's avatar
      Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1 · 06b1e941
      unknown authored
      into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
      
      
      06b1e941
    • unknown's avatar
      mysql-test-run.pl: · e74d5313
      unknown authored
        More compact and safe handling of path names.
        Support for running in Windows source tree.
        Use libtool wrapper, instead of messing with
        library path names, and objects in .libs dir.
      mtr_misc.pl:
        Utility function that search aand check path names
      mtr_report.pl:
        Patch by Carsten, set correct reject/result/eval if not main suite
      
      
      mysql-test/lib/mtr_report.pl:
        Patch by Carsten, set correct reject/result/eval if not main suite
      mysql-test/lib/mtr_misc.pl:
        Utility function that search aand check path names
      mysql-test/mysql-test-run.pl:
        More compact and safe handling of path names.
        Support for running in Windows source tree.
        Use libtool wrapper, instead of messing with
        library path names, and objects in .libs dir.
      e74d5313
  4. 20 Jun, 2005 18 commits
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1 · e17de6ec
      unknown authored
      into  mysql.com:/home/jimw/my/mysql-4.1-clean
      
      
      e17de6ec
    • unknown's avatar
      mtr_cases.pl: · d73327e1
      unknown authored
        Bug#11466: Script can now get test case name
        from test case file path on command line
      mysql-test-run.pl:
        Bug#11466: Added --skip-ndbcluster/--skip-ndb option
      mtr_cases.pl:
        Don't set --default-time-zone if opt file sets it
        Restart the server if time zone is given in opt file
      mysql-test-run.pl:
        Don't remove symlink to "var" directory in cleanup
        Removed duplicate/unessesary options to mysqld
      
      
      mysql-test/mysql-test-run.pl:
        Bug#11466: Added --skip-ndbcluster/--skip-ndb option
      mysql-test/lib/mtr_cases.pl:
        Bug#11466: Script can now get test case name
        from test case file path on command line
      d73327e1
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1 · bcec3fa5
      unknown authored
      into mysql.com:/Users/kent/mysql/bk/mysql-4.1
      
      
      bcec3fa5
    • unknown's avatar
      Merge jwinstead@production.mysql.com:my/mysql-4.1-win · 30f67d70
      unknown authored
      into  mysql.com:/home/jimw/my/mysql-4.1-clean
      
      
      30f67d70
    • unknown's avatar
      Merge jwinstead@production.mysql.com:my/mysql-4.1-10840 · 305fe79c
      unknown authored
      into  mysql.com:/home/jimw/my/mysql-4.1-clean
      
      
      305fe79c
    • unknown's avatar
      Merge jwinstead@production.mysql.com:my/mysql-4.1-7858 · 641bd4ec
      unknown authored
      into  mysql.com:/home/jimw/my/mysql-4.1-clean
      
      
      641bd4ec
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1 · 36dcc209
      unknown authored
      into rurik.mysql.com:/home/igor/mysql-4.1
      
      
      36dcc209
    • unknown's avatar
      group_by.result: · 15b113e1
      unknown authored
        Added  a test case for bug #11385.
      group_by.test:
        Added  a test case for bug #11385.
      field.h:
        Fixed bug #11385.
        The bug was due to not defined method decimals for the class
        Field_datetime.
      
      
      sql/field.h:
        Fixed bug #11385.
        The bug was due to not defined method decimals for the class
        Field_datetime.
      mysql-test/t/group_by.test:
        Added  atest case for bug #11385.
      mysql-test/r/group_by.result:
        Added  a test case for bug #11385.
      15b113e1
    • unknown's avatar
      Fix handling of command-line on Windows, missed as part of earlier · 7b24dad4
      unknown authored
      commit. (Bug #10840)
      
      
      client/mysql.cc:
        Add cast of unsigned value stored in signed char
      7b24dad4
    • unknown's avatar
      Makefile.am: · 0f5b946c
      unknown authored
        Corrected dependency for "lex_hash.h", to avoid occasional make failure
      
      
      sql/Makefile.am:
        Corrected dependency for "lex_hash.h", to avoid occasional make failure
      0f5b946c
    • unknown's avatar
      ha_ndbcluster.cc: · 84da8b22
      unknown authored
        Added CR for readability
      
      
      sql/ha_ndbcluster.cc:
        Added CR for readability
      84da8b22
    • unknown's avatar
      Added comment to store_lock · b8cbed7c
      unknown authored
      b8cbed7c
    • unknown's avatar
      Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1 · e0e1adc3
      unknown authored
      into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
      
      
      e0e1adc3
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1 · 2c7095c8
      unknown authored
      into igor-inspiron.creware.com:/home/igor/mysql-4.1
      
      
      sql/sql_select.cc:
        Auto merged
      2c7095c8
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 79444fa5
      unknown authored
      into mysql.com:/home/dlenev/src/mysql-4.1-bg11060
      
      
      79444fa5
    • unknown's avatar
      Fix for bug #11060 "Server crashes on re-execution of prepared · 78e6794b
      unknown authored
      INSERT ... SELECT with UNION" (reviewed version).
      
      Altough bug manifest itself only starting from 5.0 it is better to
      apply fix to 4.1 to keep some assumptions true and make code more
      future-proof.
      
      
      mysql-test/r/ps.result:
        Added test case for bug #11060 "Server crashes on re-execution of
        prepared INSERT ... SELECT with UNION".
      mysql-test/t/ps.test:
        Added test case for bug #11060 "Server crashes on re-execution of
        prepared INSERT ... SELECT with UNION".
      sql/sql_insert.cc:
        select_insert::prepare():
          Item::fix_fields() methods operate assuming that LEX::current_select
          points to the select to which current item belongs. Thus
          during check_insert_fields() routine execution LEX::current_select
          should point ot the first select in query since this is the
          select with which items in insert list is associated.
          But if we have INSERT SELECT UNION SELECT type of query
          LEX::current_select will point to the fake_select_lex instead
          since select_insert::prepare() is called during processing of JOIN
          which corresponds to this select_lex.
          So we have set LEX::current_select before calling check_insert_fields()
          and restore it afterwards.
      78e6794b
    • unknown's avatar
      Makefile.am: · c8714788
      unknown authored
        Use the Perl version of mysql-test-run
      
      
      Makefile.am:
        Use the Perl version of mysql-test-run
      c8714788
    • unknown's avatar
      mysql-test-run.pl: · 2aa1a04c
      unknown authored
        Corrected path to 'mysql_fix_privilege_tables'
      
      
      mysql-test/mysql-test-run.pl:
        Corrected path to 'mysql_fix_privilege_tables'
      2aa1a04c