1. 23 Apr, 2007 1 commit
    • unknown's avatar
      - addendum of the fix for bug 27786: · 3480915c
      unknown authored
        applied the new function is_union() to places
        in the code that check the same condition.
      - 5.0->5.1 merge fixes
      
      
      mysql-test/r/subselect3.result:
        merge 5.0->5.1 : updated explain.
      sql/item_subselect.cc:
        addendum of the fix for bug 27786:
        applied the new function is_union() to the applicable places.
      sql/sql_derived.cc:
        addendum of the fix for bug 27786:
        applied the new function is_union() to the applicable places.
      sql/sql_parse.cc:
        addendum of the fix for bug 27786:
        applied the new function is_union() to the applicable places.
      sql/sql_select.cc:
        addendum of the fix for bug 27786:
        applied the new function is_union() to places 
        in the code that check the same condition.
      sql/sql_union.cc:
        addendum of the fix for bug 27786:
        applied the new function is_union() to the applicable places.
      sql/sql_view.cc:
        addendum of the fix for bug 27786:
        applied the new function is_union() to the applicable places.
      sql/sql_yacc.yy:
        addendum of the fix for bug 27786:
        applied the new function is_union() to the applicable places.
      3480915c
  2. 20 Apr, 2007 2 commits
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B27786-5.0-opt · 36e733a8
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/work/B27786-addon-5.1-opt
      
      
      mysql-test/r/subselect3.result:
        Auto merged
      mysql-test/r/view.result:
        Auto merged
      sql/item_subselect.h:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      mysql-test/t/view.test:
        fixed testcase merge 5.0->5.1
      sql/sql_lex.h:
        merge fixes : 5.0->5.1
      36e733a8
    • unknown's avatar
      Bug #27786: · d8aa3a12
      unknown authored
      When merging views into the enclosing statement
      the ORDER BY clause of the view is merged to the
      parent's ORDER BY clause.
      However when the VIEW is merged into an UNION
      branch the ORDER BY should be ignored. 
      Use of ORDER BY for individual SELECT statements
      implies nothing about the order in which the rows
      appear in the final result because UNION by default
      produces unordered set of rows.
      Fixed by ignoring the ORDER BY clause from the merge
      view when expanded in an UNION branch.
      
      
      mysql-test/r/view.result:
        Bug #27786: test case
      mysql-test/t/view.test:
        Bug #27786: test case
      sql/sql_lex.h:
        Bug #27786: add a is_union() inlined function
        Returns true if the unit represents an UNION.
      sql/sql_view.cc:
        Bug #27786: ignore ORDER BY in mergeable views when in UNION context
      d8aa3a12
  3. 18 Apr, 2007 1 commit
    • unknown's avatar
      Fixed bug #27870. The bug that causes crashes manifests itself at some · e9446176
      unknown authored
      conditions when executing an equijoin query with WHERE condition
      containing a subquery predicate of the form join_attr NOT IN (SELECT ...).
      
      To resolve a problem of the correct evaluation of the expression
        attr NOT IN (SELECT ...)
      an array of guards is created to make it possible to filter out some 
      predicates of the EXISTS subquery into which the original subquery 
      predicate is transformed, in the cases when a takes the NULL value. 
      If attr is defined as a field that cannot be NULL than such an array 
      is not needed and is not created. 
      However if the field a occurred also an an equijoin predicate t2.a=t1.b
      and table t1 is accessed before table t2 then it may happen that the 
      the EXISTS subquery is pushed down to the condition evaluated just after
      table t1 has been accessed. In this case any occurrence of t2.a is 
      substituted for t1.b. When t1.b takes the value of NULL an attempt is 
      made to turn on the corresponding guard. This action caused a crash as 
      no guard array had been created.
      
      Now the code of Item_in_subselect::set_cond_guard_var checks that the guard
      array has been created before setting a guard variable on. Otherwise the
      method does nothing. It cannot results in returning a row that could be
      rejected as the condition t2.a=t1.b will be checked later anyway.        
      
      
      mysql-test/r/subselect3.result:
        Added a test case for bug #27870.
      mysql-test/t/subselect3.test:
        Added a test case for bug #27870.
      sql/item_subselect.h:
        Fixed bug #27870. The bug that causes crashes manifests itself at some
        conditions when executing an equijoin query with WHERE condition
        containing a subquery predicate of the form join_attr NOT IN (SELECT ...).
        
        Forced Item_in_subselect::set_cond_guard_var to check that the guard
        array has been created before setting a guard variable on. Otherwise the
        method does nothing.
      e9446176
  4. 15 Apr, 2007 6 commits
    • unknown's avatar
      subselect.result: · a30802b4
      unknown authored
        After merge fix.
      
      
      mysql-test/r/subselect.result:
        After merge fix.
      a30802b4
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/27321-bug-5.0-opt-mysql · b138a4d3
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/bk-trees/mysql-5.1-opt
      
      
      mysql-test/r/subselect3.result:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_union.cc:
        Auto merged
      mysql-test/r/subselect.result:
        Manual merge
      mysql-test/t/subselect.test:
        Manual merge
      b138a4d3
    • unknown's avatar
      item.cc: · ac7b8e31
      unknown authored
        Fix warning after fix for bug#27321.
      
      
      sql/item.cc:
        Fix warning after fix for bug#27321.
      ac7b8e31
    • unknown's avatar
      subselect.test, subselect.result: · 5ac8dab5
      unknown authored
        After merge fix.
      
      
      mysql-test/r/subselect.result:
        After merge fix.
      mysql-test/t/subselect.test:
        After merge fix.
      5ac8dab5
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · d06ea19d
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/27321-bug-5.0-opt-mysql
      
      
      mysql-test/r/subselect3.result:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/subselect.result:
        Manually merged
      mysql-test/t/subselect.test:
        Manually merged
      mysql-test/t/subselect3.test:
        Manually merged
      d06ea19d
    • unknown's avatar
      Bug#27321: Wrong subquery result in a grouping select. · 321726e8
      unknown authored
      The Item_outer_ref class based on the Item_direct_ref class was always used
      to represent an outer field. But if the outer select is a grouping one and the 
      outer field isn't under an aggregate function which is aggregated in that
      outer select an Item_ref object should be used to represent such a field.
      If the outer select in which the outer field is resolved isn't grouping then
      the Item_field class should be used to represent such a field.
      This logic also should be used for an outer field resolved through its alias
      name.
      
      Now the Item_field::fix_outer_field() uses Item_outer_field objects to
      represent aliased and non-aliased outer fields for grouping outer selects
      only.
      Now the fix_inner_refs() function chooses which class to use to access outer
      field - the Item_ref or the Item_direct_ref. An object of the chosen class
      substitutes the original field in the Item_outer_ref object.
      The direct_ref and the found_in_select_list fields were added to the
      Item_outer_ref class.
      
      
      mysql-test/t/subselect3.test:
        Some test cases were corrected after the fix for the bug#27321.
      mysql-test/r/subselect3.result:
        Some test cases were corrected after the fix for the bug#27321.
      mysql-test/t/subselect.test:
        Added a test case for the bug#27321: Wrong subquery result in a grouping select.
      mysql-test/r/subselect.result:
        Added a test case for the bug#27321: Wrong subquery result in a grouping select.
        Some test cases were corrected after this fix.
      sql/sql_union.cc:
        Bug#27321: Wrong subquery result in a grouping select.
        Cleanup of the inner_refs_list.
      sql/sql_select.cc:
        Bug#27321: Wrong subquery result in a grouping select.
        Now the fix_inner_refs() function chooses which class to use to access outer
        field - the Item_ref or the Item_direct_ref. An object of the chosen class
        substitutes the original field in the Item_outer_ref object.
        A comment is corrected.
      sql/item.cc:
        Bug#27321: Wrong subquery result in a grouping select.
        Now the Item_field::fix_outer_field() uses Item_outer_field objects to
        represent aliased and non-aliased outer fields for grouping outer selects
        only.
      sql/item.h:
        Bug#27321: Wrong subquery result in a grouping select.
        The direct_ref and the found_in_select_list fields were added to the
        Item_outer_ref class.
      321726e8
  5. 14 Apr, 2007 5 commits
  6. 13 Apr, 2007 5 commits
  7. 12 Apr, 2007 20 commits
    • unknown's avatar
      correct merge error · fa0f4547
      unknown authored
      fa0f4547
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb · 2c06963e
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
      
      
      storage/ndb/tools/restore/Restore.hpp:
        Auto merged
      storage/ndb/tools/restore/consumer_restore.cpp:
        Auto merged
      mysql-test/r/ndb_restore.result:
        manual merge
      mysql-test/t/ndb_restore.test:
        manual merge
      2c06963e
    • unknown's avatar
      Bug#27775 mediumint auto_increment with ndb_restore · 0c2f1e3a
      unknown authored
      - autoincrement column of size medium int not handled in ndb_restore
      - added testcase also for other types, tiny, small... etc
      
      0c2f1e3a
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user · e6c8de9e
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-opt
      
      e6c8de9e
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · bdfef71c
      unknown authored
      into  gshchepa.localdomain:/home/uchum/work/bk-trees/5507-ci
      
      bdfef71c
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb · 86ca4948
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-opt
      
      86ca4948
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb · ecffbf87
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
      
      
      storage/ndb/include/ndbapi/NdbRecAttr.hpp:
        Auto merged
      storage/ndb/src/ndbapi/NdbRecAttr.cpp:
        Auto merged
      ecffbf87
    • unknown's avatar
    • unknown's avatar
      Bug#5507: TRUNCATE does not work with views. · f6123687
      unknown authored
      Support of views wasn't implemented for the TRUNCATE statement.
      Now TRUNCATE on views has the same semantics as DELETE FROM view:
      mysql_truncate() checks whether the table is a view and falls back
      to delete if so.
      In order to initialize properly the LEX::updatable for a view
      st_lex::can_use_merged() now allows usage of merged views for the
      TRUNCATE statement.
      
      
      mysql-test/r/truncate.result:
        Added a test case for the Bug#5507: TRUNCATE does not work with views.
      mysql-test/t/truncate.test:
        Added a test case for the Bug#5507: TRUNCATE does not work with views.
      sql/sql_lex.cc:
        Bug#5507: TRUNCATE does not work with views.
        can_use_merged() was denying of usage of merged views for a
        TRUNCATE statement. This results in improper initialization
        of view LEX::updatable. Fixed.
      sql/sql_delete.cc:
        Bug#5507: TRUNCATE does not work with views.
        1.mysql_truncate() was lacking of check whether the table is view. Added.
        2.mysql_truncate() calls mysql_delete(), but mysql_delete() always reports
        errors as "DELETE" errors. Fixed.
      mysql-test/t/view.test:
        Updated test case for Bug#14540: OPTIMIZE, ANALYZE, REPAIR applied 
        to not a view.
      mysql-test/r/view.result:
        Updated test case for Bug#14540: OPTIMIZE, ANALYZE, REPAIR applied 
        to not a view.
      f6123687
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-opt · d954c192
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-opt
      
      d954c192
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-opt · 6a9776da
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-opt
      
      6a9776da
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-ndb · 92447690
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-opt
      
      92447690
    • unknown's avatar
      Merge trift2.:/MySQL/M50/push-5.0 · 277dfc0f
      unknown authored
      into  trift2.:/MySQL/M51/push-5.1
      
      
      configure.in:
        Auto merged
      277dfc0f
    • unknown's avatar
      Merge trift2.:/MySQL/M41/push-4.1 · 31db7dfa
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      31db7dfa
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user · 9eeb801f
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-opt
      
      9eeb801f
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb · 36b6a8d7
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-opt
      
      36b6a8d7
    • unknown's avatar
      Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb · df7ff478
      unknown authored
      into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
      
      df7ff478
    • unknown's avatar
      Merge perch.ndb.mysql.com:/home/jonas/src/51-telco-gca · 84227177
      unknown authored
      into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
      
      
      storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
        Auto merged
      storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
        Auto merged
      storage/ndb/test/include/HugoOperations.hpp:
        Auto merged
      storage/ndb/test/run-test/daily-basic-tests.txt:
        Auto merged
      storage/ndb/test/src/HugoOperations.cpp:
        Auto merged
      storage/ndb/test/src/HugoTransactions.cpp:
        Auto merged
      storage/ndb/include/kernel/AttributeHeader.hpp:
        merge
      storage/ndb/include/ndbapi/NdbDictionary.hpp:
        merge
      storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
        merge
      storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
        merge
      storage/ndb/test/ndbapi/testBasic.cpp:
        merge
      84227177
    • unknown's avatar
      ndb - bug#27756 · dc8d4699
      unknown authored
        make sure that copy tuple is released in all cases
      
      
      storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
        make sure that copy tuple is released in all cases
      storage/ndb/test/run-test/daily-basic-tests.txt:
        add testcase
      dc8d4699
    • unknown's avatar
      ndb - bug#27756 · ebadeef4
      unknown authored
        testcase only
        new pseudo column NDB$COPY_ROWID
      
      
      storage/ndb/include/kernel/AttributeHeader.hpp:
        Add new pseudo column for reading location of copy tuple
      storage/ndb/include/ndbapi/NdbDictionary.hpp:
        Add new pseudo column for reading location of copy tuple
      storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
        Add new pseudo column for reading location of copy tuple
      storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
        Add new pseudo column for reading location of copy tuple
      storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
        Add new pseudo column for reading location of copy tuple
      storage/ndb/test/ndbapi/testBasic.cpp:
        add testcase for bug#27756
      ebadeef4