An error occurred fetching the project authors.
  1. 23 Mar, 2012 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #954900. · da9aabbb
      Igor Babaev authored
      If the first component of a ref key happened to be a constant appeared
      after constant row substitution then no store_key element should be
      created for such a component. Yet create_ref_for_key() erroneously could
      create such an element that caused construction of invalid ref keys and
      wrong results for some joins.
      da9aabbb
  2. 22 Feb, 2012 1 commit
  3. 15 Dec, 2011 1 commit
  4. 07 Sep, 2011 1 commit
  5. 24 Jun, 2011 1 commit
    • Michael Widenius's avatar
      Fix for bug lp:798597 Incorrect "Duplicate entry" error with views and GROUP BY · 6a9ac86c
      Michael Widenius authored
      mysql-test/r/join.result:
        Test case for LP:798597
      mysql-test/t/join.test:
        Test case for LP:798597
      sql/sql_select.cc:
        In simplify_joins we reset table->maybe_null for outer join tables that can't ever be NULL.
        This caused a conflict between the previously calculated items and the group_buffer against the fields
        in the temporary table that are created as not null thanks to the optimization.
        The fix is to correct the group by items to also be not_null so that they match the used fields and keys.
      6a9ac86c
  6. 12 Mar, 2011 1 commit
  7. 28 Feb, 2011 1 commit
  8. 22 Nov, 2010 1 commit
    • Gleb Shchepa's avatar
      backport: Bug #55568 from 5.1-security to 5.0-security · 47bb750c
      Gleb Shchepa authored
      > revision-id: alexey.kopytov@sun.com-20100824103548-ikm79qlfrvggyj9h
      > parent: sunny.bains@oracle.com-20100816001222-xqc447tr6jwh8c53
      > committer: Alexey Kopytov <Alexey.Kopytov@Sun.com>
      > branch nick: 5.1-security
      > timestamp: Tue 2010-08-24 14:35:48 +0400
      > message:
      >   Bug #55568: user variable assignments crash server when used
      >               within query
      >   
      >   The server could crash after materializing a derived table
      >   which requires a temporary table for grouping.
      >   
      >   When destroying the temporary table used to execute a query for
      >   a derived table, JOIN::destroy() did not clean up Item_fields
      >   pointing to fields in the temporary table. This led to
      >   dereferencing a dangling pointer when printing out the items
      >   tree later in the outer SELECT.
      >   
      >   The solution is an addendum to the patch for bug37362: in
      >   addition to cleaning up items in tmp_all_fields3, do the same
      >   for items in tmp_all_fields1, since now we have an example
      >   where this is necessary.
      
      
      sql/field.cc:
        Make sure field->table_name is not set to NULL in
        Field::make_field() to avoid assertion failure in 
        Item_field::make_field() after cleaning up items
        (the assertion fired in udf.test when running
        the test suite with the patch applied).
      sql/sql_select.cc:
        In addition to cleaning up items in tmp_all_fields3, do the
        same for items in tmp_all_fields1.
        Introduce a new helper function to avoid code duplication.
      sql/sql_select.h:
        Introduce a new helper function to avoid code duplication in
        JOIN::destroy().
      47bb750c
  9. 28 Sep, 2010 1 commit
    • Igor Babaev's avatar
      Fixed bug #52636. · 21b1b5f0
      Igor Babaev authored
      Applied the fix for bug #47217 from the mysql-6.0 codebase.
      The patch adds not null predicates generated for the left parts
      of the equality predicates used for ref accesses. This is done
      for such predicates both in where conditions and on conditions.
      For the where conditions the not null predicates were generated
      but in 5.0/5.1 they actually never were used due to some lame
      merge from 4.1 to 5.0. The fix for bug #47217 made these 
      predicates to be used in the condition pushed to the tables.
      Yet only this patch generates not null predicates for equality
      predicated from on conditions of outer joins.
      This patch introduces a performance regression that can be
      observed on a test case from null_key.test. The regression
      will disappear after the fix for bug #57024 from mariadb-5.1
      is pulled into mariadb-5.3.
      The patch contains many changes in the outputs of the EXPLAIN 
      commands since generated not null predicates are considered as
      parts of the conditions pushed to join tables and may add
      'Usingwhere' in some rows of EXPLAINs where there used
      to be no such comments.
      21b1b5f0
  10. 07 Sep, 2010 1 commit
  11. 26 Aug, 2010 1 commit
    • Alexey Kopytov's avatar
      Bug #53544: Server hangs during JOIN query in stored procedure · 6cf49743
      Alexey Kopytov authored
                  called twice in a row
      
      Queries with nested joins could cause an infinite loop in the
      server when used from SP/PS.
      
      When flattening nested joins, simplify_joins() tracks if the
      name resolution list needs to be updated by setting
      fix_name_res to TRUE if the current loop iteration has done any
      transformations to the join table list. The problem was that
      the flag was not reset before the next loop iteration leading
      to unnecessary "fixing" of the name resolution list which in
      turn could lead to a loop (i.e. circularly-linked part) in that
      list. This was causing problems on subsequent execution when
      used together with stored procedures or prepared statements.
      
      Fixed by making sure fix_name_res is reset on every loop
      iteration.
      
      mysql-test/r/join.result:
        Added a test case for bug #53544.
      mysql-test/t/join.test:
        Added a test case for bug #53544.
      sql/sql_select.cc:
        Make sure fix_name_res is reset on every loop iteration.
      6cf49743
  12. 24 Aug, 2010 1 commit
    • Alexey Kopytov's avatar
      Bug #55568: user variable assignments crash server when used · cd4ca4b7
      Alexey Kopytov authored
                  within query
      
      The server could crash after materializing a derived table
      which requires a temporary table for grouping.
      
      When destroying the temporary table used to execute a query for
      a derived table, JOIN::destroy() did not clean up Item_fields
      pointing to fields in the temporary table. This led to
      dereferencing a dangling pointer when printing out the items
      tree later in the outer SELECT.
      
      The solution is an addendum to the patch for bug37362: in
      addition to cleaning up items in tmp_all_fields3, do the same
      for items in tmp_all_fields1, since now we have an example
      where this is necessary.
      
      
      mysql-test/r/join.result:
        Added test cases for bug#55568 and a duplicate bug #54468.
      mysql-test/t/join.test:
        Added test cases for bug#55568 and a duplicate bug #54468.
      sql/field.cc:
        Make sure field->table_name is not set to NULL in
        Field::make_field() to avoid assertion failure in 
        Item_field::make_field() after cleaning up items
        (the assertion fired in udf.test when running
        the test suite with the patch applied).
      sql/sql_select.cc:
        In addition to cleaning up items in tmp_all_fields3, do the
        same for items in tmp_all_fields1.
        Introduce a new helper function to avoid code duplication.
      sql/sql_select.h:
        Introduce a new helper function to avoid code duplication in
        JOIN::destroy().
      cd4ca4b7
  13. 26 Apr, 2010 1 commit
    • Alexey Kopytov's avatar
      Backport of the fix for bug #50335 to 5.0. · 6d43510a
      Alexey Kopytov authored
      The problem was in an incorrect debug assertion. The expression
      used in the failing assertion states that when finding
      references matching ORDER BY expressions, there can be only one
      reference to a single table. But that does not make any sense,
      all test cases for this bug are valid examples with multiple
      identical WHERE expressions referencing the same table which
      are also present in the ORDER BY list.
      
      Fixed by removing the failing assertion. We also have to take
      care of the 'found' counter so that we count multiple
      references only once. We rely on this fact later in
      eq_ref_table().
      
      mysql-test/r/join.result:
        Added a test case for bug #50335.
      mysql-test/t/join.test:
        Added a test case for bug #50335.
      sql/sql_select.cc:
        Removing the assertion in eq_ref_table() as it does not make
        any sense. We also have to take care of the 'found' counter so
        that we count multiple references only once. We rely on this
        fact later in eq_ref_table().
      6d43510a
  14. 26 Mar, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#52177 crash with explain, row comparison, join, text field · f57839cd
      Sergey Glukhov authored
      The crash is the result of an attempt made by JOIN::optimize to evaluate
      the WHERE condition when no records have been actually read.
      The fix is to remove erroneous 'outer_join' variable check.
      
      
      mysql-test/r/join.result:
        test result
      mysql-test/t/join.test:
        test case
      sql/sql_select.cc:
        removed erroneous 'outer_join' variable check.
      f57839cd
  15. 24 Mar, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#48483 crash in get_best_combination() · bccf219b
      Sergey Glukhov authored
      The crash happens because greedy_serach
      can not determine best plan due to
      wrong inner table dependences. These
      dependences affects join table sorting
      which performs before greedy_search starting.
      In our case table which has real 'no dependences'
      should be put on top of the list but it does not
      happen as inner tables have no dependences as well.
      The fix is to exclude RAND_TABLE_BIT mask from
      condition which checks if table dependences
      should be updated.
      
      
      mysql-test/r/join.result:
        test result
      mysql-test/t/join.test:
        test case
      sql/sql_select.cc:
        RAND_TABLE_BIT mask should not be counted as it
        prevents update of inner table dependences.
        For example it might happen if RAND() function
        is used in JOIN ON clause.
      bccf219b
  16. 25 Feb, 2010 1 commit
    • Alexey Kopytov's avatar
      Bug #50335: Assertion `!(order->used & map)' in eq_ref_table · 9201bff1
      Alexey Kopytov authored
       
      The problem was in an incorrect debug assertion. The expression 
      used in the failing assertion states that when finding 
      references matching ORDER BY expressions, there can be only one 
      reference to a single table. But that does not make any sense, 
      all test cases for this bug are valid examples with multiple 
      identical WHERE expressions referencing the same table which
      are also present in the ORDER BY list. 
       
      Fixed by removing the failing assertion. We also have to take 
      care of the 'found' counter so that we count multiple 
      references only once. We rely on this fact later in 
      eq_ref_table(). 
      
      mysql-test/r/join.result:
        Added a test case for bug #50335.
      mysql-test/t/join.test:
        Added a test case for bug #50335.
      sql/sql_select.cc:
        Removing the assertion in eq_ref_table() as it does not make
        any sense. We also have to take care of the 'found' counter so 
        that we count multiple references only once. We rely on this 
        fact later in eq_ref_table().
      9201bff1
  17. 10 Feb, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#45195 valgrind warnings about uninitialized values in store_record_in_cache() · f2aee237
      Sergey Glukhov authored
      The problem becomes apparent only if HAVE_purify is undefined.
      It related to the part of code placed in open_table_from_share() fuction
      where we initialize record buffer only if HAVE_purify is enabled.
      So in case of HAVE_purify=OFF record buffer is not initialized
      on open table stage.
      Next we read key, find NULL value and update appropriate null bit
      but do not update record buffer. After that the record is stored
      in the join cache(store_record_in_cache). For CHAR fields we
      strip trailing spaces and in our case this procedure uses
      uninitialized record buffer.
      The fix is to skip stripping space procedure in case of null values
      for CHAR fields(partially based on 6.0 JOIN_CACHE implementation).
      
      
      mysql-test/r/join.result:
        test case
      mysql-test/t/join.test:
        test case
      sql/field.cc:
        code updated according to new CACHE_FIELD struct
      sql/sql_select.cc:
        code updated according to new CACHE_FIELD struct
      sql/sql_select.h:
        CACHE_FIELD struct:
        added new fields: Field *field, uint type;
        removed fields: Field_blob *blob_field, bool strip;
      f2aee237
  18. 29 Oct, 2009 1 commit
    • Georgi Kodinov's avatar
      Bug #42116 : Mysql crash on specific query · ac373248
      Georgi Kodinov authored
      Queries with nested outer joins may lead to crashes or 
      bad results because an internal data structure is not handled
      correctly.
      The optimizer uses bitmaps of nested JOINs to determine
      if certain table can be placed at a certain place in the
      JOIN order.
      It does maintain a bitmap describing in which JOINs 
      last placed table is nested.
      When it puts a table it makes sure the bit of every JOIN that
      contains the table in question is set (because JOINs can be nested).
      It does that by recursively setting the bit for the next enclosing
      JOIN when this is the first table in the JOIN and recursively 
      resetting the bit if it's the last table in the JOIN.
      When it removes a table from the join order it should do the
      opposite : recursively unset the bit if it's the only remaining 
      table in this join and and recursively set the bit if it's removing
      the last table of a JOIN.
      There was an error in how the bits was set for the upper levels :
      when removing a table it was setting the bit for all the enclosing 
      nested JOINs even if there were more tables left in the current JOIN
      (which practically means that the upper nested JOINs were not affected).
      Fixed by stopping the recursion at the relevant level.
      
      mysql-test/r/join.result:
        Bug #42116: test case
      mysql-test/t/join.test:
        Bug #42116: test case
      sql/sql_select.cc:
        Bug #41116: don't go up and set the bits if more tables in
        at the current JOIN level
      ac373248
  19. 29 Sep, 2009 1 commit
    • Sergey Glukhov's avatar
      Bug#47150 Assertion in Field_long::val_int() on MERGE + TRIGGER + multi-table UPDATE · 5f8bb5c5
      Sergey Glukhov authored
      The bug is not related to MERGE table or TRIGGER. More correct description
      would be 'assertion on multi-table UPDATE + NATURAL JOIN + MERGEABLE VIEW'.
      On PREPARE stage(see test case) we call mark_common_columns() func which
      creates ON condition for NATURAL JOIN and sets appropriate
      table read_set bitmaps for fields which are used in ON condition.
      On EXECUTE stage mark_common_columns() is not called, we set
      necessary read_set bitmaps in setup_conds(). But 'B.f1' field
      is already processed and related item alredy fixed before
      setup_conds() as updated field and setup_conds can not set
      read_set bitmap because of that.
      The fix is to set read_set bitmap for appropriate table field even
      if Item_direct_view_ref item which represents a refernce to this field
      is fixed.
      
      
      
      mysql-test/r/join.result:
        test result
      mysql-test/t/join.test:
        test case
      sql/item.cc:
        The bug is not related to MERGE table or TRIGGER. More correct description
        would be 'assertion on multi-table UPDATE + NATURAL JOIN + MERGEABLE VIEW'.
        On PREPARE stage(see test case) we call mark_common_columns() func which
        creates ON condition for NATURAL JOIN and sets appropriate
        table read_set bitmaps for fields which are used in ON condition.
        On EXECUTE stage mark_common_columns() is not called, we set
        necessary read_set bitmaps in setup_conds(). But 'B.f1' field
        is already processed and related item alredy fixed before
        setup_conds() as updated field and setup_conds can not set
        read_set bitmap because of that.
        The fix is to set read_set bitmap for appropriate table field even
        if Item_direct_view_ref item which represents a refernce to this field
        is fixed.
      5f8bb5c5
  20. 06 Oct, 2008 1 commit
  21. 24 Sep, 2008 1 commit
    • Chad MILLER's avatar
      Bug#35754: mysql_install_db does not work if no hostname is set · 392ff10e
      Chad MILLER authored
      Machines with hostname set to "localhost" cause uniqueness errors in 
      the SQL bootstrap data.
      
      Now, insert zero lines for cases where the (lowercased) hostname is 
      the same as an already-inserted 'localhost' name.  Also, fix a few tests 
      that expect certain local accounts to have a certain host name.
      392ff10e
  22. 21 Aug, 2008 1 commit
  23. 05 Oct, 2007 1 commit
    • unknown's avatar
      Bug #31094: Forcing index-based sort doesn't work anymore if joins are done · 10cde5e4
      unknown authored
      A rule was introduced by the 5.1 part of the fix for bug 27531 to 
      prefer filesort over indexed ORDER BY when accessing all of the rows of a 
      table (because it's faster). This new rule was not accounting for the 
      presence of a LIMIT clause.
      Fixed the condition for this rule so it will prefer filesort over 
      indexed ORDER BY only if no LIMIT.
      
      
      mysql-test/r/compress.result:
        Bug #31094: LIMIT is not considered a full index scan
      mysql-test/r/join.result:
        Bug #31094: test case
      mysql-test/r/select.result:
        Bug #31094: LIMIT is not considered a full index scan
      mysql-test/r/ssl.result:
        Bug #31094: LIMIT is not considered a full index scan
      mysql-test/r/ssl_compress.result:
        Bug #31094: LIMIT is not considered a full index scan
      mysql-test/t/join.test:
        Bug #31094: test case
      sql/sql_select.cc:
        Bug #31094: prefer filesort over indexed ORDER BY only if no LIMIT
      10cde5e4
  24. 15 Jun, 2007 1 commit
  25. 04 May, 2007 1 commit
    • unknown's avatar
      Bug #27531: the 4.1 fix. · 353b6f26
      unknown authored
      When checking for applicability of join cache
      we must disable its usage only if there is no
      temp table in use.
      When a temp table is used we can use join
      cache (and it will not make the result-set 
      unordered) to fill the temp table. The filesort() 
      operation is then applied to the data in the temp 
      table and hence is not affected by join cache
      usage.
      Fixed by narrowing the condition for disabling 
      join cache to exclude the case where temp table
      is used.
      
      
      mysql-test/r/join.result:
        Bug #27531: test case
      mysql-test/t/join.test:
        Bug #27531: test case
      sql/sql_select.cc:
        Bug #27531: 
        Disable join cache only if not using temp table
      353b6f26
  26. 18 Apr, 2007 1 commit
  27. 11 Jan, 2007 1 commit
    • unknown's avatar
      BUG#25106: A USING clause in combination with a VIEW results in column · 6c41a043
      unknown authored
                 aliases ignored
      When a column reference to a column in JOIN USING is resolved and a new 
      Item is created for this column the user defined name was lost.
      This fix preserves the alias by setting the name of the new Item to the
      original alias.
      
      
      mysql-test/r/join.result:
        BUG#25106: A USING clause in combination with a VIEW results in column
                   aliases ignored
         - test case
      mysql-test/t/join.test:
        BUG#25106: A USING clause in combination with a VIEW results in column
                   aliases ignored
         - test case
      sql/sql_base.cc:
        BUG#25106: A USING clause in combination with a VIEW results in column
                   aliases ignored
         - take the alias of the Item to be replaced and set it into the newly
           allocated Item.
      6c41a043
  28. 28 Nov, 2006 1 commit
    • unknown's avatar
      Fixed portablity problem · 76b4ccbd
      unknown authored
      Removed warnings from mysqltest scripts
      
      
      cmd-line-utils/readline/undo.c:
        Fixed portability problem
      mysql-test/include/mix2.inc:
        Removed mysqltest warnings
      mysql-test/include/query_cache.inc:
        Removed mysqltest warnings
      mysql-test/r/ndb_binlog_ddl_multi.result:
        Update tests after fixing wrong connection command in test
      mysql-test/t/greedy_optimizer.test:
        Removed mysqltest warnings
      mysql-test/t/join.test:
        Removed mysqltest warnings
      mysql-test/t/ndb_binlog_ddl_multi.test:
        Removed mysqltest warnings
      mysql-test/t/ndb_blob_partition.test:
        Removed mysqltest warnings
      mysql-test/t/ndb_index_ordered.test:
        Removed mysqltest warnings
      storage/ndb/src/kernel/vm/Rope.cpp:
        Removed compiler warning
      76b4ccbd
  29. 20 Nov, 2006 1 commit
    • unknown's avatar
      Remove compiler warnings · 14decc4f
      unknown authored
      (Mostly in DBUG_PRINT() and unused arguments)
      Fixed bug in query cache when used with traceing (--with-debug)
      Fixed memory leak in mysqldump
      Removed warnings from mysqltest scripts (replaced -- with #)
      
      
      BitKeeper/etc/ignore:
        added mysql-test/r/*.warnings
      BUILD/SETUP.sh:
        Don't build with BDB as default
      client/client_priv.h:
        Added OPT_DEBUG_INFO
      client/mysqlbinlog.cc:
        Fixed compiler warning
      client/mysqldump.c:
        Removed compiler warnings
        Added option --debug-info to detect memory leaks
        Fixed memory leak
        Don't backup cluster replication tables (if used with 5.1)
      cmd-line-utils/readline/bind.c:
        Fixed compiler warning
      cmd-line-utils/readline/chardefs.h:
        Fixed compiler warning
      cmd-line-utils/readline/complete.c:
        Fixed compiler warning
      cmd-line-utils/readline/display.c:
        Fixed compiler warning
      cmd-line-utils/readline/histexpand.c:
        Fixed compiler warning
      cmd-line-utils/readline/input.c:
        Fixed compiler warning
      cmd-line-utils/readline/isearch.c:
        Fixed compiler warning
      cmd-line-utils/readline/kill.c:
        Fixed compiler warning
      cmd-line-utils/readline/macro.c:
        Fixed compiler warning
      cmd-line-utils/readline/misc.c:
        Fixed compiler warning
      cmd-line-utils/readline/nls.c:
        Fixed compiler warning
      cmd-line-utils/readline/readline.c:
        Fixed compiler warning
      cmd-line-utils/readline/rltty.c:
        Fixed compiler warning
      cmd-line-utils/readline/search.c:
        Fixed compiler warning
      cmd-line-utils/readline/terminal.c:
        Fixed compiler warning
      cmd-line-utils/readline/text.c:
        Fixed compiler warning
      cmd-line-utils/readline/tilde.c:
        Fixed compiler warning
      cmd-line-utils/readline/undo.c:
        Fixed compiler warning
      cmd-line-utils/readline/util.c:
        Fixed compiler warning
      cmd-line-utils/readline/vi_mode.c:
        Fixed compiler warning
      dbug/dbug_analyze.c:
        Fixed compiler warning
      extra/yassl/src/ssl.cpp:
        Fixed compiler warning
      extra/yassl/testsuite/testsuite.cpp:
        Fixed compiler warning
      heap/_check.c:
        Fixed compiler warning
      heap/hp_delete.c:
        Fixed compiler warning
      heap/hp_hash.c:
        Fixed compiler warning
      heap/hp_open.c:
        Fixed compiler warning
      heap/hp_rkey.c:
        Fixed compiler warning
      heap/hp_rrnd.c:
        Fixed compiler warning
      heap/hp_write.c:
        Fixed compiler warning
      libmysql/libmysql.c:
        Fixed compiler warning
      libmysqld/libmysqld.c:
        Fixed compiler warning
      myisam/mi_close.c:
        Fixed compiler warning
      myisam/mi_delete.c:
        Fixed compiler warning
      myisam/mi_dynrec.c:
        Fixed compiler warning
      myisam/mi_keycache.c:
        Fixed compiler warning
      myisam/mi_page.c:
        Fixed compiler warning
      myisam/mi_statrec.c:
        Fixed compiler warning
      myisam/mi_test2.c:
        Fixed compiler warning
      myisam/mi_write.c:
        Fixed compiler warning
      myisam/myisampack.c:
        Fixed compiler warning
      myisammrg/myrg_extra.c:
        Fixed compiler warning
      mysql-test/mysql-test-run.pl:
        Remove .reject, .progress, .log and .warnings flag at start
        cluster -> mysql database (for 5.1)
      mysql-test/include/federated.inc:
        Remove mysqltest warnings
      mysql-test/include/sp-vars.inc:
        Remove mysqltest warnings
      mysql-test/mysql-test-run.sh:
        Fix so that 'make test' works again
        Remove .reject, .progress .log and .warnings files at startup
      mysql-test/r/ctype_cp1250_ch.result:
        Drop used tables at startup
      mysql-test/t/create.test:
        Remove mysqltest warnings
      mysql-test/t/csv.test:
        Remove mysqltest warnings
      mysql-test/t/ctype_collate.test:
        Remove mysqltest warnings
      mysql-test/t/ctype_cp1250_ch.test:
        Drop used tables at startup
      mysql-test/t/ctype_ucs.test:
        Remove mysqltest warnings
      mysql-test/t/func_sapdb.test:
        Remove mysqltest warnings
      mysql-test/t/func_str.test:
        Remove mysqltest warnings
      mysql-test/t/grant.test:
        Remove mysqltest warnings
      mysql-test/t/greedy_optimizer.test:
        Remove mysqltest warnings
      mysql-test/t/group_min_max.test:
        Remove mysqltest warnings
      mysql-test/t/innodb.test:
        Remove mysqltest warnings
      mysql-test/t/join.test:
        Remove mysqltest warnings
      mysql-test/t/limit.test:
        Remove mysqltest warnings
      mysql-test/t/null.test:
        Remove mysqltest warnings
      mysql-test/t/select.test:
        Remove mysqltest warnings
      mysql-test/t/sp-prelocking.test:
        Remove mysqltest warnings
      mysql-test/t/strict.test:
        Remove mysqltest warnings
      mysql-test/t/subselect.test:
        Remove mysqltest warnings
      mysql-test/t/type_newdecimal.test:
        Remove mysqltest warnings
      mysql-test/t/view_grant.test:
        Remove mysqltest warnings
      mysys/default.c:
        Fixed compiler warning
      mysys/hash.c:
        Fixed compiler warning
      mysys/list.c:
        Fixed compiler warning
      mysys/mf_iocache.c:
        Fixed compiler warning
      mysys/mf_keycache.c:
        Fixed compiler warning
      mysys/mf_keycaches.c:
        Fixed compiler warning
      mysys/my_alloc.c:
        Fixed compiler warning
      mysys/my_dup.c:
        Fixed compiler warning
      mysys/my_fopen.c:
        Fixed compiler warning
      mysys/my_fstream.c:
        Fixed compiler warning
      mysys/my_getwd.c:
        Fixed compiler warning
      mysys/my_handler.c:
        Fixed compiler warning
        Added missing enums in switch
      mysys/my_lib.c:
        Fixed compiler warning
      mysys/my_lread.c:
        Fixed compiler warning
      mysys/my_lwrite.c:
        Fixed compiler warning
      mysys/my_malloc.c:
        Fixed compiler warning
      mysys/my_pread.c:
        Fixed compiler warning
      mysys/my_read.c:
        Fixed compiler warning
      mysys/my_realloc.c:
        Fixed compiler warning
      mysys/my_seek.c:
        Fixed compiler warning
      mysys/my_write.c:
        Fixed compiler warning
      mysys/safemalloc.c:
        Fixed compiler warning
      mysys/thr_lock.c:
        Fixed compiler warning
      mysys/tree.c:
        Fixed compiler warning
      mysys/typelib.c:
        Fixed compiler warning
      ndb/include/logger/LogHandler.hpp:
        Changed SetErrorStr() to take const char* to remove compiler warnings (as many arguments to this are const strings)
      ndb/include/ndb_global.h.in:
        Added LINT_SET_PTR macro to be able to remove some compiler warnings
      ndb/include/util/InputStream.hpp:
        Fixed compiler warning
      ndb/include/util/OutputStream.hpp:
        Fixed compiler warning
      ndb/include/util/SimpleProperties.hpp:
        Fixed compiler warning
      ndb/src/common/debugger/EventLogger.cpp:
        remove if on 'signal' as this is a function pointer and is always true
      ndb/src/common/debugger/signaldata/BackupSignalData.cpp:
        Add missing enums
      ndb/src/common/logger/LogHandler.cpp:
        Changed SetErrorStr() to take const char* to remove compiler warnings (as many arguments to this are const strings)
      ndb/src/common/portlib/NdbMutex.c:
        Fixed compiler warning
      ndb/src/common/portlib/NdbThread.c:
        Fixed compiler warning
      ndb/src/common/transporter/Transporter.cpp:
        Swapped arguments to remove compiler warnings
      ndb/src/cw/cpcd/CPCD.hpp:
        Fixed compiler warning
      ndb/src/kernel/blocks/backup/Backup.cpp:
        Fixed compiler warning
      ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
        Fixed compiler warning
      ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        Fixed compiler warning
      ndb/src/kernel/blocks/dbtux/DbtuxSearch.cpp:
        Fixed compiler warning
      ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
        Added missing enums
      ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
        Fixed compiler warning
      ndb/src/kernel/error/ErrorReporter.cpp:
        Fixed compiler warning
      ndb/src/kernel/error/ErrorReporter.hpp:
        Fixed compiler warning
      ndb/src/kernel/error/ndbd_exit_codes.c:
        Fixed compiler warning
      ndb/src/kernel/vm/TransporterCallback.cpp:
        Fixed compiler warning
      ndb/src/mgmapi/mgmapi.cpp:
        Fixed compiler warning
      ndb/src/mgmclient/CommandInterpreter.cpp:
        Fixed compiler warning
      ndb/src/mgmsrv/MgmtSrvr.cpp:
        Fixed compiler warning
      ndb/src/mgmsrv/Services.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/ClusterMgr.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/DictCache.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/Ndb.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/NdbOperationDefine.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/NdbOperationExec.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/NdbOperationInt.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/NdbOperationSearch.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/NdbTransaction.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/Ndbif.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/Ndbinit.cpp:
        Fixed compiler warning
      ndb/src/ndbapi/ndb_cluster_connection.cpp:
        Fixed compiler warning
      ndb/tools/drop_index.cpp:
        Fixed compiler warning
      ndb/tools/drop_tab.cpp:
        Fixed compiler warning
      ndb/tools/ndb_config.cpp:
        Fixed compiler warning
      regex/regexec.c:
        Fixed compiler warning
      server-tools/instance-manager/mysql_connection.cc:
        Fixed compiler warning
      sql/Makefile.am:
        Fix for bison 1.875, which adds an attribute statement that gcc 4.1.0 can't parse
      sql/filesort.cc:
        Fixed compiler warning
      sql/ha_archive.cc:
        Fixed compiler warning
      sql/ha_federated.cc:
        Fixed compiler warning
      sql/ha_federated.h:
        Fixed compiler warning
      sql/ha_innodb.cc:
        Fixed compiler warning
      sql/ha_myisam.cc:
        Fixed compiler warning
      sql/ha_myisammrg.cc:
        Fixed compiler warning
      sql/ha_ndbcluster.cc:
        Fixed compiler warning
      sql/handler.cc:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Fixed compiler warning
      sql/item_subselect.cc:
        Fixed compiler warning
      sql/item_timefunc.cc:
        Fixed compiler warning
      sql/log_event.cc:
        Fixed compiler warning
      sql/mysqld.cc:
        Fixed compiler warning
      sql/net_serv.cc:
        Fixed compiler warning
      sql/opt_range.cc:
        Fixed compiler warning
        Formated DBUG statements to be as rest of code
      sql/slave.cc:
        Fixed compiler warning
      sql/sql_acl.cc:
        Fixed compiler warning
      sql/sql_cache.cc:
        Fixed compiler warning
        Fixed bug in query cache when used with DBUG traceing
      sql/sql_class.cc:
        Fixed compiler warning
      sql/sql_class.h:
        Fixed compiler warning
      sql/sql_delete.cc:
        Fixed compiler warning
      sql/sql_parse.cc:
        Fixed compiler warning
        Hack to fix my_sprintf() strings with %b
      sql/sql_prepare.cc:
        Fixed compiler warning
        Hack to fix my_sprintf() strings with %b
      sql/sql_repl.cc:
        Fixed compiler warning
      sql/sql_select.cc:
        Fixed compiler warning
      sql/sql_update.cc:
        Fixed compiler warning
      sql/sql_view.cc:
        Fixed compiler warning
      sql/strfunc.cc:
        Fixed compiler warning
      sql-common/client.c:
        Fixed compiler warning
      sql-common/my_time.c:
        Fixed compiler warning
      sql/table.cc:
        Fixed compiler warning
      sql/tztime.cc:
        Fixed compiler warning
      sql/unireg.cc:
        Fixed compiler warning
      strings/decimal.c:
        Fixed compiler warning
      tests/mysql_client_test.c:
        Fixed compiler warning
      vio/viosocket.c:
        Fixed compiler warning
      vio/viossl.c:
        Fixed compiler warning
      vio/viosslfactories.c:
        Fixed compiler warning
      14decc4f
  30. 13 Nov, 2006 1 commit
    • unknown's avatar
      several fixes to make tests pass in embedded-server mode · ea1f7e4b
      unknown authored
      libmysqld/lib_sql.cc:
        check for bootstrap added
      mysql-test/include/federated.inc:
        disabled in embedded
      mysql-test/mysql-test-run.pl:
        we disable ssh in embedded server
      mysql-test/r/bdb.result:
        part moved to bdb_notembedded as it uses binlog
      mysql-test/r/flush_block_commit.result:
        part moved to flush_block_commit_notembedded
      mysql-test/r/insert.result:
        part moved to insert_notembedded as delayed works differently in embedded server
      mysql-test/r/insert_select.result:
        part moved to insert_notembedded as GRANTS usually disabled in embedded server
      mysql-test/r/join.result:
        access rights hidden in result
      mysql-test/t/backup.test:
        now available in embedded server
      mysql-test/t/bdb.test:
        part moved to bdb_notembedded as it uses binlog
      mysql-test/t/delayed.test:
        code trimmed
      mysql-test/t/execution_constants.test:
        skipped in embedded-server mode
      mysql-test/t/flush_block_commit.test:
        moved to flush_block_commit_notembedded
      mysql-test/t/information_schema_db.test:
        skipped in embedded-server
      mysql-test/t/innodb.test:
        directories replaced to be embedded-server compliant
      mysql-test/t/insert.test:
        part moved to insert_notembedded
      mysql-test/t/insert_select.test:
        part moved to insert_notembedded
      mysql-test/t/join.test:
        access rights hidden
      mysql-test/t/status.test:
        skipped in embedded server
      mysql-test/t/trigger.test:
        directories replaced to be embedded-server compliant
      sql/item_strfunc.cc:
        extra contexts not needed whan access checks disabled
      sql/share/errmsg.txt:
        bigger paths reserved to prevent test's fails
      mysql-test/r/bdb_notembedded.result:
        ***MISSING WEAVE***
      mysql-test/r/flush_block_commit_notembedded.result:
        added
      mysql-test/r/insert_notembedded.result:
        added
      mysql-test/t/bdb_notembedded.test:
        ***MISSING WEAVE***
      mysql-test/t/flush_block_commit_notembedded.test:
        added
      mysql-test/t/insert_notembedded.test:
        added
      ea1f7e4b
  31. 29 Sep, 2006 1 commit
    • unknown's avatar
      BUG#14940: Slow join order is chosen: [2nd commit with post-review fixes] · 5df80677
      unknown authored
      - Re-worked the prev_record_reads() function to return the lower bound of
        number of different table access scans that will be performed.
      
      
      mysql-test/r/join.result:
        BUG#14940: testcase
      mysql-test/t/join.test:
        BUG#14940: testcase
      sql/sql_select.cc:
        BUG#14940: Slow join order is chosen: 
        - Re-worked the prev_record_reads() function to return the lower bound of
          number of different table access scans that will be performed.
      sql/sql_select.h:
        BUG#14940: Slow join order is chosen:
        - Added comments in struct POSITION
        - Added POSITION::ref_depend_map: bitmap of tables that the table access
          method depends on.
      5df80677
  32. 28 Jul, 2006 1 commit
    • unknown's avatar
      BUG#14940 "MySQL choose wrong index", v.2 · ef452e19
      unknown authored
      - Make the range-et-al optimizer produce E(#table records after table 
                                                 condition is applied),
      - Make the join optimizer use this value,
      - Add "filtered" column to EXPLAIN EXTENDED to show 
        fraction of records left after table condition is applied
      - Adjust test results, add comments
      
      
      mysql-test/r/archive_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/auto_increment.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/bdb_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/bench_count_distinct.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/binlog_stm_blackhole.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/case.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/cast.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/compress.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ctype_collate.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ctype_cp1250_ch.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/date_formats.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/distinct.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/fulltext.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_compress.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_crypt.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_default.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_encrypt.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_gconcat.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_group.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_if.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_in.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_like.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_math.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_op.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_regexp.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_set.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_str.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_system.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_test.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/func_time.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/group_by.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/group_min_max.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/having.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/heap.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/heap_hash.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/index_merge.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/index_merge_innodb.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/index_merge_ror.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/innodb_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/insert_update.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/join.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/join_nested.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/key_diff.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/myisam.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ndb_gis.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/negation_elimination.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/null.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/olap.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/partition_pruning.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/query_cache.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/row.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/rpl_get_lock.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/rpl_master_pos_wait.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/select.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ssl.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/ssl_compress.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/subselect.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/type_blob.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/union.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/varbinary.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/variables.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/r/view.result:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/ctype_cp1250_ch.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/func_like.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/group_min_max.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/index_merge_ror.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/index_merge_ror_cpk.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/join.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      mysql-test/t/partition_pruning.test:
        BUG#14940: Adjust the test results: EXPLAIN EXTENDED now has extra "filtered" column
      sql/opt_range.cc:
        BUG#14940: Make range/index_merge/group-min-max optimizer produce TABLE::quick_condition_rows -
          estimate of #records that will match the table condition.
      sql/sql_class.cc:
        BUG#14940: Add "filtered" column to output of EXPLAIN EXTENDED
      sql/sql_select.cc:
        BUG#14940: 
        - Make the join optimizer to use TABLE::quick_condition_rows=
          = E(#table records after filtering with table condition) 
        - Add "filtered" column to output of EXPLAIN EXTENDED
      sql/sql_select.h:
        BUG#14940: Added comments
      sql/table.h:
        BUG#14940: Added comments
      ef452e19
  33. 13 Jun, 2006 1 commit
  34. 08 Jun, 2006 1 commit
    • unknown's avatar
      Bug #15355: Common natural join column not resolved in prepared statement nested · a7566db7
      unknown authored
        query
      Problem:
      There was a wrong context assigned to the columns that were added in insert_fields()
      when expanding a '*'. When this is done in a prepared statement it causes 
      fix_fields() to fail to find the table that these columns reference.
      Actually the right context is set in setup_natural_join_row_types() called at the 
      end of setup_tables(). However when executed in a context of a prepared statement
      setup_tables() resets the context, but setup_natural_join_row_types() was not
      setting it to the correct value assuming it has already done so.
      
      Solution:
      The top-most, left-most NATURAL/USING join must be set as a 
      first_name_resolution_table in context even when operating on prepared statements.
      
      
      mysql-test/r/join.result:
        testsuite for the bug
      mysql-test/t/join.test:
        testsuite for the bug
      sql/sql_base.cc:
        The context must be set even when executed as prepared statement.
      a7566db7
  35. 02 Mar, 2006 1 commit
    • unknown's avatar
      Fix for BUG#15229. · de1e87bb
      unknown authored
      The cause of this bug was a design flaw due to which the list of natural
      join columns was incorrectly computed and stored for nested joins that
      are not natural joins, but are operands (possibly indirect) of nested joins.
      
      The patch corrects the flaw in a such a way, that the result columns of a
      table reference are materialized only if it is a leaf table (that is, only
      if it is a view, stored table, or natural/using join).
      
      
      mysql-test/r/join.result:
        Added test for BUG#15229 and uncommented failing test cases of
        BUG#15357 (now fixed by this patch).
      mysql-test/t/join.test:
        Added test for BUG#15229 and uncommented failing test cases of
        BUG#15357 (now fixed by this patch).
      sql/sql_base.cc:
        - Do not materialize the result columns of regular nested joins
          (that are not natural/using joins).
        - Moved most of the code that creates/adds new natural join column
          references to the method 'get_or_create_column_ref', and simplified
          'mark_common_columns'.
        - Replaced a call to 'get_or_create_column_ref' with 'get_natural_column_ref'
          where it is for sure all columns are alredy created.
      sql/table.cc:
        - Modified the method 'get_or_create_column_ref' so that it adds itself
          the newly created natural join columns to the respective table reference.
      sql/table.h:
        - Modified the method 'get_or_create_column_ref' so that it adds itself
          the newly created natural join columns to the respective table reference.
      de1e87bb
  36. 22 Feb, 2006 1 commit
    • unknown's avatar
      Fix for BUG#17523: natural join and information schema. · 475797a3
      unknown authored
      The cause of the bug was an ASSERT that checked the consistency
      of TABLE_SHARE::db and TABLE_LIST::db and failed for I_S tables.
      The fix relaxes the requirement for consistency for I_S.
      
      
      mysql-test/r/join.result:
        Added test for BUG#17523
      mysql-test/t/join.test:
        Added test for BUG#17523
      sql/table.cc:
        Take into account that for I_S tables, TABLE_SHARE::db == 0,
        while TABLE_LIST::db contains the database name of a table.
        The only change is in the ASSERTs.
      475797a3
  37. 30 Nov, 2005 2 commits
    • unknown's avatar
      WL#2486 - natural/using join according to SQL:2003 · e26eb47b
      unknown authored
      Commented out one failing query in the regression test (reported as a bug).
      
      
      mysql-test/r/join.result:
        Commented out failing query.
      mysql-test/t/join.test:
        Commented out failing query.
      e26eb47b
    • unknown's avatar
      WL#2486 - natural/using join according to SQL:2003. · 7c38fc51
      unknown authored
      Implemented specialized regression test for the WL.
      
      
      mysql-test/r/join.result:
        Test results for natural join tests.
      mysql-test/t/join.test:
        Specialized test for natural join, and join ... on.
      7c38fc51
  38. 23 Aug, 2005 1 commit
    • unknown's avatar
      WL#2486 - natural and using join according to SQL:2003 · fe24add7
      unknown authored
      * Provide backwards compatibility extension to name resolution of
        coalesced columns. The patch allows such columns to be qualified
        with a table (and db) name, as it is in 4.1.
        Based on a patch from Monty.
      
      * Adjusted tests accordingly to test both backwards compatible name
        resolution of qualified columns, and ANSI-style resolution of
        non-qualified columns.
        For this, each affected test has two versions - one with qualified
        columns, and one without. 
      
      
      mysql-test/include/ps_query.inc:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/bdb.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/innodb.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/join.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/join_nested.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/join_outer.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/null_key.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/order_by.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_2myisam.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_3innodb.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_4heap.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_5merge.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_6bdb.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/ps_7ndb.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/select.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/subselect.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/r/type_ranges.result:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/bdb.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/innodb.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/join.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/join_nested.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/join_outer.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/null_key.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/order_by.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/select.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/subselect.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      mysql-test/t/type_ranges.test:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      sql/sql_base.cc:
        * Applied Monty's patch for backwards compatible name resolution
          of qualified columns. The idea is:
          - When a column is qualified, search for the column in all
            tables/views underlying each natural join. In this case
            natural joins are *not* considered leaves.
          - If a column is not qualified, then consider natural joins
            as leaves, thus directly search the result columns of
            natural joins.
        * Simplified 'find_field_in_tables()' - unified two similar
          loops into one.
      sql/table.cc:
        - Removed method & members not needed after Monty's patch.
      sql/table.h:
        - Removed method & members not needed after Monty's patch.
      tests/mysql_client_test.c:
        Put back old tests to test that coalesced columns of natural joins can be qualified.
      fe24add7
  39. 19 Aug, 2005 1 commit
    • unknown's avatar
      WL#2486 - natural and using join according to SQL:2003 · 1cb72d7e
      unknown authored
      - Corrected problem with N-way nested natural joins in PS mode.
      - Code cleanup
      - More asserts to check consistency of name resolution contexts
      - Fixed potential memory leak of name resolution contexts
      
      
      mysql-test/r/join.result:
        - Corrected problem with N-way nested natural joins in PS mode.
      mysql-test/t/join.test:
        - Corrected problem with N-way nested natural joins in PS mode.
      sql/item.h:
        - Fixed potential memory leak.
      sql/sql_base.cc:
        - the local context of Item_fields that participate in TABLE_LIST::on_cond for
          natural joins is correctly set to the tables where the corresponding fields
          originate from.
        - removed unused variables
        - correct allocation of contexts
      sql/sql_parse.cc:
        - correct allocation of contexts for JOIN ON conditions.
      sql/table.cc:
        - added asserts to check the consistency of name resolution contexts
      sql/table.h:
        - added asserts to check the consistency of name resolution contexts
      1cb72d7e