1. 11 Aug, 2005 9 commits
    • unknown's avatar
      sql_base.cc: · 743fde24
      unknown authored
        Fixed bug #12382.
        INSERT statement effectively changed thd->set_query_id to 0,
        while SELECT statement changed it to 0. As a result
        the insert_fields function that expanded '*' was called
        with different values of thd->set_query_id for the query
        SELECT * FROM view depending on whether it was run after
        an INSERT or after a SELECT statement. This was corrected
        by restoring the old value of thd->set_query_id when
        returning from the function setup_fields where possible
        reset could occur.
        If the value of thd->set_query_id == 0 then the fields
        substituted instead of '*' were not registered as used
        for bitmaps used_keys. This caused selection of an invalid
        execution plan for the query SELECT * from <view>.
      view.result, view.test:
        Added a test case for bug #12382.
      
      
      mysql-test/t/view.test:
        Added a test case for bug #12382.
      mysql-test/r/view.result:
        Added a test case for bug #12382.
      sql/sql_base.cc:
        Fixed bug #12382.
        INSERT statement effectively changed thd->set_query_id to 0,
        while SELECT statement changed it to 0. As a result
        the insert_fields function that expanded '*' was called
        with different values of thd->set_query_id for the query
        SELECT * FROM view depending on whether it was run after
        an INSERT or after a SELECT statement. This was corrected
        by restoring the old value of thd->set_query_id when
        returning from the function setup_fields where possible
        reset could occur.
        If the value of thd->set_query_id == 0 then the fields
        substituted instead of '*' were not registered as used
        for bitmaps used_keys. This caused selection of an invalid
        execution plan for the query SELECT * from <view>.
      743fde24
    • unknown's avatar
      Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.0 · fd9c0a92
      unknown authored
      into  xiphis.org:/usr/home/antony/work2/merge-5.0
      
      
      fd9c0a92
    • unknown's avatar
      fix after merge · a6975c01
      unknown authored
      
      mysql-test/r/bigint.result:
        fix test after merge
      mysql-test/r/query_cache.result:
        fix test after merge
      mysql-test/r/type_datetime.result:
        fix test after merge
      a6975c01
    • unknown's avatar
      Fixed some warning and error messages so that they use · 1d3d9ec1
      unknown authored
      sql_print_warning() and sql_print_error() instead of fprintf to stderr.
      Above functions are tuned for different platforms so that the behavior
      is consistent around platforms. Using fprintf() different behavior can
      be expected at least on Windows and Unix.
      
      
      1d3d9ec1
    • unknown's avatar
      Merge xiphis.org:/usr/home/antony/work2/mysql-4.1 · de00ff76
      unknown authored
      into  xiphis.org:/usr/home/antony/work2/merge-5.0
      
      
      client/mysql.cc:
        Auto merged
      client/mysqldump.c:
        Auto merged
      client/mysqltest.c:
        Auto merged
      myisam/ft_boolean_search.c:
        Auto merged
      myisammrg/myrg_static.c:
        Auto merged
      mysql-test/r/func_str.result:
        Auto merged
      mysql-test/r/rpl_drop_temp.result:
        Auto merged
      mysql-test/r/type_datetime.result:
        Auto merged
      mysql-test/t/bigint.test:
        Auto merged
      mysql-test/t/func_str.test:
        Auto merged
      mysql-test/t/rpl_drop_temp.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sql_cache.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql-common/my_time.c:
        Auto merged
      include/my_sys.h:
        manual merge 4.1->5.0
      mysql-test/r/bigint.result:
        manual merge 4.1->5.0
      mysql-test/r/subselect.result:
        manual merge 4.1->5.0
      mysql-test/t/subselect.test:
        manual merge 4.1->5.0
      mysys/charset.c:
        manual merge 4.1->5.0
      sql/ha_ndbcluster.cc:
        manual merge 4.1->5.0
      sql/item_strfunc.cc:
        manual merge 4.1->5.0
      sql/sql_base.cc:
        manual merge 4.1->5.0
      sql/sql_select.cc:
        manual merge 4.1->5.0
      sql/sql_union.cc:
        manual merge 4.1->5.0
      strings/Makefile.am:
        manual merge 4.1->5.0
      tests/mysql_client_test.c:
        manual merge 4.1->5.0
      de00ff76
    • unknown's avatar
      query_cache_notembedded.test, query_cache_notembedded.result: · bf076931
      unknown authored
        postmerge fix
      
      
      mysql-test/r/query_cache_notembedded.result:
        postmerge fix
      mysql-test/t/query_cache_notembedded.test:
        postmerge fix
      bf076931
    • unknown's avatar
      merge · 7a3cf493
      unknown authored
      
      BitKeeper/deleted/.del-query_cache_notembedded.result:
        Delete: mysql-test/r/query_cache_notembedded.result
      BitKeeper/deleted/.del-query_cache_notembedded.test:
        Delete: mysql-test/t/query_cache_notembedded.test
      mysql-test/r/func_str.result:
        Auto merged
      mysql-test/t/func_str.test:
        Auto merged
      7a3cf493
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 98da6d5f
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-bg11973-2
      
      
      sql/item_subselect.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      mysql-test/r/trigger.result:
        SCCS merged
      mysql-test/t/trigger.test:
        SCCS merged
      98da6d5f
    • unknown's avatar
      make the same filenames as in 4.1 · a724dbc0
      unknown authored
      
      mysql-test/t/query_cache_notembedded.test:
        Rename: mysql-test/t/query_cache_noembeded.test -> mysql-test/t/query_cache_notembedded.test
      mysql-test/r/query_cache_notembedded.result:
        Rename: mysql-test/r/query_cache_noembeded.result -> mysql-test/r/query_cache_notembedded.result
      a724dbc0
  2. 10 Aug, 2005 16 commits
    • unknown's avatar
      Merge xiphis.org:/usr/home/antony/work2/p2-bug10109.3 · 5329be86
      unknown authored
      into  xiphis.org:/usr/home/antony/work2/p2-bug10109.4
      
      
      mysql-test/t/insert_update.test:
        Auto merged
      mysql-test/r/insert_update.result:
        Auto merged
      sql/sql_class.h:
        discard bug10109 changes from 4.1
      sql/sql_insert.cc:
        merge bug10109 from 4.1 to 5.0
      sql/sql_parse.cc:
        discard bug10109 changes from 4.1
      5329be86
    • unknown's avatar
      Merge mysql.com:/home/psergey/mysql-5.0-bug12228-r4 · 42fec6b6
      unknown authored
      into mysql.com:/home/psergey/mysql-5.0-bug12228-r5
      
      
      mysql-test/r/type_bit.result:
        Auto merged
      mysql-test/t/sp-threads.test:
        Auto merged
      mysql-test/t/type_bit.test:
        Auto merged
      sql/sp.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      42fec6b6
    • unknown's avatar
      BUG#12228: Post review fixes: Added test case, code cleanup. · 6b9ec78b
      unknown authored
      
      mysql-test/r/sp-threads.result:
        Testcase for BUG#12228
      mysql-test/t/sp-threads.test:
        Testcase for BUG#12228
      sql/sp_cache.cc:
        BUG#12228: Post-review fixes: small code cleanup
      sql/sp_cache.h:
        BUG#12228: Post-review fixes: fixed the comment
      sql/sql_parse.cc:
        BUG#12228: Post-review fixes: in mysql_parse, flush obsolete SPs from the caches only if 
         the query hasn't been handled by the query cache.
      sql/sql_prepare.cc:
        BUG#12228: Post-review fixes: in mysql_stmt_prepare/execute, flush SP caches 
         "closer to the execution"
      6b9ec78b
    • unknown's avatar
      block using QC in case of having tables locked by LOCK... (BUG#12385) · 307ed9b4
      unknown authored
      
      sql/sql_cache.cc:
        block QC using if tables are locked with LOCK
        unlock QC
      mysql-test/r/query_cache_noembeded.result:
        New BitKeeper file ``mysql-test/r/query_cache_noembeded.result''
      mysql-test/t/query_cache_noembeded.test:
        New BitKeeper file ``mysql-test/t/query_cache_noembeded.test''
      307ed9b4
    • unknown's avatar
      A fix and a test case for Bug#12243 "MySQL Server crashes with 2 · 6861b1bf
      unknown authored
      cursors (+ commit)" and Bug#11832 "Server crash with InnoDB + Cursors"
      See comments to the changed files.
      
      
      innobase/include/read0read.h:
        - add cursor_view_t::n_mysql_tables_in_use
      innobase/read/read0read.c:
        - maintain cursor_view_t::n_mysql_tables_in_use. InnoDB
        maintains trx->n_mysql_tables_in_use to know when it can auto-commit
        a read-only statement. When this count drops to zero,
        MySQL has ended processing of such statement and InnoDB can commit.
        Cursors should not break this invariant, and should exclude the tables
        used in a cursor from the count of active tables.
        When a cursor is closed, the number of its tables is added back, 
        to ensure that close_thread_tables->unlock_external->
        ha_innobase::external_lock(F_UNLCK) won't drop the count in trx 
        below zero.
      innobase/row/row0sel.c:
        - remove the restoration of the global read view from 
        row_search_for_mysql: MySQL may call row_search_for_mysql
        more than once when fetching a row for a cursor (e.g. if there
        is a WHERE clause that filters out some rows).
      sql/ha_innodb.cc:
        - add more verbose printout for the case when we close an InnoDB
        connection without priorlly issuing a commit or rollback. The problem
        should be investigated.
      tests/mysql_client_test.c:
        - add a test case for Bug#12243 "MySQL Server crashes with 2 cursors 
        (+ commit)"
      6861b1bf
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · cf1a9d3b
      unknown authored
      into  mysql.com:/home/kostja/mysql/mysql-5.0-12243
      
      
      cf1a9d3b
    • unknown's avatar
      Fix coding style. · ad729777
      unknown authored
      ad729777
    • unknown's avatar
      Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.0 · 259da9d1
      unknown authored
      into  linux.site:/home/reggie/bk/mysql-5.0-new
      
      
      server-tools/instance-manager/IMService.cpp:
        Auto merged
      259da9d1
    • unknown's avatar
      error message fixed · 2bd3255e
      unknown authored
      2bd3255e
    • unknown's avatar
      Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0 · ffbe897a
      unknown authored
      into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
      
      
      ffbe897a
    • unknown's avatar
      A fix for Bug#11901 "mysql_stmt_attr_set CURSOR_TYPE_READ_ONLY join in · 8e9f6b19
      unknown authored
      subqry order by server crash": failing DBUG_ASSERT(curr_join == this)
      when opening a cursor.
      Ensure that for top-level join curr_join == join (always), 
      and thus fix the failing assert.
      curr_join is a hack to ensure that uncacheable subqueries can be
      re-evaluated safely, and should be never different from main join
      in case of top-level join.
      
      
      sql/sql_select.cc:
        - utilize tmp_join only if we evaluate an uncacheable subquery.
      sql/sql_select.h:
        - implement JOIN::is_top_level_join()
      tests/mysql_client_test.c:
        A test case for Bug#11901 "mysql_stmt_attr_set CURSOR_TYPE_READ_ONLY
         join in subqry order by server crash"
      8e9f6b19
    • unknown's avatar
      Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1 · 0872e83c
      unknown authored
      into  mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
      
      
      sql/ha_ndbcluster.cc:
        Auto merged
      0872e83c
    • unknown's avatar
      Merge mysql.com:/usr/local/home/marty/MySQL/mysql-4.1 · 1900c79f
      unknown authored
      into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
      
      
      sql/ha_ndbcluster.cc:
        SCCS merged
      1900c79f
    • unknown's avatar
      0ba4be2b
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 8559ef62
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-bg12280
      
      
      sql/sql_parse.cc:
        Auto merged
      sql/share/errmsg.txt:
        Auto merged
      8559ef62
    • unknown's avatar
      Fix for bug #12280 "Triggers: crash if flush tables". · f6fff55e
      unknown authored
      We should not allow FLUSH statement to be executed inside both triggers
      and stored functions.
      
      
      mysql-test/r/sp-error.result:
        Updated test after replacing error, which is thrown when one uses FLUSH
        statement inside of stored function, with more specific.
        Also now we issue more general error when we barking about USE command
        in stored routines.
      mysql-test/r/trigger.result:
        Added test for bug #12280 "Triggers: crash if flush tables"
      mysql-test/t/sp-error.test:
        Updated test after replacing error, which is thrown when one uses FLUSH
        statement inside of stored function, with more specific.
        Also now we issue more general error when we barking about USE command
        in stored routines.
      mysql-test/t/trigger.test:
        Added test for bug #12280 "Triggers: crash if flush tables"
      sql/share/errmsg.txt:
        Removed ER_SP_NO_USE error. Now we use more general ER_SP_BADSTATEMENT in this
        case. Instead added error message for barking about statements which should not
        be allowed inside of stored functions or triggers.
        It is safe to do this since it is highly unprobable that someone will upgrade
        first to the new 5.0 release and then downgrade back to the old one.
      sql/sql_parse.cc:
        reload_acl_and_cache():
          FLUSH TABLES and FLUSH PRIVILEGES should not be allowed if we are inside
          of stored function or trigger.
      sql/sql_yacc.yy:
        We should not allow FLUSH statement inside both triggers and stored
        functions. Replaced error which is thrown in this case with more
        specific.
        Also now we issue more general ER_SP_BADSTATEMENT error when one tries
        to use USE command inside of stored routine.
      f6fff55e
  3. 09 Aug, 2005 15 commits
    • unknown's avatar
      Clumsy but working fix for bug #11973 "SELECT .. INTO var_name; in trigger · 61a68ed6
      unknown authored
      cause crash on update".
      
      Let us update "thd" pointer in LEX, all its units and in LEX::result before
      executing statement in trigger body, since triggers are associated with TABLE
      object and because of this can be used in different threads.
      
      
      mysql-test/r/trigger.result:
        Added test case for bug #11973 "SELECT .. INTO var_name; in trigger cause
        crash on update".
      mysql-test/t/trigger.test:
        Added test case for bug #11973 "SELECT .. INTO var_name; in trigger cause
        crash on update".
      sql/item_subselect.cc:
        subselect_engine:
          Moved implementation of set_thd() method to item_subselect.cc,
          since now it also sets "thd" for subselect_engine::result.
      sql/item_subselect.h:
        subselect_engine:
          Moved implementation of set_thd() method to item_subselect.cc,
          since now it also sets "thd" for subselect_engine::result.
      sql/sql_class.h:
        select_result:
          Added set_thd() method for updating select_result::thd value (we need this
          in cases when statement to which this select_result belongs will be used
          in different threads, as it happens for statements in trigger body).
        multi_delete/multi_update:
          Got rid of redundant "thd" member (we already have it in select_result).
      sql/sql_delete.cc:
        multi_delete:
          Got rid of redundant "thd" member (we already have it in select_result).
      sql/sql_lex.h:
        st_select_lex_unit:
          Added set_thd() method for updating st_select_lex_unit::thd value
          (we need this in cases when statement to which this unit belongs will
           be used in different threads, as it happens for statements in trigger body).
          We don't update thd of select_result pointed by st_select_lex_unit::result
          in this method, since it is either have too short lifetime (i.e. created for
          each execution) or is accessible via Item_subquery or LEX::result and thus
          already taken care of.
      sql/sql_parse.cc:
        multi_delete:
          Got rid of redundant "thd" member (we already have it in select_result).
      sql/sql_prepare.cc:
        reinit_stmt_before_use():
          We have to update "thd" pointer in LEX, all its units and in LEX::result,
          since statements which belong to trigger body are associated with TABLE
          object and because of this can be used in different threads.
      sql/sql_update.cc:
        multi_update:
          Got rid of redundant "thd" member (we already have it in select_result).
      61a68ed6
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0 · 03198127
      unknown authored
      into moonbone.local:/work/mysql-5.0-bug-12340
      
      
      03198127
    • unknown's avatar
      Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.0 · d3614012
      unknown authored
      into  monster.:D:/Work/mysql/mysql-5.0
      
      
      d3614012
    • unknown's avatar
      Some changes to project files · 741d3ae1
      unknown authored
      str_alloc had been added but was not added to mysqlclient and strings
      libmysql should have had strings as a dependent.
      
      
      VC++Files/client/mysqlclient.vcproj:
        Added missing file
      VC++Files/mysql.sln:
        Make libmysql dependendent on strings
      VC++Files/strings/strings.vcproj:
        Added missing file
      741d3ae1
    • unknown's avatar
      Fix bug #12340 Wrong comparison in ha_innobase::cmp_ref() · 71a8b11f
      unknown authored
      When PRIMARY KEY is present ha_innobase::cmp_ref() uses it to compare refs.
      After comparing part of key it moves pointers to compare next part.
      For varchar parts pointers were moved only by length of parts, not including
      bytes containig part length itself. This results in wrong comparision and
      wrong number of deleted records.
      
      
      
      sql/ha_innodb.cc:
        Fix bug #12340  ha_innobase::cmp_ref() moves pointers by wrong length.
      mysql-test/t/innodb.test:
        Test case for bug #12340 ha_innobase::cmp_ref() moves pointers by wrong length.
      mysql-test/r/innodb.result:
        Test case for bug #12340 ha_innobase::cmp_ref() moves pointers by wrong length.
      71a8b11f
    • unknown's avatar
      Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-4.1 · 888a9314
      unknown authored
      into  xiphis.org:/usr/home/antony/work2/p2-bug10109.3
      
      
      sql/sql_parse.cc:
        Auto merged
      888a9314
    • unknown's avatar
      changes to IM code that came from Petr's review · f766a1dc
      unknown authored
      
      server-tools/instance-manager/IMService.cpp:
        syntax change requested by Petr
      server-tools/instance-manager/options.cc:
        return 1 instead of -1
      server-tools/instance-manager/options.h:
        changed return value of setup_windows_defaults to int from void
      f766a1dc
    • unknown's avatar
      removing trailing spaces · 81a24473
      unknown authored
      81a24473
    • unknown's avatar
      7a42570f
    • unknown's avatar
      changes to IM that came from Petr and JimW's review. · 5d8222cd
      unknown authored
      
      server-tools/instance-manager/IMService.cpp:
        make sure HandleServiceOptions returns 0 on success and 1 on failure
      server-tools/instance-manager/mysqlmanager.cc:
        default return value is 1.
        simplify some code bits by just jumping to err on error.
        move options.cleanup inside the err block.  In this case, the err block
        is more than just an error block.  It is the terminating block
        for both error and success.  You set return_value to 0 for success
        or leave it as 1 for failure.  This simplies this function a bit.
      server-tools/instance-manager/options.cc:
        remove the malloc for default password filename on Windows and replace
        with statically allocated memory.
        
        default Options:saved_argv to NULL so that we will know if we need
        to free it in cleanup()
        
        setup the default config file location for Windows inside the
        setup_windows_defaults function and remove this code from load()
        
        rework setup_windows_defaults so that it properly returns 0 on success
        and 1 on error and so it fills in the default location for the
        log file, password file, and config file.
      5d8222cd
    • unknown's avatar
      small corrections to the IM. · 530abb5c
      unknown authored
      
      server-tools/instance-manager/IMService.cpp:
        removed \n from log_info calls as these will be added automatically
      server-tools/instance-manager/user_map.cc:
        added back in support for password files using \r\n, this time
        without breaking the const contract.
      530abb5c
    • unknown's avatar
      Added missing cast. · 88c4ad24
      unknown authored
      88c4ad24
    • unknown's avatar
      Merged code. · 776713f4
      unknown authored
      776713f4
    • unknown's avatar
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 8e062962
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-is
      
      
      8e062962