1. 11 Jul, 2005 2 commits
    • unknown's avatar
      Fixed 32bit issue, reworked error logic for open tables, and redid the repair... · a339be0f
      unknown authored
      Fixed 32bit issue, reworked error logic for open tables, and redid the repair table code so that it uses the extended optimize table code.
      
      
      sql/examples/ha_archive.cc:
        Fixed issue with 32bit systems giving warnings on bit shift (this is due to the fix by Jim to change to ha_rows). The error logic for opening a table was reworked after studing up on a reported issue. It has been reworked to create a share in all situations. The repair table will just have to figure everything out or toss its own error. The read only filesystem and permission denied problems were solved. Repair table code now rebuilds with the new optimize table extended code (so it no longer does the work itself).
      a339be0f
    • unknown's avatar
      Refactoring of write_row() into two parts to allow future additions. Also... · 46f0327e
      unknown authored
      Refactoring of write_row() into two parts to allow future additions. Also rewrote the OPTIMIZE TABLE code, to add new extended optimize. This form of optimize rebuilds not only the file, but each individual row. 
      
      
      mysql-test/r/archive.result:
        Update results file for new OPTIMIZE TABLE <foo> EXTENDED command.
      mysql-test/t/archive.test:
        Added new test for extended optimize
      sql/examples/ha_archive.cc:
        Refactored write_row code into two parts. This will allow me to abstract it out once I add in new row format. This also allowed code sharing for the new optimize command (which will be used for new repair code).
      sql/examples/ha_archive.h:
        Added new real_write_row() method for writing out rows.
      46f0327e
  2. 09 Jul, 2005 3 commits
    • unknown's avatar
      Manual fixes after merging patch for bug #8406 "Triggers crash if referencing · d0c69a82
      unknown authored
      a table" with main tree.
      
      
      mysql-test/r/trigger.result:
        Temporalily disable part of test which exposes bug #11554 (work on which is in
        progress).
      mysql-test/t/sp-error.test:
        After merge fix.
          Fixed wrong delimiter command.
      mysql-test/t/trigger.test:
        Temporalily disable part of test which exposes bug #11554 (work on which is in
        progress).
      sql/sp.cc:
        After merge fix.
          Item_arena was renamed to Query_arena.
      sql/sp.h:
        After merge fix.
          Item_arena was renamed to Query_arena.
      sql/sql_lex.cc:
        After merge fix.
          LEX::spfuns/spprocs hashes were replaces with one LEX::sroutines hash.
      d0c69a82
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · eef5f17b
      unknown authored
      into  mysql.com:/home/dlenev/src/mysql-5.0-bg8406
      
      
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/r/trigger.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      mysql-test/t/trigger.test:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/sp.cc:
        Auto merged
      sql/sp_head.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_trigger.cc:
        Auto merged
      mysql-test/r/sp-error.result:
        Manual merge.
      mysql-test/t/sp-error.test:
        Manual merge.
      sql/sp_head.cc:
        Manual merge.
      sql/sql_yacc.yy:
        Manual merge.
      eef5f17b
    • unknown's avatar
      Enable support of access to tables from triggers. Thus fix bug #8406 "Triggers · 14b1f91b
      unknown authored
      crash if referencing a table" and several other related bugs.
      Fix for bug #11834 "Re-execution of prepared statement with dropped function
      crashes server." which was spotted during work on previous bugs.
      
      Also couple of nice cleanups:
      - Replaced two separate hashes for stored routines used by statement with one.
      - Now instead of doing one pass through all routines used in statement for
        caching them and then doing another pass for adding their tables to table
        list, we do only one pass during which do both things.
      
      
      mysql-test/r/sp-error.result:
        Added test for bug #11834 "Re-execution of prepared statement with dropped
        function crashes server" also covering handling of prepared statements
        which use stored functions but does not require prelocking.
      mysql-test/r/sp.result:
        Updated test for LOCK TABLES with views in table list.
        (Old version of statement used in this test will work ok now, since prelocking
         algorithm was tuned and will lock only one multi-set of tables for each routine
         even if this routine is used in several different views).
      mysql-test/r/trigger.result:
        Added several tests for triggers using tables.
      mysql-test/t/sp-error.test:
        Added test for bug #11834 "Re-execution of prepared statement with dropped
        function crashes server" also covering handling of prepared statements
        which use stored functions but does not require prelocking.
      mysql-test/t/sp.test:
        Updated comment about recursive views to reflect current situation.
        Updated test for LOCK TABLES with views in table list.
        (Old version of statement used in this test will work ok now, since prelocking
         algorithm was tuned and will lock only one multi-set of tables for each routine
         even if this routine is used in several different views).
      mysql-test/t/trigger.test:
        Added several tests for triggers using tables.
      sql/item_func.cc:
        Item_func_sp::cleanup():
          By next statement execution stored function can be dropped or altered so
          we can't assume that sp_head object for it will be still valid.
      sql/sp.cc:
        - Added Sroutine_hash_entry structure that represents element in the set of
          stored routines used by statement or routine. We can't as before use
          LEX_STRING for this purprose because we want link all elements of this set
          in list.
        - Replaced sp_add_to_hash() with sp_add_used_routine() which takes into account
          that now we use one hash for stored routines used by statement instead of two
          and which mantains list linking all elelemnts in this hash.
        - Renamed sp_merge_hash() to sp_update_sp_used_routines().
        - Introduced sp_update_stmt_used_routines() for adding elements to the set of
          routines used by statement from another similar set for statement or routine.
          This function will also mantain list linking elements of destination set.
        - Now instead of one sp_cache_routines() function we have family of 
          sp_cache_routines_and_add_tables() functions which are also responsible for
          adding tables used by routines being cached to statement table list. Nice
          optimization - thanks to list linking all elements in the hash of routines
          used by statement we don't need to perform several iterations over this hash
          (as it was before in cases when we have added new elements to it).
      sql/sp.h:
        Added declarations of functions used for manipulations with set (hash) of stored
        routines used by statement.
      sql/sp_head.cc:
        sp_name::init_qname():
          Now sp_name also holds key identifying routine in the set (hash) of
          stored routines used by statement. 
        sp_head:
          Instead of two separate hashes sp_funs/m_spprocs representing sets of stored
          routines used by this routine we use one hash - m_sroutines. 
        sp_instr_set_trigger_field:
          Added support for subqueries in assignments to row accessors in triggers.
        Removed definition of sp_add_sp_tables_to_table_list() and auxilary functions 
        since now we don't have separate stage on which we add tables used by routines
        used by statement to table list for prelocking. We do it on the same stage as
        we load those routines in SP cache. So all this functionality moved to
        sp_cache_routines_and_add_tables() family of functions.
      sql/sp_head.h:
        sp_name:
          Now this class also holds key identifying routine in the set (hash) of stored
          routines used by statement. 
        sp_head:
          Instead of two separate hashes sp_funs/m_spprocs representing sets of stored
          routines used by this routine we use one hash - m_sroutines. 
        sp_instr_set_trigger_field:
          Added support for subqueries in assignments to row accessors in triggers.
        Removed declaration of sp_add_sp_tables_to_table_list() since now we don't have
        separate stage on which we add tables used by routines used by statement to
        table list for prelocking. We do it on the same stage as we load those routines
        in SP cache.
      sql/sql_base.cc:
        open_tables():
        - LEX::spfuns/spprocs hashes were replaced with one LEX::sroutines hash.
        - Now instead of doing one pass through all routines used in statement for
          caching them and then doing another pass for adding their tables to table
          list, we do only one pass during which do both things. It is easy to do
          since all routines in the set of routines used by statement are linked in
          the list. This also allows us to calculate table list for prelocking more
          precisely.
        - Now triggers properly inform prelocking algorithm about tables they use.
      sql/sql_lex.cc:
        lex_start():
          Replaced LEX::spfuns/spprocs with with one LEX::sroutines hash.
          Added LEX::sroutines_list list linking all elements in this hash.
        st_lex::st_lex():
          Moved definition of LEX constructor to sql_lex.cc file to be able
          use sp_sroutine_key declaration from sp.h in it.
      sql/sql_lex.h:
        LEX:
          Replaced two separate hashes for stored routines used by statement with one.
          Added list linking all elements in this hash to be able to iterate through all
          elements and add new elements to this hash at the same time.
          Moved constructor definition to sql_lex.cc.
      sql/sql_parse.cc:
        mysql_execute_command():
          Replaced LEX::spfuns/spprocs with one LEX::sroutines hash.
      sql/sql_trigger.cc:
        Added missing GNU GPL notice.
        Table_triggers_list::check_n_load()
          Added initialization of sroutines_key which stores key representing
          triggers of this table in the set (hash) of routines used by this statement.
      sql/sql_trigger.h:
        Added missing GNU GPL notice.
        Table_triggers_list:
          Added sroutines_key member to store key representing triggers of this
          table in the set (hash) of routines used by this statement.
          Declared sp_cache_routines_and_add_tables_for_triggers() as friend since
          it needs access to sroutines_key and trigger bodies.
      sql/sql_yacc.yy:
        - Now we use sp_add_used_routine() instead of sp_add_to_hash() for adding
          elements to the set of stored routines used in statement.
        - Enabled support of subqueries as right sides in assignments to triggers' row
          accessors.
      14b1f91b
  3. 08 Jul, 2005 11 commits
  4. 07 Jul, 2005 18 commits
  5. 06 Jul, 2005 6 commits
    • unknown's avatar
      Merge jwinstead@production.mysql.com:my/mysql-5.0-11045 · 8a23dd86
      unknown authored
      into  mysql.com:/home/jimw/my/mysql-5.0-clean
      
      
      VC++Files/sql/mysqld.dsp:
        Auto merged
      sql/ha_federated.cc:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_union.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/item_strfunc.cc:
        SCCS merged
      8a23dd86
    • unknown's avatar
      Merge · 376a50e6
      unknown authored
      376a50e6
    • unknown's avatar
      Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0 · abe951ab
      unknown authored
      into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug4-5.0
      
      
      abe951ab
    • unknown's avatar
      mtr_misc.pl: · 0f063423
      unknown authored
        Corrected appending of .exe to Windows executables
        Don't alter read only @_ in foreach loop
      mysql-test-run.pl:
        Improved cleanup of binlogs
        Use separate log file for second master
        Corrected Windows paths to executables
      
      
      mysql-test/mysql-test-run.pl:
        Improved cleanup of binlogs
        Use separate log file for second master
        Corrected Windows paths to executables
      mysql-test/lib/mtr_misc.pl:
        Corrected appending of .exe to Windows executables
        Don't alter read only @_ in foreach loop
      0f063423
    • unknown's avatar
      Look in the directory above the executable for the my.cnf/ini, on Windows, as · 348dfd41
      unknown authored
      the new installer and GUI tools expect. (Bug #10419) Also, dynamically bind to
      GetSystemWindowsDirectory() so that it works on all platforms. (Bug #5354)
      
      
      mysys/default.c:
        Dynamically bind to GetSystemWindowsDirectory() or emulate it, and also look
        in directory above the executable to find my.cnf/ini on Windows.
      348dfd41
    • unknown's avatar
      Merge igor-inspiron.creware.com:/home/igor/mysql-5.0 · ef4290d5
      unknown authored
      into igor-inspiron.creware.com:/home/igor/dev/mysql-5.0-0
      
      
      ef4290d5