1. 28 Feb, 2007 1 commit
  2. 27 Feb, 2007 2 commits
    • unknown's avatar
      Merge mysqldev@production.mysql.com:my/build-200702201448-5.0.36/mysql-5.0-release/ · 54541461
      unknown authored
      into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-community
      
      
      BitKeeper/etc/collapsed:
        auto-union
      include/config-win.h:
        Auto merged
      myisam/mi_open.c:
        Auto merged
      sql/Makefile.am:
        Auto merged
      sql/ha_myisam.cc:
        Auto merged
      sql/ha_myisammrg.cc:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/lock.cc:
        Auto merged
      sql/log_event.cc:
        Auto merged
      sql/repl_failsafe.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/set_var.h:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      sql/sql_repl.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/table.h:
        Auto merged
      configure.in:
        Manual merge.  Verified "5.0.37".
      mysql-test/r/information_schema.result:
        Manual merge.
      mysql-test/t/information_schema.test:
        Manual merge.
      sql/mysql_priv.h:
        Manual merge.
      sql/mysqld.cc:
        Manual merge.
      sql/sql_select.cc:
        Manual merge.
      54541461
    • unknown's avatar
  3. 26 Feb, 2007 1 commit
    • unknown's avatar
      Some changes suggested Serg, from message <20070223210659.GA24202@janus.mylan> · 9e2fd8ca
      unknown authored
      
      configure.in:
        Use smarter autoconf help macro.
      sql/set_var.cc:
        Make a local variable static.
      sql/sql_lex.cc:
        Don't include CPP condition where it saves little time and decreases legibility.
      sql/sql_parse.cc:
        Use the name of the query in the error, instead of describing the feature.
      sql/sql_profile.cc:
        Update copyright.
        
        Make I_S schema table columns uppercase.
      sql/sql_profile.h:
        Update copyright.
      sql/sql_select.cc:
        Chagne tab indentation to spaces.
      9e2fd8ca
  4. 22 Feb, 2007 5 commits
    • unknown's avatar
      633fb481
    • unknown's avatar
      Use correct filename for profiling code. · fe671b87
      unknown authored
      fe671b87
    • unknown's avatar
      Add profiling source file to cmake file. · f6d9570d
      unknown authored
      f6d9570d
    • unknown's avatar
      Enclose profiling in preprocessor conditions. · cdacff2d
      unknown authored
      
      include/config-win.h:
        Make profiling compiled-in by default on Windows too.
      cdacff2d
    • unknown's avatar
      Prevent bugs by making DBUG_* expressions syntactically equivalent · 607c2249
      unknown authored
      to a single statement.
      ---
      Bug#24795: SHOW PROFILE
      
      Profiling is only partially functional on some architectures.  Where 
      there is no getrusage() system call, presently Null values are 
      returned where it would be required.  Notably, Windows needs some love 
      applied to make it as useful.
      
        Syntax this adds:
        
        SHOW PROFILES
        
        SHOW PROFILE [types] [FOR QUERY n] [OFFSET n] [LIMIT n]
         where "n" is an integer
         and "types" is zero or many (comma-separated) of
            "CPU"
            "MEMORY" (not presently supported)
            "BLOCK IO"
            "CONTEXT SWITCHES"
            "PAGE FAULTS"
            "IPC"
            "SWAPS"
            "SOURCE"
            "ALL"
      
      It also adds a session variable (boolean) "profiling", set to "no"
      by default, and (integer) profiling_history_size, set to 15 by 
      default.
      
      This patch abstracts setting THDs' "proc_info" behind a macro that 
      can be used as a hook into the profiling code when profiling 
      support is compiled in.  All future code in this line should use
      that mechanism for setting thd->proc_info.
      
      ---
      
      Tests are now set to omit the statistics.
      
      ---
      
      Adds an Information_schema table, "profiling" for access to 
      "show profile" data.
      ---
      Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-community-3--bug24795
      into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-community
      ---
      Fix merge problems.
      ---
      Fixed one bug in the query_source being NULL.  
      
      Updated test results.
      ---
      Include more thorough profiling tests.
      
      Improve support for prepared statements.
      
      Use session-specific query IDs, starting at zero.
      ---
      Selecting from I_S.profiling is no longer quashed in profiling, as
      requested by Giuseppe.
      
      Limit the size of captured query text.
      
      No longer log queries that are zero length.
      
      
      BitKeeper/deleted/.del-profile.result:
        Rename: mysql-test/r/profile.result -> BitKeeper/deleted/.del-profile.result
      BitKeeper/deleted/.del-profile.test:
        Rename: mysql-test/t/profile.test -> BitKeeper/deleted/.del-profile.test
      BitKeeper/deleted/.del-sql_profile.cc:
        Rename: sql/sql_profile.cc -> BitKeeper/deleted/.del-sql_profile.cc
      BitKeeper/deleted/.del-sql_profile.h:
        Rename: sql/sql_profile.h -> BitKeeper/deleted/.del-sql_profile.h
      configure.in:
        Add a configure-time option to enable/disable query profiling.  The
        default is enabled.
      include/my_dbug.h:
        
        
        DBUG_* statements should be syntactically equivalent to a single 
        statement.
      myisam/mi_open.c:
        DBUG_* statements should be syntactically equivalent to a single 
        statement.
      mysql-test/r/information_schema.result:
        Updated (re-recorded) tests that I missed somehow.  I verified these
        for correctness.
      mysql-test/r/information_schema_db.result:
        Updated test results I missed.
      mysql-test/r/mysqlshow.result:
        Fix merge problems.
      ndb/src/ndbapi/DictCache.cpp:
        DBUG_* statements should be syntactically equivalent to a single 
        statement.
      sql/ha_archive.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
      sql/ha_berkeley.cc:
        Include patch backported to 5.0-global.
        
        THD::options is a ulonglong, not ulong.
      sql/ha_myisam.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
      sql/ha_myisammrg.cc:
        DBUG_* statements should be syntactically equivalent to a single 
        statement.
      sql/ha_ndbcluster.cc:
        DBUG_* statements should be syntactically equivalent to a single 
        statement.
      sql/item_cmpfunc.cc:
        DBUG_* statements should be syntactically equivalent to a single 
        statement.
      sql/item_func.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
      sql/lock.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
      sql/log_event.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
      sql/mysql_priv.h:
        Use 64-bit constants for the 64-bit bit field.
        
        Add a new option bit for whether profiling is active or not.
      sql/mysqld.cc:
        Add semicolon to DBUG statement.
        
        Add a new system variable and set it.
        ---
        Set the minimum, which is zero and not 50.
      sql/repl_failsafe.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
      sql/set_var.cc:
        Make a new system global variable and session variable, to determine
        behavior of profiling.	
        ---
        Include patch backported to 5.0-global.
        
        THD::options is a ulonglong, not ulong.
      sql/set_var.h:
        The THD::options bit field is ulonglong, not ulong.
      sql/slave.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
        ---
        Include patch backported to 5.0-global.
        
        THD::options is a ulonglong, not ulong.
      sql/sp_head.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
      sql/sql_base.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
        ---
        Include patch backported to 5.0-global.
        
        THD::options is a ulonglong, not ulong.
      sql/sql_cache.cc:
        DBUG_* statements should be syntactically equivalent to a single 
        statement.
        ---
        Fix merge problems.
      sql/sql_class.cc:
        Insert a pointer to the current thread in the profiling code.
        ---
        Manual merge, undoing first patch.
        ---
        Fix merge problems.
      sql/sql_class.h:
        Create a new system variable, profiling_history_size, and add a 
        member to THD to hold profiling information about this thread's 
        execution.
        ---
        Manual merge, undoing first patch.
      sql/sql_delete.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
        ---
        Include patch backported to 5.0-global.
        
        THD::options is a ulonglong, not ulong.
      sql/sql_insert.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
        ---
        Fix merge problems.
      sql/sql_lex.cc:
        Initialize profiling options to empty.
        ---
        Manual merge, undoing first patch.
      sql/sql_lex.h:
        Add info to the lexer object so that we can hold data that comes from
        parsing statements.
        
        Reuse memory addresses of uints that can't occur in the same state-
        ment.
        
        This is dangerous because it involves knowledge of what symbols are 
        never used together, which is information stored obliquely in another
        file.
        ---
        Manual merge, undoing first patch.
      sql/sql_parse.cc:
        Add hooks to the parser to jump to profiling code.
        
        If profiling is not present, then return an error message upon being
        used.
        ---
        Manual merge, undoing first patch.
        ---
        Fix merge problems.
        ---
        Include patch backported to 5.0-global.
        
        THD::options is a ulonglong, not ulong.
      sql/sql_prepare.cc:
        From prepared statement execution, set the query source in the 
        profiler, as we can't get it from  thd .
        ---
        Make it less expensive to limit the size of the queries.
      sql/sql_repl.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
      sql/sql_select.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
        ---
        Fix merge problems.
      sql/sql_show.cc:
        Abstract setting thread-info into a function or macro.
        
        Also, remove "static" qualification on schema_table_store_record()
        so that external functions may use it.
        ---
        Manual merge, undoing first patch.
      sql/sql_table.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
      sql/sql_update.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
      sql/sql_view.cc:
        Abstract setting thread-info into a function or macro.
        ---
        Manual merge, undoing first patch.
      sql/sql_yacc.yy:
        Add new lexer symbols and insert new grammatical rules necessary to 
        retreive profiling information.
        ---
        Manual merge, undoing first patch.
        ---
        Fix merge problems.
      sql/table.h:
        Add enum item for query profiling.
      BitKeeper/deleted/.del-profiling-master.opt:
        New BitKeeper file ``mysql-test/t/profiling-master.opt''
      mysql-test/r/profiling.result:
        New BitKeeper file ``mysql-test/r/profiling.result''
        ---
        Include more verbose that describes the queries so far.
        
        Include Giuseppe's tests.
        ---
        Selecting from I_S.profiling is no longer quashed in profiling, as
        requested by Giuseppe.
      mysql-test/t/profiling.test:
        New BitKeeper file ``mysql-test/t/profiling.test''
        ---
        Include more verbose that describes the queries so far.
        
        Include Giuseppe's tests.
        ---
        Selecting from I_S.profiling is no longer quashed in profiling, as
        requested by Giuseppe.
      sql/sql_profile.cc:
        New BitKeeper file ``sql/sql_profile.cc''
        ---
        If query_source is NULL, as can sometimes happen, then don't try
        to copy that memory.
        ---
        Make each new session use its own numbering of query_ids, and not
        show the global-pool numbers to the user.
        
        Provide a way for prepared statements to set the query_source.
        ---
        Selecting from I_S.profiling is no longer quashed in profiling, as
        requested by Giuseppe.
        
        Limit the size of captured query text.
        
        No longer log queries that are zero length.
      sql/sql_profile.h:
        New BitKeeper file ``sql/sql_profile.h''
        ---
        Make each new session use its own numbering of query_ids, and not
        show the global-pool numbers to the user.
        
        Provide a way for prepared statements to set the query_source.
        ---
        Make it less expensive to limit the size of the queries.
      607c2249
  5. 14 Feb, 2007 1 commit
  6. 13 Feb, 2007 7 commits
    • unknown's avatar
      Post-merge fix · c039eed8
      unknown authored
      c039eed8
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.0 · 579c926d
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
      
      
      BitKeeper/etc/gone:
        auto-union
      mysys/my_getopt.c:
        Auto merged
      sql/field.h:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      mysql-test/r/select.result:
        Manual merge
      mysql-test/t/select.test:
        Manual merge
      579c926d
    • unknown's avatar
      Bug#25807: LOAD DATA INFILE does not work with Pipes · 035062b2
      unknown authored
      Showstopper and regression against 5.0.24.
      
      Previously, we ignored seek() errors (see Bug#22828) and let seek()s
      against pipes fail.  Now, since we check that a seek didn't fail,
      and return without reading, this bug popped up.
      
      This restores the behavior for file-ish objects that could never be 
      seek()ed.
      
      
      mysys/mf_iocache.c:
        If we detect early that the file is not tell()able, then we should
        assume that it's also not seek()able and therefore we should never
        set the (poorly named) "seek_not_done" flag so that we don't immedi-
        ately try to seek() when reading later.
        
        The problem was that tell() was returning -1, so when we read later, 
        we needlessly tried to seek to position  (unsigned long) -1 . 
        
        Also, if we think we're supposed to seek to a position in a file and 
        the file is un-tell()able, then abort.
      035062b2
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 6f628013
      unknown authored
      into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
      
      
      sql/mysql_priv.h:
        Auto merged
      6f628013
    • unknown's avatar
      Merge pilot.mysql.com:/home/msvensson/mysql/mysql-5.0 · e5c1656e
      unknown authored
      into  pilot.mysql.com:/home/msvensson/mysql/mysql-5.0-maint
      
      
      BitKeeper/etc/ignore:
        auto-union
      e5c1656e
    • unknown's avatar
      Merge pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint · faacf580
      unknown authored
      into  pilot.mysql.com:/home/msvensson/mysql/mysql-5.0-maint
      
      
      BitKeeper/etc/gone:
        auto-union
      mysys/my_getopt.c:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      faacf580
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · e656c582
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug26209
      
      
      sql/sql_select.cc:
        Auto merged
      e656c582
  7. 12 Feb, 2007 16 commits
    • unknown's avatar
      Merge mysql.com:/home/hf/work/20691/my50-20691 · 4c2bc81a
      unknown authored
      into  mysql.com:/home/hf/work/25492/my50-25492
      
      
      sql/item.cc:
        Auto merged
      4c2bc81a
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · e7e25506
      unknown authored
      into  mysql.com:/home/hf/work/25492/my50-25492
      
      
      e7e25506
    • unknown's avatar
      Merge mysql.com:/home/hf/work/25492/my41-25492 · 04b64f00
      unknown authored
      into  mysql.com:/home/hf/work/25492/my50-25492
      
      
      libmysqld/lib_sql.cc:
        merging
      04b64f00
    • unknown's avatar
      bug #25492 (Invalid deallocation in mysql_stmt_fetch) · fd76e148
      unknown authored
      
      libmysqld/lib_sql.cc:
        code modified to prevent freeing of memory that wasn't malloc-ed.
        Now we check if MYSQL_STMT::result was used.
      fd76e148
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/5.0 · dfe66b93
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      dfe66b93
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 5e84eb56
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      5e84eb56
    • unknown's avatar
      valgrind error fix · 7ca34a79
      unknown authored
      7ca34a79
    • unknown's avatar
      Fixed MacOSX/Intel linking problem · e307a46c
      unknown authored
       Common symbols with and without initialization
       cause the apple linker to exclude then from the
       list of global symbols.
      
      
      e307a46c
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 1c285489
      unknown authored
      into  mysql.com:/home/tnurnberg/24660/50-24660
      
      
      sql/table.cc:
        Auto merged
      sql/unireg.cc:
        Auto merged
      1c285489
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-maint · 8a34c4bb
      unknown authored
      into  mysql.com:/home/tnurnberg/24660/41-24660
      
      
      sql/table.cc:
        Auto merged
      8a34c4bb
    • unknown's avatar
      Merge mysql.com:/home/tnurnberg/24660/41-24660 · 91f684a5
      unknown authored
      into  mysql.com:/home/tnurnberg/24660/50-24660
      
      
      mysql-test/r/type_enum.result:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/unireg.cc:
        Auto merged
      91f684a5
    • unknown's avatar
      Bug#24660: "enum" field type definition problem · 4dc7c1aa
      unknown authored
      ENUMs weren't allowed to have character 0xff, a perfectly good character in some locales.
      This was circumvented by mapping 0xff in ENUMs to ',', thereby prevent actual commas from
      being used. Now if 0xff makes an appearance, we find a character not used in the enum and
      use that as a separator. If no such character exists, we throw an error.
      
      Any solution would have broken some sort of existing behaviour. This solution should
      serve both fractions (those with 0xff and those with ',' in their enums), but
      WILL REQUIRE A DUMP/RESTORE CYCLE FROM THOSE WITH 0xff IN THEIR ENUMS. :-/
      That is, mysqldump with their current server, and restore when upgrading to one with
      this patch.
      
      
      mysql-test/r/type_enum.result:
        Bug#24660: "enum" field type definition problem
        
        Show that enums can now contain NAMES_SEP_CHAR (0xff, which is a perfectly respectable
        char in some locales), or ',', or both.
      mysql-test/t/type_enum.test:
        Bug#24660: "enum" field type definition problem
        
        Show that enums can now contain NAMES_SEP_CHAR (0xff, which is a perfectly respectable
        char in some locales), or ',', or both.
      sql/table.cc:
        Bug#24660: "enum" field type definition problem
        
        Revert fix for Bug#20922.
      sql/unireg.cc:
        Bug#24660: "enum" field type definition problem
        
        Use a field-separator for ENUM-values that is not part of those values. If impossible,
        throw error.
      4dc7c1aa
    • unknown's avatar
      Bug#24630 Subselect query crashes mysqld · 2572c826
      unknown authored
      The crash happens because second filling of the same I_S table happens in
      case of subselect with order by. table->sort.io_cache previously allocated
      in create_sort_index() is deleted during second filling
      (function get_schema_tables_result). There are two places where
      I_S table can be filled: JOIN::exec and create_sort_index().
      To fix the bug we should check if the table was already filled
      in one of these places and skip processing of the table in second.
      
      
      mysql-test/r/information_schema.result:
        test case
      mysql-test/t/information_schema.test:
        test case
      sql/mysql_priv.h:
        added new parameter 'executed_place' to function get_schema_tables_result()
      sql/sql_select.cc:
        added new parameter 'executed_place' to function get_schema_tables_result()
      sql/sql_show.cc:
        added more accurate check for cases when we need to refresh I_S table
      sql/table.cc:
        added more accurate check for cases when we need to refresh I_S table
      sql/table.h:
        added more accurate check for cases when we need to refresh I_S table
      2572c826
    • unknown's avatar
      bug #20691 (INSERT (DEFAULT) may insert garbage with NO DEFAULT NOT NULL field) · 07f36668
      unknown authored
      Some fields (GEOMETRY first of all) can't be handled properly in this
      case at all. So we return an error in this case
      
      
      mysql-test/r/default.result:
        result fixed
      mysql-test/r/gis.result:
        result fixed
      mysql-test/t/default.test:
        VIEW test added
      mysql-test/t/gis.test:
        testcase added
      sql/item.cc:
        set_defaults() changed with the 'reset()'
      07f36668
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 1932ac9a
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug26159
      
      
      1932ac9a
    • unknown's avatar
      Fixed bug #26209. · ac8e0293
      unknown authored
      The function make_unireg_sortorder ignored the fact that any
      view field is represented by a 'ref' object.
      This could lead to wrong results for the queries containing
      both GROUP BY and ORDER BY clauses.
      
      
      mysql-test/r/view.result:
        Added a test case for bug #26209.
      mysql-test/t/view.test:
        Added a test case for bug #26209.
      ac8e0293
  8. 11 Feb, 2007 3 commits
    • unknown's avatar
      sql_view.cc: · 5e42c0de
      unknown authored
        Post fix for bug#12122.
      information_schema.result:
        Corrected test case after fixing bug#12122.
      
      
      sql/sql_view.cc:
        Post fix for bug#12122.
      mysql-test/r/information_schema.result:
        Corrected test case after fixing bug#12122.
      5e42c0de
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · a544b64f
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/12122-bug-5.0-opt-mysql
      
      
      a544b64f
    • unknown's avatar
      Fixed bug #26159. · 3e4f834d
      unknown authored
      A wrong order of statements in QUICK_GROUP_MIN_MAX_SELECT::reset
      caused a crash when a query with DISTINCT was executed by a loose scan
      for an InnoDB table that had been emptied. 
      
      
      mysql-test/r/innodb_mysql.result:
        Added a test case for bug #26159.
      mysql-test/t/innodb_mysql.test:
        Added a test case for bug #26159.
      sql/opt_range.cc:
        Fixed bug #26159.
        A wrong order of statements in QUICK_GROUP_MIN_MAX_SELECT::reset
        caused a crash when a query with DISTINCT was executed by a loose scan
        for an InnoDB table that had been emptied. 
        For an empty table quick_prefix_select->reset() was not called at all
        and thus some important initialization steps were missing.
      3e4f834d
  9. 09 Feb, 2007 4 commits
    • unknown's avatar
      Bug#12122: The MERGE algorithm isn't applicable if the ORDER BY clause is · 308da651
      unknown authored
      present.
      
      A view created with CREATE VIEW ... ORDER BY ... cannot be resolved with
      the MERGE algorithm, even when no other part of the CREATE VIEW statement
      would require the view to be resolved using the TEMPTABLE algorithm.
      
      The check for presence of the ORDER BY clause in the underlying select is 
      removed from the st_lex::can_be_merged() function.
      The ORDER BY list of the underlying select is appended to the ORDER BY list 
      
      
      mysql-test/t/view.test:
        Added a test case for bug#12122: Views with ORDER BY can't be resolved using MERGE algorithm.
      mysql-test/r/view.result:
        Added a test case for bug#12122: Views with ORDER BY can't be resolved using MERGE algorithm.
      sql/sql_lex.cc:
        Bug#12122: Views with ORDER BY can't be resolved using MERGE algorithm.
        The st_lex::can_be_merged() function now allows views with the ORDER BY
        clause to be resolved using MERGE algorithm. The ORDER BY list of the view 
        is appended to the ORDER BY list of the embedding select.
      308da651
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · ce8c0ec2
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug26017
      
      
      ce8c0ec2
    • unknown's avatar
      Fixed bug #26017. · 7ab33d50
      unknown authored
      Objects of the class Item_equal contain an auxiliary member
      eval_item of the type cmp_item that is used only for direct 
      evaluation of multiple equalities. Currently a multiple equality
      is evaluated directly only in the cases when the equality holds
      at most for one row in the result set.
      The compare collation of eval_item was determined incorectly.
      It could lead to returning incorrect results for some queries.
      
      
      mysql-test/r/join_outer.result:
        Added a test case for bug #26017.
      mysql-test/t/join_outer.test:
        Added a test case for bug #26017.
      sql/item_cmpfunc.cc:
        Fixed bug #26017.
        Objects of the class Item_equal contain an auxiliary member
        eval_item of the type cmp_item that is used only for direct 
        evaluation of multiple equalities. Currently a multiple equality
        is evaluated directly only in the cases when the equality holds
        at most for one row in the result set.
        The compare collation of eval_item was determined incorrectly.
        It could lead to returning incorrect results for some queries.
      sql/item_cmpfunc.h:
        Fixed bug #26017.
        Removed the cmp_collation member from the Item_equal class as useless
        for the current implementation of the class.
      7ab33d50
    • unknown's avatar
      Bug#23170: LAST_INSERT_ID isn't reset to 0 in INSERT .. SELECT when no rows were · dd6feec4
      unknown authored
      inserted.
      
      The select_insert::send_eof() function now resets LAST_INSERT_ID variable if
      no rows were inserted.
      
      
      mysql-test/t/insert_select.test:
        Added a test case for bug#23170: LAST_INSERT_ID isn't reset to 0 in INSERT .. SELECT when no rows were inserted.
      mysql-test/r/insert_select.result:
        Added a test case for bug#23170: LAST_INSERT_ID isn't reset to 0 in INSERT .. SELECT when no rows were inserted.
      sql/sql_insert.cc:
        Bug#23170: LAST_INSERT_ID isn't reset to 0 in INSERT .. SELECT when no rows were
        inserted.The select_insert::send_eof() function now resets LAST_INSERT_ID variable if
        no rows were inserted.
      dd6feec4