An error occurred fetching the project authors.
  1. 16 Feb, 2005 1 commit
    • unknown's avatar
      Fixed BUG#8540: Local variable overrides an alias. · df8286c2
      unknown authored
      mysql-test/r/sp.result:
        New test case for BUG#8540.
      mysql-test/t/sp.test:
        New test case for BUG#8540.
      sql/item.h:
        Use the existing name (if any) for a SP local variable (to get the correct
        field name in a select in the case of an alias).
      df8286c2
  2. 08 Feb, 2005 1 commit
    • unknown's avatar
      WL#2130: Table locking for stored FUNCTIONs · 41d556e3
      unknown authored
      Collect all tables and SPs refered by a statement, and open all tables
      with an implicit LOCK TABLES. Do find things refered by triggers and views,
      we open them first (and then repeat this until nothing new is found), before
      doing the actual lock tables.
      
      
      mysql-test/r/information_schema.result:
        Updated result for WL#2130.
      mysql-test/r/lock.result:
        Updated result for WL#2130.
      mysql-test/r/sp-error.result:
        Updated result for WL#2130.
      mysql-test/r/sp.result:
        Updated result for WL#2130.
      mysql-test/r/view.result:
        Updated result for WL#2130.
      mysql-test/t/information_schema.test:
        Disabled one test case due to a bug involving LOCK TABLES,
        which shows up with WL#2130.
      mysql-test/t/lock.test:
        New error message with WL#2130. This change is under debate and might change
        in the future, but will do for now.
      mysql-test/t/sp-error.test:
        Updated for WL#2130. Some tests are voided when table access does work from
        functions.
      mysql-test/t/sp.test:
        Updated for WL#2130.
      mysql-test/t/view.test:
        Updated for WL#2130.
      sql/item_func.cc:
        We now have to set net.no_send_ok for functions too, with WL#2130.
      sql/share/errmsg.txt:
        Reused an error code since the old use was voided by WL#2130, but a new
        one was needed instead (similar, but more specific restriction).
      sql/sp.cc:
        Fixed error handling and collection of used tables for WL#2130.
      sql/sp.h:
        Fixed error handling and collection of used tables for WL#2130.
      sql/sp_head.cc:
        Added support functions for collecting and merging hash tables and lists
        of used tables from SPs and substatements, for WL#2130.
      sql/sp_head.h:
        Added support functions for collecting and merging hash tables and lists
        of used tables from SPs and substatements, for WL#2130.
      sql/sql_base.cc:
        Changed the way table->query_id is tested and set during with locked tables
        in effect. This makes some SP test cases work with WL#2130, but has a side
        effect on some error cases with explicit LOCK TABLES. It's still debated if
        this is the correct way, so it might change.
      sql/sql_class.h:
        Added flags for circumventing some interference between WL#2130 and mysql_make_view().
      sql/sql_derived.cc:
        Added some missing initializations. (Potential bugs.)
      sql/sql_lex.cc:
        Clear the new hash tables for WL#2130.
      sql/sql_lex.h:
        Added hash tables for procedures and tables too (as for functions), for WL#2130.
      sql/sql_parse.cc:
        WL#2130: Make table accesses from stored functions work by adding an implicit
        LOCK TABLES around (most) executed statements. To do this, we have to go through
        a loop where we collect all SPs and tables in mysql_execute_statement.
      sql/sql_prepare.cc:
        Cache both functions and procedures for WL#2130.
      sql/sql_show.cc:
        Added some missing initializations. (Potential bugs.)
      sql/sql_view.cc:
        Shortcut mysql_make_view() if thd->shortcut_make_view is true during
        the pre-open phase for collecting tables in WL#2130. Otherwise, the
        similar mechanism here causes interference.
      sql/sql_yacc.yy:
        For WL#2130, added caching of procedures and disallowed LOCK/UNLOCK TABLES in SPs.
      41d556e3
  3. 03 Jan, 2005 1 commit
    • unknown's avatar
      Better handling of ensuring that setup_tables() are not called twice · a1a4c2c6
      unknown authored
      This fixed a bug in prepared statements when used with outher joins
      Fixed a bug in SUM(DISTINCT) when used with prepared statements.
      Some safety fixes in test scripts to ensure that previous test failures shouldn't affect other tests
      
      
      mysql-test/r/mysqldump.result:
        Safety fix if a previous test would fail
      mysql-test/r/show_check.result:
        Safety fix if a previous test would fail
      mysql-test/r/sp.result:
        Fix for --ps-protocol
      mysql-test/r/synchronization.result:
        Safety fix if a previous test would fail
      mysql-test/r/system_mysql_db.result:
        Safety fix if a previous test would fail
      mysql-test/t/mysqldump.test:
        Safety fix if a previous test would fail
      mysql-test/t/select.test:
        Safety fix if a previous test would fail
      mysql-test/t/show_check.test:
        Safety fix if a previous test would fail
      mysql-test/t/sp.test:
        fix for --ps-protocol
      mysql-test/t/strict.test:
        Fix for --ps-protocol
      mysql-test/t/synchronization.test:
        Safety fix if a previous test would fail
      mysql-test/t/system_mysql_db.test:
        Safety fix if a previous test would fail
      sql/item_sum.cc:
        Fix bug in SUM(DISTINCT...) when using with prepared statements
      sql/item_sum.h:
        Fix bug in SUM(DISTINCT...) when using with prepared statements
      sql/mysql_priv.h:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_base.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_insert.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_parse.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_prepare.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_select.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_union.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/sql_update.cc:
        Better handling of ensuring that setup_tables() are not called twice
      sql/table.h:
        Better handling of ensuring that setup_tables() are not called twice
      a1a4c2c6
  4. 28 Dec, 2004 1 commit
    • unknown's avatar
      Reverted previous name changes of all bug tests in sp.test, but kept the · ec7df82f
      unknown authored
      robustness (dropping things just in case).
      
      
      mysql-test/r/sp.result:
        Reverted previous name changes of all bug tests, but kept the
        robustness (dropping things just in case).
      mysql-test/t/sp.test:
        Reverted previous name changes of all bug tests, but kept the
        robustness (dropping things just in case).
      ec7df82f
  5. 23 Dec, 2004 1 commit
    • unknown's avatar
      WL#925 - Privileges for stored routines · 9c9573a4
      unknown authored
        Implement fine-grained control over access to stored procedures
        Privileges are cached (same way as existing table/column privs)
        
      
      
      mysql-test/include/system_db_struct.inc:
        WL#925 - Privileges for stored routines
          New system table: procs_priv
      mysql-test/r/connect.result:
        WL#925 - Privileges for stored routines
          New system table: procs_priv
      mysql-test/r/grant.result:
        WL#925 - Privileges for stored routines
          user table has additional privilege attributes
          SHOW PRIVILEGES amended
      mysql-test/r/grant2.result:
        Fix result
      mysql-test/r/information_schema.result:
        WL#925 - Privileges for stored routines
          New system table procs_priv
          New user privileges
      mysql-test/r/show_check.result:
        Fix result
      mysql-test/r/sp-security.result:
        WL#925 - Privileges for stored routines
          Fix existing tests to work with new privileges
          New tests for new privileges
      mysql-test/r/sp.result:
        WL#925 - Privileges for stored routines
          Fix SHOW PRIVILEGES results
      mysql-test/r/system_mysql_db.result:
        WL#925 - Privileges for stored routines
          New system table: procs_priv
          user and db tables have new privilege attributes
      mysql-test/t/grant2.test:
        Fix test
      mysql-test/t/show_check.test:
        Fix test
      mysql-test/t/sp-security.test:
        WL#925 - Privileges for stored routines
          Allow existing tests to run with new privilege checks
          New tests for privileges
      mysql-test/t/system_mysql_db_fix.test:
        WL#925 - Privileges for stored routines
          New system table: procs_priv
      scripts/mysql_create_system_tables.sh:
        WL#925 - Privileges for stored routines
          db and user has new privilege attributes
          new system table: procs_priv
      scripts/mysql_fix_privilege_tables.sql:
        WL#925 - Privileges for stored routines
          new system table: procs_priv
      scripts/mysql_install_db.sh:
        WL#925 - Privileges for stored routines
          Amend comment
      sql/item_func.cc:
        WL#925 - Privileges for stored routines
          Privilege check for stored FUNCTION routine
      sql/lex.h:
        WL#925 - Privileges for stored routines
          new token ROUTINE
      sql/mysql_priv.h:
        WL#925 - Privileges for stored routines
          New function: check_procedure_access()
      sql/mysqld.cc:
        WL#925 - Privileges for stored routines
          system option automatic-sp-privileges
      sql/set_var.cc:
        WL#925 - Privileges for stored routines
          system option automatic-sp-privileges
      sql/share/errmsg.txt:
        WL#925 - Privileges for stored routines
          rename errormessage to conform:
            ER_SP_ACCESS_DENIED_ERROR -> ER_PROCACCESS_DENIED_ERROR
          New error messages
            ER_NONEXISTING_PROC_GRANT, ER_PROC_AUTO_GRANT_FAIL, ER_PROC_AUTO_REVOKE_FAIL
      sql/sp.cc:
        WL#925 - Privileges for stored routines
          new function: sp_exists_routine()
      sql/sp.h:
        WL#925 - Privileges for stored routines
          new function: sp_exists_routine()
      sql/sql_acl.cc:
        WL#925 - Privileges for stored routines
          Implementation for SP privileges.
          Privileges are cached in memory hash.
          New functions:
            mysql_procedure_grant()
            check_grant_procedure()
            sp_revoke_privileges()
            sp_grant_privileges()
      sql/sql_acl.h:
        WL#925 - Privileges for stored routines
          New privilege bits: CREATE_PROC_ACL, ALTER_PROC_ACL
          Alter confusing bit-segments to be shifted
          New macros: fix_rights_for_procedure() get_rights_for_procedure()
          New functions:
            mysql_procedure_grant()
            check_grant_procedure()
            sp_grant_privileges()
            sp_revoke_privileges()
      sql/sql_lex.h:
        WL#925 - Privileges for stored routines
          new all_privileges attribute in LEX
      sql/sql_parse.cc:
        WL#925 - Privileges for stored routines
          Remove function: check_sp_definer_access()
          Add handling for SP grants/revokes
          Add privilege checks for stored procedure invocation
      sql/sql_show.cc:
        WL#925 - Privileges for stored routines
          update result for SHOW PRIVILEGES
      sql/sql_yacc.yy:
        WL#925 - Privileges for stored routines
          New token ROUTINE
          rename some rules
          handle CREATE ROUTINE / ALTER ROUTINE privileges
      9c9573a4
  6. 10 Dec, 2004 1 commit
    • unknown's avatar
      Don't display 'usage' privilege in TABLE_PRIVILEGES if we have columns privileges · 09a44a23
      unknown authored
      mysqldump skips information_schema db
      'use' now can use information_schema db
      changed value of column 'Null' to 'NO' if column is not nullable
      
      
      client/mysqldump.c:
        mysqldump skips information_schema db
      mysql-test/r/alter_table.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/create.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/ctype_collate.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/ctype_recoding.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/ctype_ujis.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/drop.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/func_sapdb.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/func_time.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/gis.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/information_schema.result:
        Added couple of tests
      mysql-test/r/information_schema_inno.result:
        Removed coulmn 'CONTRAINT_METOD' from TABLE_CONSTRAINTS
        Added column 'POSITION_IN_UNIQUE_CONSTRAINT' to KEY_COLUMN_USAGE
      mysql-test/r/innodb.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/ndb_autodiscover.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/ps_1general.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/rpl000009.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/rpl_create_database.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/schema.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/select.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/show_check.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/sp.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/type_enum.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/r/type_ranges.result:
        changed value of column 'Null' to 'NO' if column is not nullable
      mysql-test/t/information_schema.test:
        Added couple of tests
      sql/sql_acl.cc:
        Don't display 'usage' privilege in TABLE_PRIVILEGES if we have columns privileges
      sql/sql_db.cc:
        'use' now can use information_schema db
      sql/sql_show.cc:
        code cleanup
        informaton_schema(IS) db now contains data about IS itself
      sql/sql_yacc.yy:
        A fix(wrong behavour of 'SHOW COLUMNS, SHOW KEYS' with 'where condition')
      09a44a23
  7. 03 Nov, 2004 1 commit
    • unknown's avatar
      Various syntax fixes in sql/sql_yacc.yy for stored procedures: · 04758c8b
      unknown authored
        - No RESTICT|CASCADE in DROP SP (since it's not implemented)
        - Added optional "noise" to FETCH: [[NEXT] FROM]
        - At least one statement required in all block constructs except BEGIN-END
          (where zero is allowed)
      
      
      mysql-test/r/sp.result:
        Modified test cases for optional [[NEXT] FROM] in FETCH.
      mysql-test/t/sp.test:
        Modified test cases for optional [[NEXT] FROM] in FETCH.
      sql/sql_yacc.yy:
        Various syntax fixes for stored procedures:
          - No RESTICT|CASCADE in DROP SP (since it's not implemented)
          - Added optional "noise" to FETCH: [[NEXT] FROM]
          - At least one statement required in all block constructs except BEGIN-END
            (where zero is allowed)
      04758c8b
  8. 23 Oct, 2004 2 commits
    • unknown's avatar
      Fixed BUG#6029: Stored procedure specific handlers should have priority. · d9c12f82
      unknown authored
      mysql-test/r/sp.result:
        New test case for BUG#6022.
      mysql-test/t/sp.test:
        New test case for BUG#6022.
      sql/sp_rcontext.cc:
        Find the most specific condition handler, not just the first one.
        (And corrected the return type for find_handler)
      sql/sp_rcontext.h:
        Corrected return type for find_handler.
      d9c12f82
    • unknown's avatar
      Fixed BUG#6022: Stored procedure shutdown problem with self-calling function. · 5174a837
      unknown authored
        Fixed the pre-caching of functions. It now gives the expected stack overrun
        error for functions recursing too deep.
      
      
      mysql-test/r/sp.result:
        New test case for BUG#6022.
      mysql-test/t/sp.test:
        New test case for BUG#6022.
      sql/sp.cc:
        Cache function first, then recurse, or the pre-caching loops infinitely
        for recursive functions.
      5174a837
  9. 22 Oct, 2004 2 commits
    • unknown's avatar
      Fixed BUG#6030: Stored procedure has no appropriate DROP privilege. · 1239d3e6
      unknown authored
        ...and no ALTER privilege either.
        For now, only the definer and root can drop or alter an SP.
      
      
      include/mysqld_error.h:
        New access denied error code when dropping/altering stored procedures.
      include/sql_state.h:
        New access denied error code when dropping/altering stored procedures.
      mysql-test/r/sp-error.result:
        Removed warning for "unitialized variable", as this popped up in unexpected
        places after the access control for drop/alter SPs was added. (And the warning
        was wrong and planned to be removed anyway.)
      mysql-test/r/sp-security.result:
        Added tests for access control on who's allowed to drop and alter SPs.
      mysql-test/r/sp.result:
        Updated results. (Warning removed.)
      mysql-test/t/sp-error.test:
        Removed warning for "unitialized variable", as this popped up in unexpected
        places after the access control for drop/alter SPs was added. (And the warning
        was wrong and planned to be removed anyway.)
      mysql-test/t/sp-security.test:
        Added tests for access control on who's allowed to drop and alter SPs.
      sql/share/czech/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/danish/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/dutch/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/english/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/estonian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/french/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/german/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/greek/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/hungarian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/italian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/japanese/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/korean/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/norwegian-ny/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/norwegian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/polish/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/portuguese/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/romanian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/russian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/serbian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/slovak/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/spanish/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/swedish/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/ukrainian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/sql_parse.cc:
        Added minimal access control for DROP/ALTER PROCEDURE/FUNCTION. Only the definer
        and root are allowed to do this.
      sql/sql_yacc.yy:
        Removed warning for "unitialized variable", as this popped up in unexpected
        places after the access control for drop/alter SPs was added. (And the warning
        was wrong and planned to be removed anyway.)
      1239d3e6
    • unknown's avatar
      Fixed BUG#6027: Stored procedures can be renamed. · a1c76866
      unknown authored
      Removed the support for renaming SPs. It's non-standard, conflicted with a standard
      syntax, and was a bit broken anyway.
      
      
      mysql-test/r/sp-error.result:
        Removed test for renaming procedures with alter.
      mysql-test/r/sp.result:
        Removed test for renaming procedures with alter.
      mysql-test/t/sp-error.test:
        Removed test for renaming procedures with alter.
      mysql-test/t/sp.test:
        Removed test for renaming procedures with alter.
      sql/sp.cc:
        Removed support for renaming SPs. It's non-standard, conflicted with a standard
        syntax, and was a bit broken anyway.
      sql/sp.h:
        Removed support for renaming SPs. It's non-standard, conflicted with a standard
        syntax, and was a bit broken anyway.
      sql/sql_parse.cc:
        Removed support for renaming SPs. It's non-standard, conflicted with a standard
        syntax, and was a bit broken anyway.
      sql/sql_yacc.yy:
        Removed support for renaming SPs. It's non-standard, conflicted with a standard
        syntax, and was a bit broken anyway.
      a1c76866
  10. 20 Oct, 2004 1 commit
    • unknown's avatar
      errors without code removed · 9d3fe09b
      unknown authored
      net_printf/send_error calls replaced by my_error family functions
      -1/1 (sent/unsent) error reporting removed
      (WL#2133)
      
      
      include/mysqld_error.h:
        new errors added.
      mysql-test/r/rpl_charset.result:
        new error
      mysql-test/r/rpl_timezone.result:
        new error
      mysql-test/r/sp-security.result:
        more clean error message
      mysql-test/r/sp.result:
        now error state intercepted correctly
      mysql-test/t/connect.test:
        new error message
      mysql-test/t/rpl_charset.test:
        new error message
      mysql-test/t/rpl_timezone.test:
        new error
      mysql-test/t/sp-security.test:
        more correct error handling
      mysql-test/t/sp.test:
        now error state intercepted correctly
      sql/ha_innodb.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/ha_innodb.h:
        -1/1 (sent/unsent) error reporting removed
      sql/item.cc:
        only boolean values should be returned by fix_fields()
      sql/item_cmpfunc.cc:
        only boolean values should be returned by fix_fields()
      sql/item_func.cc:
        only boolean values should be returned by fix_fields()
        net_printf/send_error calls replaced by my_error family functions
      sql/item_row.cc:
        only boolean values should be returned by fix_fields()
      sql/item_subselect.cc:
        only boolean values should be returned by fix_fields()
        -1/1 (sent/unsent) error reporting removed
      sql/item_subselect.h:
        -1/1 (sent/unsent) error reporting removed
      sql/item_sum.cc:
        only boolean values should be returned by fix_fields()
      sql/item_timefunc.cc:
        only boolean values should be returned by fix_fields()
      sql/item_uniq.h:
        only boolean values should be returned by fix_fields()
      sql/mysql_priv.h:
        -1/1 (sent/unsent) error reporting removed
      sql/mysqld.cc:
        net_printf/send_error calls replaced by my_error family functions
        changes in my_message_sql to support error handling correctly
      sql/protocol.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/protocol_cursor.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/repl_failsafe.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/repl_failsafe.h:
        -1/1 (sent/unsent) error reporting removed
      sql/set_var.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/share/czech/errmsg.txt:
        new error messages
      sql/share/danish/errmsg.txt:
        new error messages
      sql/share/dutch/errmsg.txt:
        new error messages
      sql/share/english/errmsg.txt:
        new error messages
      sql/share/estonian/errmsg.txt:
        new error messages
      sql/share/french/errmsg.txt:
        new error messages
      sql/share/german/errmsg.txt:
        new error messages
      sql/share/greek/errmsg.txt:
        new error messages
      sql/share/hungarian/errmsg.txt:
        new error messages
      sql/share/italian/errmsg.txt:
        new error messages
      sql/share/japanese/errmsg.txt:
        new error messages
      sql/share/korean/errmsg.txt:
        new error messages
      sql/share/norwegian-ny/errmsg.txt:
        new error messages
      sql/share/norwegian/errmsg.txt:
        new error messages
      sql/share/polish/errmsg.txt:
        new error messages
      sql/share/portuguese/errmsg.txt:
        new error messages
      sql/share/romanian/errmsg.txt:
        new error messages
      sql/share/russian/errmsg.txt:
        new error messages
      sql/share/serbian/errmsg.txt:
        new error messages
      sql/share/slovak/errmsg.txt:
        new error messages
      sql/share/spanish/errmsg.txt:
        new error messages
      sql/share/swedish/errmsg.txt:
        new error messages
      sql/share/ukrainian/errmsg.txt:
        new error messages
      sql/slave.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/slave.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sp.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sp_head.cc:
        new eror handling support
        net_printf/send_error calls replaced by my_error family functions
      sql/sp_rcontext.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_acl.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_acl.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_base.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_class.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_class.h:
        my_messhage_sql now set/reset query_error flag
      sql/sql_db.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_delete.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_do.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_error.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_handler.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_help.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_insert.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_lex.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_load.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_map.cc:
        errors without code removed
      sql/sql_parse.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed from mysql_execute_command
      sql/sql_prepare.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_repl.cc:
        error messages fixed
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_repl.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_select.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_select.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_show.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_table.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_trigger.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_udf.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_union.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_update.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_view.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_view.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_yacc.yy:
        net_printf/send_error calls replaced by my_error family functions
      9d3fe09b
  11. 14 Oct, 2004 1 commit
    • unknown's avatar
      Implemented the stored procedure data access characteristics: · f7635ca5
      unknown authored
      NO SQL
      CONTAINS SQL (default)
      READS SQL DATA
      MODIFIES SQL DATA
      
      These are needed as hints for the replication.
      (Before this, we did have the default in the mysql.proc table, but no support in the parser.)
      
      
      mysql-test/r/sp.result:
        Modified test cases for new data access characteristics.
      mysql-test/t/sp.test:
        Modified test cases for new data access characteristics.
      scripts/mysql_create_system_tables.sh:
        We now support all the SP data access characteristics (not just CONTAINS SQL).
      scripts/mysql_fix_privilege_tables.sql:
        We now support all the SP data access characteristics (not just CONTAINS SQL).
      sql/lex.h:
        New tokens for SP data access characteristics.
      sql/sp.cc:
        Store, print and support alter of data access characteristics.
      sql/sp_head.cc:
        Added SP_ prefix to some symbols.
      sql/sql_lex.h:
        Added SP_ prefix to some symbols, and added SP data access enum.
      sql/sql_yacc.yy:
        Parse SP data access characteristics.
        (And allow "alter ... language sql", mostly as a formality, it was accidently
         put in the wrong clause before.)
      f7635ca5
  12. 10 Oct, 2004 1 commit
    • unknown's avatar
      showing table type now is controled by new parameter 'FULL' of SHOW TABLES... · 819a23d4
      unknown authored
      showing table type now is controled by new parameter 'FULL' of SHOW TABLES command (SHOW FULL TABLES) (as it was decided on last dev conf)
      
      
      mysql-test/r/connect.result:
        returned SHOW TABLES default behaviour
      mysql-test/r/ctype_recoding.result:
        returned SHOW TABLES default behaviour
      mysql-test/r/drop.result:
        returned SHOW TABLES default behaviour
      mysql-test/r/lowercase_table.result:
        returned SHOW TABLES default behaviour
      mysql-test/r/rename.result:
        returned SHOW TABLES default behaviour
      mysql-test/r/rpl000009.result:
        returned SHOW TABLES default behaviour
      mysql-test/r/rpl_error_ignored_table.result:
        returned SHOW TABLES default behaviour
      mysql-test/r/select.result:
        returned SHOW TABLES default behaviour
      mysql-test/r/sp.result:
        returned SHOW TABLES default behaviour
      mysql-test/r/system_mysql_db.result:
        returned SHOW TABLES default behaviour
      mysql-test/r/view.result:
        test of new parameter od SHOW TABLES and default behaviour without parameter
      mysql-test/t/view.test:
        test of new parameter od SHOW TABLES and default behaviour without parameter
      sql/mysql_priv.h:
        parameter added to mysqld_show_tables
      sql/sql_parse.cc:
        parameter added to mysqld_show_tables
      sql/sql_show.cc:
        showing table type now is controled by new parameter 'FULL' of SHOW TABLES command (SHOW FULL TABLES)
      sql/sql_yacc.yy:
        showing table type now is controled by new parameter 'FULL' of SHOW TABLES command (SHOW FULL TABLES)
      819a23d4
  13. 02 Oct, 2004 1 commit
    • unknown's avatar
      More fixes for strict mode: · d4f0cdc5
      unknown authored
      More tests.
      Better error messages.
      Fixed bug when checking if we updated all needed columns for INSERT.
      Give an error if we encounter a wrong float value during parsing.
      Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
      Fixed UPDATE IGNORE when using STRICT mode.
      
      
      include/mysqld_error.h:
        More error messages for strict mode
      include/sql_state.h:
        Fixed wrong state
        New error message
      mysql-test/r/alter_table.result:
        Updated results for not automatic default fields
      mysql-test/r/auto_increment.result:
        Better error messages
      mysql-test/r/create.result:
        Updated results for not automatic default fields
        Better error messages
      mysql-test/r/ctype_collate.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_latin1_de.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_many.result:
        Updated results for not automatic default fields
      mysql-test/r/ctype_recoding.result:
        Updated results for not automatic default fields
      mysql-test/r/gis-rtree.result:
        Updated results for not automatic default fields
      mysql-test/r/gis.result:
        Updated results for not automatic default fields
      mysql-test/r/innodb.result:
        Updated results for not automatic default fields
      mysql-test/r/insert.result:
        Better error messages
      mysql-test/r/insert_select.result:
        Better error messages
      mysql-test/r/isam.result:
        Updated results for not automatic default fields
      mysql-test/r/key.result:
        Better error messages
      mysql-test/r/merge.result:
        Updated results for not automatic default fields
      mysql-test/r/null.result:
        Better error messages
      mysql-test/r/null_key.result:
        Better error messages
      mysql-test/r/ps_1general.result:
        Updated results for not automatic default fields
      mysql-test/r/select.result:
        Drop views that may interfere with later results
      mysql-test/r/show_check.result:
        Updated results for not automatic default fields
      mysql-test/r/sp.result:
        Updated results for not automatic default fields
      mysql-test/r/strict.result:
        More tests
      mysql-test/r/type_set.result:
        Updated results for not automatic default fields
      mysql-test/r/warnings.result:
        Better error messages
      mysql-test/t/insert.test:
        Using wrong float values now gives an error
      mysql-test/t/select.test:
        Drop views that may interfere with later results
      mysql-test/t/strict.test:
        More tests
      scripts/mysql_fix_privilege_tables.sql:
        Add missing DEFAULT's
      sql/field.cc:
        Fix some strict mode issues for float and double
      sql/field.h:
        Fix DEFAULT handling
      sql/item.cc:
        Give an error if we encounter a wrong float value during parsing.
        Give an error if we use DEFAULT() on a field that doesn't have a default value.
      sql/item.h:
        Give an error if we encounter a wrong float value during parsing.
      sql/mysqld.cc:
        More debug info
      sql/share/czech/errmsg.txt:
        Better error messages
      sql/share/danish/errmsg.txt:
        Better error messages
      sql/share/dutch/errmsg.txt:
        Better error messages
      sql/share/english/errmsg.txt:
        Better error messages
      sql/share/estonian/errmsg.txt:
        Better error messages
      sql/share/french/errmsg.txt:
        Better error messages
      sql/share/german/errmsg.txt:
        Better error messages
      sql/share/greek/errmsg.txt:
        Better error messages
      sql/share/hungarian/errmsg.txt:
        Better error messages
      sql/share/italian/errmsg.txt:
        Better error messages
      sql/share/japanese/errmsg.txt:
        Better error messages
      sql/share/korean/errmsg.txt:
        Better error messages
      sql/share/norwegian-ny/errmsg.txt:
        Better error messages
      sql/share/norwegian/errmsg.txt:
        Better error messages
      sql/share/polish/errmsg.txt:
        Better error messages
      sql/share/portuguese/errmsg.txt:
        Better error messages
      sql/share/romanian/errmsg.txt:
        Better error messages
      sql/share/russian/errmsg.txt:
        Better error messages
      sql/share/serbian/errmsg.txt:
        Better error messages
      sql/share/slovak/errmsg.txt:
        Better error messages
      sql/share/spanish/errmsg.txt:
        Better error messages
      sql/share/swedish/errmsg.txt:
        Better error messages
      sql/share/ukrainian/errmsg.txt:
        Better error messages
      sql/sql_insert.cc:
        Fixed bug in last push of checking of default values.
      sql/sql_parse.cc:
        Enum fields has always a default value
      sql/sql_show.cc:
        Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS
      sql/sql_table.cc:
        Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
      sql/sql_update.cc:
        Don't abort for wrong values for UPDATE IGNORE
      sql/sql_yacc.yy:
        Abort if we find a wrong float value
      sql/table.cc:
        Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
      d4f0cdc5
  14. 29 Sep, 2004 1 commit
  15. 28 Sep, 2004 1 commit
    • unknown's avatar
      Strict mode & better warnings · cf5e6660
      unknown authored
      Under strict mode MySQL will generate an error message if there was any conversion when assigning data to a field.
      Added checking of date/datetime fields.
      If strict mode, give error if we have not given value to field without a default value (for INSERT)
      
      
      client/mysqltest.c:
        Added --exit as an option to abort a test in a middle (good for debugging)
      include/my_time.h:
        Added flags to allow checking of dates in strict mode
      include/mysql_com.h:
        Added flag to check if field has a default value or not
      include/mysqld_error.h:
        New error messages for strict mode
      include/sql_state.h:
        Fixed SQL states (for strict mode tests)
      mysql-test/r/auto_increment.result:
        Updated error messages
      mysql-test/r/func_sapdb.result:
        Added test for ALLOW_INVALID_DATES
      mysql-test/r/func_str.result:
        Updated error messages
      mysql-test/r/func_time.result:
        Updated error messages
      mysql-test/r/insert.result:
        Updated error messages
      mysql-test/r/loaddata.result:
        Updated error messages
      mysql-test/r/select.result:
        Updated error messages
      mysql-test/r/sp.result:
        Updated error messages
      mysql-test/r/timezone2.result:
        Updated error messages
      mysql-test/r/type_datetime.result:
        Updated error messages
      mysql-test/r/type_decimal.result:
        Updated error messages
      mysql-test/r/type_float.result:
        Updated error messages
      mysql-test/r/type_ranges.result:
        Updated error messages
      mysql-test/r/type_time.result:
        Updated error messages
      mysql-test/r/type_uint.result:
        Updated error messages
      mysql-test/r/warnings.result:
        Updated error messages
      mysql-test/t/func_sapdb.test:
        Aded test
      sql-common/my_time.c:
        Added checking of dates
      sql/field.cc:
        Better error messages
        Optimization of warning handling (by introducing of check_int())
        Changed to use my_strtoll10()
      sql/field.h:
        Added check_int()
      sql/item_func.cc:
        Warnings when dividing by NULL
      sql/item_func.h:
        Warnings when dividing by NULL
      sql/item_timefunc.cc:
        Testing of date/datetime
        Use macros instead of constants
      sql/mysql_priv.h:
        New modes (part of strict mode)
      sql/mysqld.cc:
        New modes (part of strict mode)
      sql/opt_range.cc:
        Simple optimizations
      sql/protocol.cc:
        Add note/warning level to find_handler()
      sql/set_var.cc:
        Added mode 'traditional'
      sql/share/czech/errmsg.txt:
        New error messages for strict mode
      sql/share/danish/errmsg.txt:
        New error messages for strict mode
      sql/share/dutch/errmsg.txt:
        New error messages for strict mode
      sql/share/english/errmsg.txt:
        New error messages for strict mode
      sql/share/estonian/errmsg.txt:
        New error messages for strict mode
      sql/share/french/errmsg.txt:
        New error messages for strict mode
      sql/share/german/errmsg.txt:
        New error messages for strict mode
      sql/share/greek/errmsg.txt:
        New error messages for strict mode
      sql/share/hungarian/errmsg.txt:
        New error messages for strict mode
      sql/share/italian/errmsg.txt:
        New error messages for strict mode
      sql/share/japanese/errmsg.txt:
        New error messages for strict mode
      sql/share/korean/errmsg.txt:
        New error messages for strict mode
      sql/share/norwegian-ny/errmsg.txt:
        New error messages for strict mode
      sql/share/norwegian/errmsg.txt:
        New error messages for strict mode
      sql/share/polish/errmsg.txt:
        New error messages for strict mode
      sql/share/portuguese/errmsg.txt:
        New error messages for strict mode
      sql/share/romanian/errmsg.txt:
        New error messages for strict mode
      sql/share/russian/errmsg.txt:
        New error messages for strict mode
      sql/share/serbian/errmsg.txt:
        New error messages for strict mode
      sql/share/slovak/errmsg.txt:
        New error messages for strict mode
      sql/share/spanish/errmsg.txt:
        New error messages for strict mode
      sql/share/swedish/errmsg.txt:
        New error messages for strict mode
      sql/share/ukrainian/errmsg.txt:
        New error messages for strict mode
      sql/sp_rcontext.cc:
        Add note/warning level to find_handler()
      sql/sp_rcontext.h:
        Add note/warning level to find_handler()
      sql/sql_base.cc:
        Fix bug for detecting crashed table
      sql/sql_class.cc:
        Variables for strct mode
      sql/sql_class.h:
        Variables for strct mode
      sql/sql_error.cc:
        In strict mode, convert warnings to errors
      sql/sql_insert.cc:
        Strict mode
        If strict mode, give error if we have not given value to field without a default value
      sql/sql_load.cc:
        Strict mode
      sql/sql_parse.cc:
        Strict mode.
        Add flag to field if it doesn't have a default value
      sql/sql_select.cc:
        Added comment
        Prepare for upper level handling of table->status
      sql/sql_union.cc:
        Added THD to write_record()
      sql/sql_update.cc:
        Strict mode
      sql/table.cc:
        Handling of default values
      sql/time.cc:
        Checking of dates
      cf5e6660
  16. 17 Sep, 2004 1 commit
    • unknown's avatar
      Fixed BUG#3583: query cache doesn't work for stored procedures. · 7aaa1865
      unknown authored
      mysql-test/r/sp.result:
        New test case for BUG#3583.
        (And current query is now set correctly.)
      mysql-test/t/sp.test:
        New test case for BUG#3583.
      sql/sp_head.cc:
        Set the thd->query and try to use cached query, if any, when executing a statement.
      sql/sp_head.h:
        Extract the sub-query and store in sp_instr_stmt.
      sql/sql_cache.cc:
        Keep the net->pkt_nr up-to-date when using query cache.
        This makes it work with stored procedures too.
      sql/sql_cache.h:
        Keep the net->pkt_nr up-to-date when using query cache.
        This makes it work with stored procedures too.
      sql/sql_yacc.yy:
        Extract the sub-query and store in sp_instr_stmt.
        (And it's never safe to cache references to local variables.)
      7aaa1865
  17. 10 Sep, 2004 1 commit
  18. 09 Sep, 2004 2 commits
    • unknown's avatar
      Fixed BUG#4487: Stored procedure connection aborted if uninitialized char. · 93903260
      unknown authored
      mysql-test/r/sp.result:
        New test case for BUG#4487.
      mysql-test/t/sp.test:
        New test case for BUG#4487.
      sql/item_func.h:
        Propagate null_value properly in sp functions.
      93903260
    • unknown's avatar
      After merge fixes of merge with 4.1 that included the new arena code. · 74e8c6af
      unknown authored
      Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
      Prefix addresses with 0x for easier comparisons of debug logs
      Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
      This fix changed some 'index' queries to 'range' queries in the test suite
      Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
      This fix removed of a lot of 'Using where' notes in the test suite.
      Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      Give NOTE instead of WARNING for safe field-type conversions
      
      
      Makefile.am:
        Don't automaticly update files from bk
      client/mysqlbinlog.cc:
        Merge with 4.1 (+ apply bug fixes for --offset and --start-position)
      include/my_sys.h:
        Faster clear_alloc_root()
      mysql-test/r/bdb.result:
        Updated results after merge
      mysql-test/r/create.result:
        Updated results after merge
      mysql-test/r/func_group.result:
        Updated results after merge
      mysql-test/r/func_if.result:
        Updated results after merge
      mysql-test/r/heap_btree.result:
        Updated results after merge
      mysql-test/r/index_merge.result:
        Updated results after merge
      mysql-test/r/index_merge_ror.result:
        Updated results after merge
      mysql-test/r/innodb.result:
        Updated results after merge
      mysql-test/r/join_outer.result:
        Updated results after merge
      mysql-test/r/mysqlbinlog2.result:
        Updated results after merge
      mysql-test/r/negation_elimination.result:
        Updated results after merge
      mysql-test/r/null.result:
        Updated results after merge
        Added more tests
      mysql-test/r/null_key.result:
        Updated results after merge
        Added more tests
      mysql-test/r/order_by.result:
        Updated results after merge
      mysql-test/r/range.result:
        Updated results after merge
        Added more tests
      mysql-test/r/rpl_charset.result:
        Updated results after merge
      mysql-test/r/sp-error.result:
        Updated results after merge
      mysql-test/r/sp.result:
        Updated results after merge
        Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
      mysql-test/r/type_blob.result:
        Updated results after merge
        (Some warnings are now notes)
      mysql-test/r/user_var.result:
        Updated results after merge
        Added more tests
      mysql-test/r/variables.result:
        Updated results after merge
      mysql-test/r/view.result:
        Updated results after merge
      mysql-test/t/mysqlbinlog2.test:
        Updated tests to use new positions
      mysql-test/t/null.test:
        More tests
      mysql-test/t/null_key.test:
        More tests
      mysql-test/t/range.test:
        More tests
      mysql-test/t/rpl_charset.test:
        Avoid big diffs in the future if tests changes
      mysql-test/t/sp-error.test:
        Updated error numbers
      mysql-test/t/sp-security.test:
        Updated error numbers
      mysql-test/t/sp.test:
        Updated results after merge
        Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
      mysql-test/t/user_var.test:
        More tests
      mysql-test/t/view.test:
        Updated error numbers
      mysys/my_alloc.c:
        Write into debug log the address of the allocated area
      sql/ha_isam.cc:
        Prefix addresses with 0x for easier comparisons of debug logs
      sql/ha_myisam.cc:
        Prefix addresses with 0x for easier comparisons of debug logs
      sql/ha_ndbcluster.cc:
        Add missing enum to switch
      sql/handler.cc:
        remove compiler warning
      sql/item.cc:
        More debugging
        Simple cleanup
      sql/item.h:
        Move Item::cleanup() to item.cc
      sql/item_cmpfunc.cc:
        Fix arena code
      sql/item_subselect.cc:
        After merge fixes
      sql/item_subselect.h:
        After merge fixes
      sql/item_sum.cc:
        Updated comment
      sql/log_event.cc:
        Remove wrong test
      sql/mysql_priv.h:
        Indentation fixes
      sql/mysqld.cc:
        After merge fixes
        Added 0x to pointers in debug log
      sql/opt_range.cc:
        Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
        This fix changed some 'index' queries to 'range' queries in the test suite
      sql/set_var.cc:
        Indentation fixes
      sql/sp_head.cc:
        Set state to INITIALIZED to make SP work with new arena code
      sql/sql_base.cc:
        After merge fixes
      sql/sql_class.cc:
        More debugging
        Use clear_alloc_root() instead of init_alloc_root() as the former is faster
      sql/sql_class.h:
        New method 'only_prepare()'
      sql/sql_lex.cc:
        After merge fixes
      sql/sql_lex.h:
        After merge fixes
      sql/sql_parse.cc:
        Fix for timezone tables. (The old way to add timezone tables to global list in 'create_total_list' doesn't work anymore)
        Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
        This fix removed of a lot of 'Using where' notes in the test suite
      sql/sql_table.cc:
        Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      sql/sql_union.cc:
        After merge fix
      sql/sql_view.cc:
        After merge fix
      sql/table.cc:
        After merge fix
      sql/tztime.cc:
        Update timezone table handling to use new table lists structure
      sql/tztime.h:
        Update timezone table handling to use new table lists structure
      sql/unireg.cc:
        Use 0x before pointers
      74e8c6af
  19. 08 Sep, 2004 1 commit
    • unknown's avatar
      Fixed BUG#5258: Stored procedure modified date is 0000-00-00. · 82503c58
      unknown authored
        Althought techically not a but (as it's functioning as designed),
        it was decided that the design should be changed. Some users have
        a problem with dates being '0000-00-00' and the SQL standard specifies
        that the modification date should be the same as the creation date
        at creation.
      
      
      mysql-test/r/sp.result:
        New test case for BUG#5258.
      mysql-test/t/sp.test:
        New test case for BUG#5258.
      sql/sp.cc:
        Set the modification time at creation too.
      82503c58
  20. 02 Sep, 2004 2 commits
    • unknown's avatar
      Fixed BUG#5307: Stored procedure allows statement after BEGIN ... END. · 4a795f11
      unknown authored
      mysql-test/r/sp.result:
        New test case for BUG#5307
      mysql-test/t/sp.test:
        New test case for BUG#5307
      sql/sp_head.cc:
        Use the correct end-of-query pointer when extracting the body in the case
        of a create procedure compound with another statement.
      4a795f11
    • unknown's avatar
      Fixed BUG#5287: Stored procedure crash if leave outside loop. · a8c27b03
      unknown authored
      Bug in diff_handlers and diff_cursors made it attempt to pop
      the wrong number at jumps sometimes.
      
      
      mysql-test/r/sp.result:
        New testcase for BUG#5287.
      mysql-test/t/sp.test:
        New testcase for BUG#5287.
      sql/sp_pcontext.cc:
        Fixed diff_handlers and diff_cursors methods, they miscounted.
      sql/sp_pcontext.h:
        Made m_handlers available for diff_handlers.
      a8c27b03
  21. 30 Aug, 2004 2 commits
  22. 27 Aug, 2004 1 commit
  23. 26 Aug, 2004 1 commit
    • unknown's avatar
      Major rehacking and cleanup of sp_pcontext. · 6dd5a174
      unknown authored
      This finishes (almost) WL#2002: Implement stored procedure GOTO.
      Only the syntax issue for free labels remains ("label L;" vs "L:").
      
      
      include/mysqld_error.h:
        New error code for GOTO in SP handler.
      mysql-test/r/sp-error.result:
        New error test cases for GOTO.
      mysql-test/r/sp.result:
        New test cases for GOTO.
        Also removed some things that made it impossible to run the test in
        an external (debugged) mysqld.
      mysql-test/t/sp-error.test:
        New error test cases for GOTO.
      mysql-test/t/sp.test:
        New test cases for GOTO.
        Also removed some things that made it impossible to run the test in
        an external (debugged) mysqld.
      sql/share/czech/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/danish/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/dutch/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/english/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/estonian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/french/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/german/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/greek/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/hungarian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/italian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/japanese/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/korean/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/norwegian-ny/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/norwegian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/polish/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/portuguese/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/romanian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/russian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/serbian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/slovak/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/spanish/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/swedish/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/ukrainian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/sp_head.cc:
        Code cleanup (renaming of pcontext methods), support goto, and fixed bug
        in jump shortcutting in the optimizer (detect infinite loops).
      sql/sp_head.h:
        Code cleanup (renaming of pcontext methods), support goto, and fixed bug
        in jump shortcutting in the optimizer (detect infinite loops).
      sql/sp_pcontext.cc:
        Major rehack and cleanup:
        - We now push and pop a chain of contexts during parsing (instead of having
          a single one).
        - Makes error detection for GOTO easier and enables some optmizations and
          debugger support.
        - Makes it a little trickier to keep track on variable and cursor indexes instead.
        - Renamed things to get a more consistent naming scheme too.
      sql/sp_pcontext.h:
        Major rehack and cleanup:
        - We now push and pop a chain of contexts during parsing (instead of having
          a single one).
        - Makes error detection for GOTO easier and enables some optmizations and
          debugger support.
        - Makes it a little trickier to keep track on variable and cursor indexes instead.
        - Renamed things to get a more consistent naming scheme too.
      sql/sql_yacc.yy:
        Changes to reflect the rework and renamings in sp_pcontext, and fixed
        some GOTO error checking.
      6dd5a174
  24. 24 Aug, 2004 1 commit
    • unknown's avatar
      Fixed BUG#3157: Crash if stored procedure contains IF EXISTS, · 842bf0b1
      unknown authored
      and BUG#336: Subselects with tables does not work as values for
      local SP variables (which was closed before with a temp. fix, but not
      actually fixed).
      
      
      mysql-test/r/sp-error.result:
        Moved test case for BUG#336 to sp.test, as it's not generating an error any longer.
      mysql-test/r/sp.result:
        Move test case for BUG#336 from sp-error.test and added new test case
        for BUG#3157.
      mysql-test/t/sp-error.test:
        Moved test case for BUG#336 to sp.test, as it's not generating an error any longer.
      mysql-test/t/sp.test:
        Move test case for BUG#336 from sp-error.test and added new test case
        for BUG#3157.
      sql/sp_head.cc:
        Open and close tables in set, jump-if[-not] and freturn instructions if
        the value expression is a subselect.
      sql/sp_head.h:
        Store tables in set, jump-if[-not] and freturn instructions if
        the value expression is a subselect.
      sql/sql_yacc.yy:
        Store tables in set, jump-if[-not] and freturn instructions if
        the value expression is a subselect.
      842bf0b1
  25. 17 Aug, 2004 1 commit
    • unknown's avatar
      WL#2002: Implement stored procedure GOTO. · 74c75658
      unknown authored
      Mostly done, it works, but the temporary LABEL syntax still to be fixed.
      
      
      mysql-test/r/sp-error.result:
        New test case for WL#2002 (GOTO).
      mysql-test/r/sp.result:
        New test case for WL#2002 (GOTO).
        (Also corrected another test)
      mysql-test/t/sp-error.test:
        New test case for WL#2002 (GOTO).
      mysql-test/t/sp.test:
        New test case for WL#2002 (GOTO).
        (Also corrected another test)
      sql/lex.h:
        New symbol GOTO.
        Also a temporary symbol LABEL, which hopefully will go away soon.
      sql/sp_head.cc:
        Fixed backpatching to cope with free GOTO labels an hpop and cpop instructions.
        Also optimized away pointless jump instructions.
      sql/sp_head.h:
        Fixed backpatching to cope with free GOTO labels an hpop and cpop instructions.
        We now sometimes generate hpop/cpop 0 instructions but the optimizer removes them.
      sql/sp_pcontext.cc:
        Added free GOTO labels, and support for coping with jumps out of blocks
        with handlers or cursors.
      sql/sp_pcontext.h:
        Added free GOTO labels, and support for coping with jumps out of blocks
        with handlers or cursors.
      sql/sql_yacc.yy:
        Added GOTO and LABEL, and adjusted backpatching accordingly. Also fixed LEAVE
        out of blocks. The LABEL syntax will go away soon, hopefully.
      74c75658
  26. 13 Aug, 2004 1 commit
  27. 06 Aug, 2004 3 commits
    • unknown's avatar
      Removed an SP test case that's not repeatable over different builds/platforms. · da4ad7f1
      unknown authored
      mysql-test/r/sp.result:
        Removed a test case that's not repeatable over different builds/platforms.
      mysql-test/t/sp.test:
        Removed a test case that's not repeatable over different builds/platforms.
      da4ad7f1
    • unknown's avatar
      Fixed BUG#4904: Stored procedure crash if continue handler for HY000 errors. · b4c9e3f4
      unknown authored
        The description is not entirerly correct. The issue was follow-up errors
        where the first error is not caught - in which case it's often a system
        error with errcode < 1000 (which are mapped by default to 'HY000'). In this
        case the error state is different from what was assumed in the execution
        loop.
      
      
      mysql-test/r/sp.result:
        New test case for BUG#4902.
      mysql-test/t/sp.test:
        New test case for BUG#4902.
      sql/sp_head.cc:
        Don't test the net.report_error flag in the execution loop. (Don't know
        why this was done in the first place, as it seems to serve no purpose.)
      b4c9e3f4
    • unknown's avatar
      Fixed BUG#4902: Stored procedure with SHOW WARNINGS leads to packet error, · 6901fd55
      unknown authored
        and tried to do it properly this time, digging out all show commands that
        need the multi results flag set.
      
      
      mysql-test/r/sp.result:
        New test case for BUG#4902, with lots of other show commands as well.
      mysql-test/t/sp.test:
        New test case for BUG#4902, with lots of other show commands as well.
      sql/sp_head.cc:
        The check for possible multiple result commands was becomming unwieldly,
        so we moved it to a separate function, and added loads of new command codes
        to the test.
      sql/sp_head.h:
        The check for possible multiple result commands was becomming unwieldly,
        so we moved it to a separate function.
      sql/sql_yacc.yy:
        The check for possible multiple result commands was becomming unwieldly,
        so we moved it to a separate function.
      6901fd55
  28. 29 Jul, 2004 1 commit
    • unknown's avatar
      Fixed BUG#4318: Stored Procedure packet error if HANDLER statement, · 2c34474a
      unknown authored
      at least partially. It doesn't crash or give packets out of order
      any more, but it's unclear why it doesn't actually return anything
      from within an SP. This should be investigated at some point, but
      for the moment this will have to do. (It is a rather obscure feature... :)
      
      
      mysql-test/r/sp.result:
        Test case for BUG#4318.
      mysql-test/t/sp.test:
        Test case for BUG#4318.
      sql/sql_yacc.yy:
        Recognize HANDLER READ as another statement that might result in multiple results.
      2c34474a
  29. 23 Jul, 2004 1 commit
  30. 22 Jul, 2004 1 commit
    • unknown's avatar
      Fixed BUG#4579: Execution of SP crashes server. · c6b52e9b
      unknown authored
      Sub-CALLs of procedures zapped thd->current_arena for good.
      
      
      mysql-test/r/sp.result:
        New test case for BUG#4579.
      mysql-test/t/sp.test:
        New test case for BUG#4579.
      sql/sp_head.cc:
        Keep and restore old thd->current_arena before/after executing an SP,
        instead of just setting it to 0 afterwards.
      c6b52e9b
  31. 15 Jul, 2004 1 commit
    • unknown's avatar
      After merge fixes · 13d67c78
      unknown authored
      Note: The following tests fails
      - fulltext (Sergei has promised to fix)
      - rpl_charset (Guilhem should fix)
      - rpl_timezone (Dimitray has promised to fix)
      
      Sanja needs to check out the calling of close_thread_tables() in sp_head.cc
      
      
      myisam/mi_check.c:
        After merge fix
      myisam/sort.c:
        After merge fix
      mysql-test/mysql-test-run.sh:
        Export master socket to mysqltest
      mysql-test/r/func_group.result:
        Make result repeatable
      mysql-test/r/mysqlbinlog.result:
        After merge fix
      mysql-test/r/ps_1general.result:
        After merge fix
      mysql-test/r/ps_2myisam.result:
        After merge fix
      mysql-test/r/ps_3innodb.result:
        After merge fix
      mysql-test/r/ps_4heap.result:
        After merge fix
      mysql-test/r/ps_5merge.result:
        After merge fix
      mysql-test/r/ps_6bdb.result:
        After merge fix
      mysql-test/r/rpl_flush_log_loop.result:
        After merge fix
      mysql-test/r/rpl_replicate_do.result:
        After merge fix
      mysql-test/r/rpl_temporary.result:
        After merge fix
      mysql-test/r/rpl_timezone.result:
        After merge fix
        Note that this test fails now (Dimitry has promised to fix this)
      mysql-test/r/rpl_user_variables.result:
        After merge fix
      mysql-test/r/select.result:
        After merge fix
      mysql-test/r/sp-error.result:
        After merge fix
      mysql-test/r/sp-security.result:
        After merge fix
      mysql-test/r/sp.result:
        After merge fix
      mysql-test/r/user_var.result:
        After merge fix
      mysql-test/r/variables.result:
        After merge fix
      mysql-test/t/alter_table.test:
        After merge fix
      mysql-test/t/derived.test:
        After merge fix
      mysql-test/t/func_group.test:
        Make result repeatable
      mysql-test/t/grant_cache.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/multi_update.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000015.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000017.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000018.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl_charset.test:
        After merge fix
      mysql-test/t/rpl_heap.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl_rotate_logs.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/sp-error.test:
        after merge fix
      mysql-test/t/sp-security.test:
        after merge fix
      mysql-test/t/user_var.test:
        after merge fix
      scripts/mysql_fix_privilege_tables.sh:
        This can now be exectued from the source distribution
      sql/handler.cc:
        Cleanup
      sql/handler.h:
        More debugging
      sql/item.h:
        Indentation fixes
      sql/item_cmpfunc.cc:
        After merge fixes
      sql/opt_range.cc:
        After merge fixes
      sql/opt_range.h:
        After merge fixes
      sql/sp.cc:
        After merge fixes
      sql/sp_head.cc:
        Remove closing of thread tables in a SP function as this caused a core dump.
        (Has to be fixed better)
      sql/sql_base.cc:
        More debugging
      sql/sql_handler.cc:
        After merge fixes
        (We have to call ha_index_or_rnd_end() before calling close_thread_table())
      sql/sql_parse.cc:
        More debugging
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
      13d67c78
  32. 15 Jun, 2004 1 commit
    • unknown's avatar
      Fixed BUG#3368: Stored procedure crash if group_concat(variable). · 254704e4
      unknown authored
      mysql-test/r/sp.result:
        New test case for BUG#3368.
      mysql-test/t/sp.test:
        New test case for BUG#3368.
      sql/item.h:
        Corrected const_item() for item_splocal. (Confusing semantics here, but this
        makes group_concat() behave as expected, instead of crashing, and does not
        appear to affect anything else.)
      254704e4
  33. 14 Jun, 2004 1 commit