An error occurred fetching the project authors.
  1. 01 Dec, 2006 1 commit
    • unknown's avatar
      Bug#22043 MySQL don't add "USE <DATABASE>" before "DROP PROCEDURE IF EXISTS" · 2f0b1d65
      unknown authored
      - Refactoring of duplicate code
      - Modified bad test cases
      - Changed expected error when operating on information_schema.
      
      
      mysql-test/r/information_schema.result:
        - updated result file with new error code.
      mysql-test/r/rpl_sp.result:
        - Modified test case
      mysql-test/t/information_schema.test:
        - Changed error code for operations on information_schema
      mysql-test/t/rpl_sp.test:
        - Modified test case
      sql/sql_parse.cc:
        - Cleaned up code:
          * replace tab with space
          * simplified if/switch statements
          * refactored duplicated code
      2f0b1d65
  2. 23 Oct, 2006 2 commits
    • unknown's avatar
      after merge fix · 9655547b
      unknown authored
      9655547b
    • unknown's avatar
      Fix for bug#23037 Bug in field "Default" of query "SHOW COLUMNS FROM table" · 29947efc
      unknown authored
        
      To the documentor: The DEFAULT value in SHOW COLUMNS/SELECT FROM I_S.COLUMNS
      was truncated to NAME_LEN (which effectively is 64) characters.
      
      
      mysql-test/r/information_schema.result:
        Update result
        
        Because the length of I_S.COLUMNS.COLUMN_DEFAULT was increased to
        65535 the column changed it's type from varchar(64) to longtext
        The type is longtext if the length is > 65532 (the max varchar len)
      mysql-test/t/information_schema.test:
        test case for bug#23037: Bug in field "Default" of
        query "SHOW COLUMNS FROM table"
        
        Both SHOW COLUMNS and I_S.COLUMNS is TESTED as well the
        value returned by both. Using --replace_regex is unfeasible
        as the repetition value cannot be > 255.
        --replace_regex /A{256}/VALUE/ doesn't work, not to talk about
          /A{65532}/VALUE/
        /(A{255}){255}/VALUE/ is awfully slow. Thus, simple function with
        cursor is used to extract the value.
      sql/sql_show.cc:
        Default value can have TIMESTAMP, CHAR, VARCHAR, ENUM
        VARCHAR can have the longest value, up to 65535. However, because
        of table handler limitations the actual limit is 65532 characters,
        latin1 charset. However, here is used MAX_FIELD_VARCHARLENGTH macro,
        because there could be a storage engine without such limitation.
      29947efc
  3. 13 Sep, 2006 1 commit
    • unknown's avatar
      WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES · 63387829
      unknown authored
       tables to INFORMATION_SCHEMA.
      
      
      mysql-test/r/information_schema.result:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Fixed test cases result (changes are due to the new tables added).
      mysql-test/r/information_schema_db.result:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Fixed test cases result (changes are due to the new tables added).
      mysql-test/r/status.result:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Fixed results for added testcases.
      mysql-test/r/variables.result:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Fixed results for added test cases.
      mysql-test/t/status.test:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Added test cases.
      mysql-test/t/variables.test:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Added test cases.
      sql/sql_show.cc:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Implementation of the new I_S tables.
         Also, show_status_array(): argument 'ucase_names' is added (true means that
         all variable names are to be converted to upper case).
      sql/table.h:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Implementation of the new I_S tables.
      63387829
  4. 06 Sep, 2006 1 commit
    • unknown's avatar
      Fixed bug #5500: EXPLAIN returned a wrong select_type for queries using views. · 22c3e7b4
      unknown authored
      Select_type in the EXPLAIN output for the query SELECT * FROM t1 was
      'SIMPLE', while for the query SELECT * FROM v1, where the view v1
      was defined as SELECT * FROM t1, the EXPLAIN output contained 'PRIMARY'
      for the select_type column.
       
      
      
      mysql-test/r/group_by.result:
        Adjusted results after the fix for bug #5500.
      mysql-test/r/information_schema.result:
        Adjusted results after the fix for bug #5500.
      mysql-test/r/olap.result:
        Adjusted results after the fix for bug #5500.
      mysql-test/r/range.result:
        Adjusted results after the fix for bug #5500.
      mysql-test/r/view.result:
        Added a test case for bug #5500.
        Adjusted other results.
      mysql-test/r/view_grant.result:
        Adjusted results after the fix for bug #5500.
      mysql-test/t/view.test:
        Added a test case for bug #5500.
      22c3e7b4
  5. 15 Aug, 2006 1 commit
    • unknown's avatar
      BUG#21648 information_schema test fails --with-ndbcluster · 3106a0a5
      unknown authored
      make test work both with and without ndbcluster
      
      
      mysql-test/r/information_schema.result:
        fix test so that it passes --with-ndbcluster
        
        add conditions to ignore the table_schema='cluster' on some queries as different
        tables are in the cluster database if ndb is running or not.
      mysql-test/t/information_schema.test:
        ignore the 'cluster' database as results differ if --with-ndbcluster or without
        
        explictly use schema 'test' for bug7476 check.
      3106a0a5
  6. 01 Aug, 2006 1 commit
  7. 25 Jul, 2006 1 commit
    • unknown's avatar
      Fixed bug #21231: wrong results for a simple query with a · d64f605e
      unknown authored
      a non-correlated single-row subquery over information schema.
      
      The function get_all_tables filling all information schema
      tables reset lex->sql_command to SQLCOM_SHOW_FIELDS. After
      this the function could evaluate partial conditions related to
      some columns. If these conditions contained a subquery over
      information schema it led to a wrong evaluation and a wrong 
      result set.
      This bug was already fixed in 5.1.
      This patch follows the way how it was done in 5.1 where
      the value of lex->sql_command is set to SQLCOM_SHOW_FIELDS
      in get_all_tables only for the calls of the function 
      open_normal_and_derived_tables and is restored after these
      calls.
      
      
      mysql-test/r/information_schema.result:
        Added a test case for bug #21231.
      mysql-test/t/information_schema.test:
        Added a test case for bug #21231.
      d64f605e
  8. 22 Jul, 2006 1 commit
    • unknown's avatar
      Fixed bug #18925: wrong results for queries with · 43df9fd3
      unknown authored
      subqueries on information schema that use MIN/MAX aggregation.
      
      Execution of some correlated subqueries may set the value
      of null_row to 1 for tables used in the subquery.
      If the the subquery is on information schema it causes
      rejection of any row for the following executions of
      the subquery in the case when an optimization filtering
      by some condition is applied.
      
      The fix restores the value of the null_row flag for 
      each execution of a subquery on information schema.
      
      
      mysql-test/r/information_schema.result:
        Added a test case for bug #18925.
      mysql-test/t/information_schema.test:
        Added a test case for bug #18925.
      sql/sql_show.cc:
        Fixed bug #18925.
        Execution of some correlated subqueries may set the value
        of null_row to 1 for tables used in the subquery.
        If the the subquery is on information schema it causes
        rejection of any row for the following execitions of
        the subquery in the case when an optimization filtering
        by some condition is applied.
        
        The fix restores the value of the null_row flag for 
        each execution of a subquery on information schema.
      43df9fd3
  9. 14 Jul, 2006 1 commit
  10. 29 Jun, 2006 2 commits
    • unknown's avatar
      Bug#20230: routine_definition is not null · 8368f437
      unknown authored
      SHOW CREATE PROCEDURE and SHOW CREATE FUNCTION are fixed as well as
      INFORMATION_SCHEMA.ROUTINES.ROUTINE_NAME.
      
      
      mysql-test/r/information_schema.result:
        Add result for bug#20230.
      mysql-test/t/information_schema.test:
        Add test case for bug#20230.
      sql/sp_head.cc:
        Return NULL for routine definition if the user doesn't have enough
        privilege to see it.
      sql/sql_show.cc:
        Make INFORMATION_SCHEMA.ROUTINES.ROUTINE_NAME NULL-able.  Return
        NULL if the user doesn't have enough privilege to see routine
        definition.
      8368f437
    • unknown's avatar
      A post-merge fix. · ce5ed66f
      unknown authored
      ce5ed66f
  11. 27 Jun, 2006 1 commit
    • unknown's avatar
      Bug#17203: "sql_no_cache sql_cache" in views created from prepared statement · 90cb4c03
      unknown authored
      The problem was that we restored SQL_CACHE, SQL_NO_CACHE flags in SELECT
      statement from internal structures based on value set later at runtime, not
      the original value set by the user.
      
      The solution is to remember that original value.
      
      
      mysql-test/r/auto_increment.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/func_compress.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/func_math.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/func_system.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/func_time.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/information_schema.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/query_cache.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/rpl_get_lock.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/rpl_master_pos_wait.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/show_check.result:
        Add result for bug#17203.
      mysql-test/r/subselect.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/type_blob.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/variables.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/r/view.result:
        Update result to not report SQL_NO_CACHE if it wasn't there at first place.
      mysql-test/t/show_check.test:
        Add test case for bug#17203.
      sql/sql_lex.cc:
        Reset SELECT_LEX::sql_cache together with SELECT_LEX::options.
      sql/sql_lex.h:
        Add SELECT_LEX::sql_cache field to store original user setting.
      sql/sql_select.cc:
        Output SQL_CACHE and SQL_NO_CACHE depending on stored original user setting.
      sql/sql_yacc.yy:
        Make effect of SQL_CACHE and SQL_NO_CACHE mutually exclusive.  Ignore
        SQL_CACHE if SQL_NO_CACHE was used.  Remember what was set by the user.
        Reset SELECT_LEX::sql_cache together with SELECT_LEX::options.
      90cb4c03
  12. 22 Jun, 2006 1 commit
    • unknown's avatar
      fix for bug#16992 (Events: Information_schema troubles) · a80014be
      unknown authored
      Introduced EVENTS.EVENT_DEFINITION, like ROUTINES.ROUTINE_DEFINITION
      Hence, the contents of the current EVENTS.EVENT_BODY become the contents
      of EVENT_DEFINITION. EVENT_BODY will contain always, for now, "SQL" (wo
      quotes).
      
      
      mysql-test/r/events.result:
        update result
        event_body -> event_definition
        event_body -> SQL
      mysql-test/r/events_grant.result:
        update result
        event_body -> event_definition
        event_body -> SQL
      mysql-test/r/information_schema.result:
        update result
        event_body -> event_definition
      mysql-test/t/events.test:
        update result
        event_body -> event_definition
        event_body -> SQL
      mysql-test/t/events_grant.test:
        update result
        event_body -> event_definition
        event_body -> SQL
      sql/sql_show.cc:
        Introduce enum_i_s_events_fields, because I hate recounting
        all the time a field is changed.
        Rename EVENT_BODY to EVENT_DEFINITION
        Introduce EVENT_BODY after that to be "SQL"
        (final fix for bug#16992 Events: Information schema troubles ) ?
      a80014be
  13. 20 Jun, 2006 1 commit
    • unknown's avatar
      SHOW STATUS does not anymore change local status variables (except... · f3a56a17
      unknown authored
      SHOW STATUS does not anymore change local status variables (except com_show_status). Global status variables are still updated.
      SHOW STATUS are not anymore put in slow query log because of no index usage.
      
      Implemntation done by removing orig_sql_command and moving logic of SHOW STATUS to mysql_excute_command()
      This simplifies code and allows us to remove some if statements all over the code.
      
      Upgraded uc_update_queries[] to sql_command_flags and added more bitmaps to better categorize commands.
      This allowed some overall simplifaction when testing sql_command.
      
      Fixes bugs:
      Bug#10210: running SHOW STATUS increments counters it shouldn't
      Bug#19764: SHOW commands end up in the slow log as table scans
      
      
      mysql-test/r/grant_cache.result:
        Fixed results after SHOW STATUS doesn't anymore affect status variables
      mysql-test/r/information_schema.result:
        Added extra test to cover more code
      mysql-test/r/query_cache.result:
        Remove resuts from previous tests
      mysql-test/r/status.result:
        Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables.
        (Bug#10210)
      mysql-test/r/temp_table.result:
        Fixed results after SHOW STATUS doesn't anymore affect status variables
      mysql-test/r/union.result:
        Fixed results after SHOW STATUS is not logged to slow query log
        (Bug#19764)
      mysql-test/t/events_microsec.test:
        Disable warnings at init
      mysql-test/t/information_schema.test:
        Added extra test to cover more code
      mysql-test/t/query_cache.test:
        Remove resuts from previous tests
      mysql-test/t/status.test:
        Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables.
        (Bug #10210)
      sql/mysql_priv.h:
        Added 'sql_command_flags'
      sql/sql_class.cc:
        New function add_diff_to_status(), used to update global status variables when using SHOW STATUS
      sql/sql_class.h:
        New function 'fill_information_schema_tables()'
        (One could not anymore use fill_derived_tables() for this as only_view_structures() is not relevant for information schema tables)
        Added defines for bit flags in sql_command_flags[]
      sql/sql_lex.cc:
        Remove orig_sql_command
      sql/sql_lex.h:
        Remove orig_sql_command
      sql/sql_parse.cc:
        Rename uc_update_queries -> sql_command_flags.
        Enhanced 'sql_command_flags' to better classify SQL commands
        uc_update_queries[] != 0 is changed to (sql_command_flags[] & CF_CHANGES_DATA)
        lex->orig_sql_command == SQLCOM_END is changed to (sql_command_flags[lex->sql_command] & CF_STATUS_COMMAND) == 0)
        
        Simplify incrementing of thd->status_var.com_stat[] as we don't have to do special handling for SHOW commands.
        
        Split SQLCOM_SELECT handling in mysql_execute_command() to a separate function.
        Added special handling of SHOW STATUS commands in mysql_execute_command() and call common SQLCOM_SELECT handling.
        These changes allows us to easily fix that we save and restore status variables during execution of a SHOW STATUS command.
        Don't log SHOW STATUS commands to slow query log.
        
        This fixes Bug#10210 and Bug#19764 without adding additional 'if' code.
        (The new code is faster than the original as we now have fewer if's than before)
      sql/sql_prepare.cc:
        Clean up prepare-check handling of SQLCOM commands by using sql_command_flags[]
        This simplifes code and ensures that code works even if someone forgets to put a new status commands into the switch statement.
      sql/sql_select.cc:
        Remove special handling of SHOW STATUS.
        (This is now done in SQLCOM_SHOW_STATUS part in mysql_execute_command())
      sql/sql_show.cc:
        Remove orig_sql_command
        Only change sql_command during 'open_normal_and_derived_tables()' (for views) and not for the full duration of generating data.
        Changed 'show status' to use thd->initial_status_var to ensure that the current statement is not affecting the to-be-used values.
        Use thd->fill_information_schema_tables() instead of 'thd->fill_derived_tables()' as the later wrongly checks the value of sql_command.
      sql/sql_yacc.yy:
        Remove usage of orig_sql_command.
        One side effect of this is that we need to test for cursors if the current command is a SELECT or a SHOW command.
      sql/structs.h:
        Updated comment
      f3a56a17
  14. 14 Jun, 2006 1 commit
  15. 13 Jun, 2006 1 commit
  16. 06 Jun, 2006 2 commits
  17. 23 May, 2006 1 commit
    • unknown's avatar
      Bug#16681 information_schema shows forbidden VIEW details · 2d98d243
      unknown authored
      show view definition to users that have the needed privilleges
      
      
      mysql-test/r/information_schema.result:
        Bug#16681 information_schema shows forbidden VIEW details
        test case
      mysql-test/t/information_schema.test:
        Bug#16681 information_schema shows forbidden VIEW details
        test case
      2d98d243
  18. 16 May, 2006 1 commit
  19. 12 May, 2006 2 commits
    • unknown's avatar
      Fix for bug#18177 any access to INFORMATION_SCHEMA.ROUTINES crashes · 9ffa09be
      unknown authored
      replaced get_field(MEM_ROOT *mem, Field *field) with 
      get_field(MEM_ROOT *mem, Field *field, String *res).
      It allows to avoid strlen().
      
      
      mysql-test/r/information_schema.result:
        Fix for bug#18177 any access to INFORMATION_SCHEMA.ROUTINES crashes
        test case
      mysql-test/t/information_schema.test:
        Fix for bug#18177 any access to INFORMATION_SCHEMA.ROUTINES crashes
        test case
      9ffa09be
    • unknown's avatar
      Fix for bug#19236 bad COLUMNS.CHARACTER_MAXIMUM_LENGHT and CHARACTER_OCTET_LENGTH · af797c16
      unknown authored
      mysql-test/r/information_schema.result:
        Fix for bug#19236 bad COLUMNS.CHARACTER_MAXIMUM_LENGHT and CHARACTER_OCTET_LENGTH
        test case
      mysql-test/r/join.result:
        Fix for bug#19236 bad COLUMNS.CHARACTER_MAXIMUM_LENGHT and CHARACTER_OCTET_LENGTH
        result fix
      mysql-test/t/information_schema.test:
        Fix for bug#19236 bad COLUMNS.CHARACTER_MAXIMUM_LENGHT and CHARACTER_OCTET_LENGTH
        test case
      af797c16
  20. 04 May, 2006 1 commit
    • unknown's avatar
      Bug#18474 Unlistable directories yield no info from information_schema, part2 · 0c7aa68d
      unknown authored
       - Move "chmod" part of information_schema test to separate file
      
      
      mysql-test/r/information_schema.result:
        Move "chmod" part of information_schema test to separate file
      mysql-test/t/information_schema.test:
        Move "chmod" part of information_schema test to separate file
      mysql-test/r/information_schema_chmod.result:
        Move "chmod" part of information_schema test to separate file
      mysql-test/t/information_schema_chmod.test:
        Move "chmod" part of information_schema test to separate file
      0c7aa68d
  21. 02 May, 2006 2 commits
    • unknown's avatar
      WL#3148: Modifying sizes of i_s.processlist columns ('time', 'info'). · 91a9b237
      unknown authored
      mysql-test/r/information_schema.result:
        Fixing test case result (after modifying the size of the
         i_s.processlist.info column).
      sql/mysql_priv.h:
        Defined new constant used as the size of the
         i_s.processlist.info column.
      sql/sql_show.cc:
        Modifying sizes of i_s.processlist columns ('time', 'info').
      91a9b237
    • unknown's avatar
      WL#2257 REFERENTIAL_CONSTRAINTS view · 79cc1546
      unknown authored
      added I_S.REFARENTIAL_CONSTRAINTS table
      
      
      mysql-test/r/information_schema.result:
        WL#2257 REFERENTIAL_CONSTRAINTS view
         result fix
      mysql-test/r/information_schema_db.result:
        WL#2257 REFERENTIAL_CONSTRAINTS view
         result fix
      mysql-test/r/information_schema_inno.result:
        WL#2257 REFERENTIAL_CONSTRAINTS view
         test case
      mysql-test/t/information_schema_inno.test:
        WL#2257 REFERENTIAL_CONSTRAINTS view
         test case
      sql/ha_innodb.cc:
        WL#2257 REFERENTIAL_CONSTRAINTS view
      79cc1546
  22. 07 Apr, 2006 1 commit
  23. 04 Apr, 2006 1 commit
    • unknown's avatar
      After merge fix for Bug#12076 --with-extra-charsets has no effect · ff3495c4
      unknown authored
      mysql-test/r/information_schema.result:
        IS_COMPILED is not determenistic
      mysql-test/t/information_schema.test:
        IS_COMPILED is not determenistic
      strings/conf_to_src.c:
        Adding dumping of extra 5.0 fields
      strings/ctype-extra.c:
        Recreating sources according to 5.0 XML files using conf_to_src.
      ff3495c4
  24. 20 Mar, 2006 1 commit
    • unknown's avatar
      Fix for bug#18224 VIEW on information_schema crashes the server · 53862e60
      unknown authored
        additional check for subselect
      
      
      mysql-test/r/information_schema.result:
        Fix for bug#18224 VIEW on information_schema crashes the server
          test case
      mysql-test/t/information_schema.test:
        Fix for bug#18224 VIEW on information_schema crashes the server
          test case
      53862e60
  25. 02 Mar, 2006 1 commit
    • unknown's avatar
      Implementation of WL#2897: Complete definer support in the stored routines. · 9a1fed13
      unknown authored
      The idea is to add DEFINER-clause in CREATE PROCEDURE and CREATE FUNCTION
      statements. Almost all support of definer in stored routines had been already
      done before this patch.
      
      NOTE: this patch changes behaviour of dumping stored routines in mysqldump.
      Before this patch, mysqldump did not dump DEFINER-clause for stored routines
      and this was documented behaviour. In order to get full information about stored
      routines, one should have dumped mysql.proc table. This patch changes this
      behaviour, so that DEFINER-clause is dumped.
      
      Since DEFINER-clause is not supported in CREATE PROCEDURE | FUNCTION statements
      before this patch, the clause is covered by additional version-specific comments.
      
      
      client/mysqldump.c:
        Updated the code for dumping stored routines: cover DEFINER-clause
        into version-specific comment.
      mysql-test/r/gis.result:
        Updated result file after adding DEFINER-clause.
      mysql-test/r/information_schema.result:
        Updated result file after adding DEFINER-clause.
      mysql-test/r/mysqldump.result:
        Updated result file after adding DEFINER-clause.
      mysql-test/r/rpl_ddl.result:
        Updated result file after adding DEFINER-clause.
      mysql-test/r/rpl_sp.result:
        Updated result file after adding DEFINER-clause.
      mysql-test/r/rpl_trigger.result:
        Updated result file after adding DEFINER-clause.
      mysql-test/r/sp-security.result:
        Updated result file after adding DEFINER-clause.
      mysql-test/r/sp.result:
        Updated result file after adding DEFINER-clause.
      mysql-test/r/sql_mode.result:
        Updated result file after adding DEFINER-clause.
      mysql-test/t/sp-security.test:
        Updated result file after adding DEFINER-clause.
      sql/sp.cc:
        Added DEFINER-clause.
      sql/sp_head.cc:
        Added a new convenient variant of set_definer() operation.
      sql/sp_head.h:
        Updated result file after adding DEFINER-clause.
      sql/sql_lex.h:
        Renamed trigger_definition_begin into stmt_definition_begin to be used for
        triggers and stored routines.
      sql/sql_parse.cc:
        Check DEFINER-clause.
      sql/sql_trigger.cc:
        Renamed trigger_definition_begin into stmt_definition_begin to be used for
        triggers and stored routines.
      sql/sql_yacc.yy:
        Added DEFINER-clause.
      9a1fed13
  26. 01 Mar, 2006 1 commit
  27. 22 Feb, 2006 1 commit
    • unknown's avatar
      Bug#10460 SHOW CREATE TABLE uses inconsistent upper/lower case · 31a7a0d6
      unknown authored
      mysql-test/r/alter_table.result:
        Update test result
      mysql-test/r/analyse.result:
        Update test result
      mysql-test/r/archive.result:
        Update test result
      mysql-test/r/archive_bitfield.result:
        Update test result
      mysql-test/r/archive_gis.result:
        Update test result
      mysql-test/r/bdb.result:
        Update test result
      mysql-test/r/bdb_gis.result:
        Update test result
      mysql-test/r/bigint.result:
        Update test result
      mysql-test/r/binary.result:
        Update test result
      mysql-test/r/case.result:
        Update test result
      mysql-test/r/cast.result:
        Update test result
      mysql-test/r/constraints.result:
        Update test result
      mysql-test/r/create.result:
        Update test result
      mysql-test/r/ctype_collate.result:
        Update test result
      mysql-test/r/ctype_create.result:
        Update test result
      mysql-test/r/ctype_latin1_de.result:
        Update test result
      mysql-test/r/ctype_many.result:
        Update test result
      mysql-test/r/ctype_mb.result:
        Update test result
      mysql-test/r/ctype_recoding.result:
        Update test result
      mysql-test/r/ctype_sjis.result:
        Update test result
      mysql-test/r/ctype_tis620.result:
        Update test result
      mysql-test/r/ctype_ucs.result:
        Update test result
      mysql-test/r/ctype_ujis.result:
        Update test result
      mysql-test/r/ctype_utf8.result:
        Update test result
      mysql-test/r/default.result:
        Update test result
      mysql-test/r/events.result:
        Update test result
      mysql-test/r/federated.result:
        Update test result
      mysql-test/r/fulltext.result:
        Update test result
      mysql-test/r/func_gconcat.result:
        Update test result
      mysql-test/r/func_group.result:
        Update test result
      mysql-test/r/func_math.result:
        Update test result
      mysql-test/r/func_misc.result:
        Update test result
      mysql-test/r/func_str.result:
        Update test result
      mysql-test/r/func_system.result:
        Update test result
      mysql-test/r/gis-rtree.result:
        Update test result
      mysql-test/r/heap.result:
        Update test result
      mysql-test/r/index_merge_innodb.result:
        Update test result
      mysql-test/r/information_schema.result:
        Update test result
      mysql-test/r/innodb.result:
        Update test result
      mysql-test/r/innodb_gis.result:
        Update test result
      mysql-test/r/key.result:
        Update test result
      mysql-test/r/merge.result:
        Update test result
      mysql-test/r/myisam.result:
        Update test result
      mysql-test/r/mysqldump-max.result:
        Update test result
      mysql-test/r/mysqldump.result:
        Update test result
      mysql-test/r/ndb_bitfield.result:
        Update test result
      mysql-test/r/ndb_gis.result:
        Update test result
      mysql-test/r/ndb_partition_key.result:
        Update test result
      mysql-test/r/null.result:
        Update test result
      mysql-test/r/partition.result:
        Update test result
      mysql-test/r/partition_02myisam.result:
        Update test result
      mysql-test/r/partition_mgm_err.result:
        Update test result
      mysql-test/r/partition_range.result:
        Update test result
      mysql-test/r/ps_2myisam.result:
        Update test result
      mysql-test/r/ps_3innodb.result:
        Update test result
      mysql-test/r/ps_4heap.result:
        Update test result
      mysql-test/r/ps_5merge.result:
        Update test result
      mysql-test/r/ps_6bdb.result:
        Update test result
      mysql-test/r/rpl_mixed_ddl_dml.result:
        Update test result
      mysql-test/r/rpl_multi_engine.result:
        Update test result
      mysql-test/r/rpl_ndb_UUID.result:
        Update test result
      mysql-test/r/show_check.result:
        Update test result
      mysql-test/r/sp-vars.result:
        Update test result
      mysql-test/r/sp.result:
        Update test result
      mysql-test/r/sql_mode.result:
        Update test result
      mysql-test/r/strict.result:
        Update test result
      mysql-test/r/subselect.result:
        Update test result
      mysql-test/r/symlink.result:
        Update test result
      mysql-test/r/synchronization.result:
        Update test result
      mysql-test/r/system_mysql_db.result:
        Update test result
      mysql-test/r/temp_table.result:
        Update test result
      mysql-test/r/trigger.result:
        Update test result
      mysql-test/r/type_binary.result:
        Update test result
      mysql-test/r/type_bit.result:
        Update test result
      mysql-test/r/type_bit_innodb.result:
        Update test result
      mysql-test/r/type_blob.result:
        Update test result
      mysql-test/r/type_decimal.result:
        Update test result
      mysql-test/r/type_enum.result:
        Update test result
      mysql-test/r/type_float.result:
        Update test result
      mysql-test/r/type_nchar.result:
        Update test result
      mysql-test/r/type_newdecimal.result:
        Update test result
      mysql-test/r/type_set.result:
        Update test result
      mysql-test/r/type_timestamp.result:
        Update test result
      mysql-test/r/type_varchar.result:
        Update test result
      mysql-test/r/union.result:
        Update test result
      mysql-test/r/user_var.result:
        Update test result
      mysql-test/r/variables.result:
        Update test result
      sql/sql_show.cc:
        Make ouput from SHOW CREATE TABLE use uppercase for "CHARACTER SET", "COLLATE", "DEFAULT", "ON UPDATE" and "AUTO_INCREMENT"
      31a7a0d6
  28. 16 Feb, 2006 1 commit
    • unknown's avatar
      The patch adds PROCESSLIST information schema · 99ea15c9
      unknown authored
      mysql-test/r/information_schema.result:
        Fixing results after PROCESSLIST information schema is added.
      mysql-test/r/information_schema_db.result:
        Fixing results after PROCESSLIST information schema is added.
      mysql-test/t/information_schema.test:
        Test case to check PROCESSLIST information schema.
          (Note that selecting other fields from PROCESSLIST
          can make the test unstable).
      sql/sql_show.cc:
        Code for PROCESSLIST information schema
      sql/table.h:
        Added for PROCESSLIST informarion schema
      99ea15c9
  29. 03 Feb, 2006 1 commit
  30. 02 Feb, 2006 1 commit
    • unknown's avatar
      Remove extra space in SHOW CREATE TABLE output. (Bug #13883) · 80abbcd0
      unknown authored
      mysql-test/r/alter_table.result:
        Update test results
      mysql-test/r/archive_bitfield.result:
        Update test results
      mysql-test/r/create.result:
        Update test results
      mysql-test/r/ctype_tis620.result:
        Update test results
      mysql-test/r/gis-rtree.result:
        Update test results
      mysql-test/r/index_merge_innodb.result:
        Update test results
      mysql-test/r/information_schema.result:
        Update test results
      mysql-test/r/innodb.result:
        Update test results
      mysql-test/r/key.result:
        Update test results
      mysql-test/r/merge.result:
        Update test results
      mysql-test/r/partition.result:
        Update test results
      mysql-test/r/partition_range.result:
        Update test results
      mysql-test/r/rpl000002.result:
        Update test results
      mysql-test/r/rpl_multi_engine.result:
        Update test results
      mysql-test/r/show_check.result:
        Update test results
      mysql-test/r/sql_mode.result:
        Update test results
      mysql-test/r/strict.result:
        Update test results
      mysql-test/r/symlink.result:
        Update test results
      mysql-test/r/system_mysql_db.result:
        Update test results
      mysql-test/r/type_blob.result:
        Update test results
      sql/sql_show.cc:
        Avoid adding extra space between 'PRIMARY KEY' and key fields in
        SHOW CREATE TABLE output.
      80abbcd0
  31. 01 Feb, 2006 2 commits
    • unknown's avatar
      some fixes from review of WL1359. · 9be61bbc
      unknown authored
      fix up test cases.
      
      
      mysql-test/r/information_schema.result:
        update result for INFORMATION_SCHEMA.FILES
      mysql-test/r/information_schema_db.result:
        update result for INFORMATION_SCHEMA.FILES
      sql/ha_ndbcluster.cc:
        in fill_files_table, use my_snprintf instead of snprintf
      sql/sql_show.cc:
        correct DBUG_ENTER for fill_schema_files
      sql/table.h:
        add SCH_FILES to information schema enum
      9be61bbc
    • unknown's avatar
      Fix for BUG#9412: Triggers: should have trigger privilege. · 6aaed733
      unknown authored
      Implement table-level TRIGGER privilege to control access to triggers.
      Before this path global SUPER privilege was used for this purpose, that
      was the big security problem.
      
      In details, before this patch SUPER privilege was required:
        - for the user at CREATE TRIGGER time to create a new trigger;
        - for the user at DROP TRIGGER time to drop the existing trigger;
        - for the definer at trigger activation time to execute the trigger (if the
          definer loses SUPER privilege, all its triggers become unavailable);
      
      This patch changes the behaviour in the following way:
        - TRIGGER privilege on the subject table for trigger is required:
          - for the user at CREATE TRIGGER time to create a new trigger;
          - for the user at DROP TRIGGER time to drop the existing trigger;
          - for the definer at trigger activation time to execute the trigger
            (if the definer loses TRIGGER privilege on the subject table, all its
            triggers on this table become unavailable).
        - SUPER privilege is still required:
          - for the user at CREATE TRIGGER time to explicitly set the trigger
            definer to the user other than CURRENT_USER().
      
      When the server works with database of the previous version (w/o TRIGGER
      privilege), or if the database is being upgraded from the previous versions,
      TRIGGER privilege is granted to whose users, who have CREATE privilege.
      
      
      mysql-test/r/grant.result:
        Updated the result file after adding TRIGGER privilege.
      mysql-test/r/information_schema.result:
        Updated the result file after adding TRIGGER privilege.
      mysql-test/r/lowercase_table_grant.result:
        Updated the result file after adding TRIGGER privilege.
      mysql-test/r/ps.result:
        Updated the result file after adding TRIGGER privilege.
      mysql-test/r/sp.result:
        Updated the result file after adding TRIGGER privilege.
      mysql-test/r/trigger-compat.result:
        Updated the result file after adding TRIGGER privilege.
      mysql-test/r/trigger-grant.result:
        Updated the result file after adding TRIGGER privilege.
      mysql-test/t/trigger-compat.test:
        Grant table-level TRIGGER privilege instead of global SUPER one.
      mysql-test/t/trigger-grant.test:
        1. Grant table-level TRIGGER privilege instead of global SUPER one.
        2. Updated the test case to check that SUPER is required to specify
        the user other than the current as a definer.
      scripts/mysql_create_system_tables.sh:
        Added TRIGGER privilege.
      scripts/mysql_fix_privilege_tables.sql:
        Added TRIGGER privilege.
      sql/sql_acl.cc:
        Added TRIGGER privilege.
      sql/sql_acl.h:
        Added TRIGGER privilege.
      sql/sql_show.cc:
        Added TRIGGER privilege.
      sql/sql_trigger.cc:
        Check TRIGGER privilege instead of SUPER.
      sql/sql_yacc.yy:
        Added TRIGGER privilege.
      6aaed733
  32. 30 Jan, 2006 1 commit
    • unknown's avatar
      fix for bug#16642 (Events: No INFORMATION_SCHEMA.EVENTS table) · c3542ceb
      unknown authored
      post-review change - use pointer instead of copy on the stack.
      WL#1034 (Internal CRON)
       This patch adds INFORMATION_SCHEMA.EVENTS table with the following format:
        EVENT_CATALOG  - MYSQL_TYPE_STRING  (Always NULL)
        EVENT_SCHEMA   - MYSQL_TYPE_STRING  (the database)
        EVENT_NAME     - MYSQL_TYPE_STRING  (the name)
        DEFINER        - MYSQL_TYPE_STRING  (user@host)
        EVENT_BODY     - MYSQL_TYPE_STRING  (the body from mysql.event)
        EVENT_TYPE     - MYSQL_TYPE_STRING  ("ONE TIME" | "RECURRING")
        EXECUTE_AT     - MYSQL_TYPE_TIMESTAMP (set for "ONE TIME" otherwise NULL)
        INTERVAL_VALUE - MYSQL_TYPE_LONG    (set for RECURRING otherwise NULL)
        INTERVAL_FIELD - MYSQL_TYPE_STRING  (set for RECURRING otherwise NULL)
        SQL_MODE       - MYSQL_TYPE_STRING  (for now NULL)
        STARTS         - MYSQL_TYPE_TIMESTAMP (starts from mysql.event)
        ENDS           - MYSQL_TYPE_TIMESTAMP (ends from mysql.event)
        STATUS         - MYSQL_TYPE_STRING  (ENABLED | DISABLED)
        ON_COMPLETION  - MYSQL_TYPE_STRING  (NOT PRESERVE | PRESERVE)
        CREATED        - MYSQL_TYPE_TIMESTAMP
        LAST_ALTERED   - MYSQL_TYPE_TIMESTAMP
        LAST_EXECUTED  - MYSQL_TYPE_TIMESTAMP
        EVENT_COMMENT  - MYSQL_TYPE_STRING
      
        SQL_MODE is NULL for now, because the value is still not stored in mysql.event .
      Support will be added as a fix for another bug.
      
       This patch also adds SHOW [FULL] EVENTS [FROM db] [LIKE pattern]
      1. SHOW EVENTS shows always only the events on the same user,
         because the PK of mysql.event is (definer, db, name) several 
         users may have event with the same name -> no information disclosure.
      2. SHOW FULL EVENTS - shows the events (in the current db as SHOW EVENTS)
         of all users. The user has to have PROCESS privilege, if not then
         SHOW FULL EVENTS behave like SHOW EVENTS.
      3. If [FROM db] is specified then this db is considered.
      4. Event names can be filtered with LIKE pattern.
        SHOW EVENTS returns table with the following columns, which are subset of
        the data which is returned by SELECT * FROM I_S.EVENTS
         Db
         Name
         Definer 
         Type
         Execute at
         Interval value
         Interval field 
         Starts 
         Ends
         Status
      
      
      mysql-test/lib/init_db.sql:
        change the PK - (definer, db, name)
        quicker searches when SHOW EVENTS;
        allow also different users to have events with the same name -> 
        no information disclosure
      mysql-test/r/events.result:
        result of new tests
      mysql-test/r/information_schema.result:
        result of new tests
      mysql-test/r/information_schema_db.result:
        result of new tests
      mysql-test/r/system_mysql_db.result:
        result of new tests
      mysql-test/t/events.test:
        new tests for information_schema.events
      scripts/mysql_create_system_tables.sh:
        change the PK of mysql.event to (definer, db, name)
      scripts/mysql_fix_privilege_tables.sql:
        change the PK of mysql.event to (definer, db, name)
      sql/event.cc:
        pass around the definer of the event because of the new PK
        which is (definer, db, name). It's needed for index searching.
      sql/event.h:
        - make enum evex_table_field again public so it can be used
        in sql_show.cc
        - make created and modified ulonglong, because they should be such
        - make public evex_open_event_table so it can be used in sql_show.cc
      sql/event_executor.cc:
        - cosmetics
      sql/event_priv.h:
        - moved enum evex_table_field and evex_open_event_table()
          to event.h (made them therefore public)
      sql/event_timed.cc:
        - in event_timed::init_definer() always fill this.definer with
          the concatenated value of definer_user@definer_host. Makes
          later the work easier.
        - pass around the definer wherever is needed for searching 
          (new prototype of evex_db_find_evex_aux)
      sql/mysqld.cc:
        - add counter for SHOW EVENTS
      sql/sql_lex.h:
        - register SHOW EVENTS as command
      sql/sql_parse.cc:
        - handle SCH_EVENTS (I_S.EVENTS like SCH_TRIGGERS)
        - make additional check in case of SHOW EVENTS (check for EVENT on
          the current database. if it is null check_access() gives appropriate
          message back.
      sql/sql_show.cc:
        - add INFORMATION_SCHEMA.EVENTS and SHOW EVENTS
        - I_S.EVENTS.SQL_MODE is NULL for now -> not implemented. Trudy
          asked to be added so bug #16642 can be completely closed. There
          is another bug report which will fix the lack of storage of
          SQL_MODE during event creation.
      sql/sql_yacc.yy:
        - always call event_timed::init_definer() when CREATE/ALTER/DROP
          EVENT but not when just compiling the body of the event because
          in this case this operation is not needed, it takes memory and
          CPU time and at the end the result is not used. event_timed::definer
          is used only on SQLCOM_CREATE/ALTER/DROP_EVENT execution not on
          statement compilation.
        - add SHOW [FULL] EVENTS [FROM db] [LIKE pattern]
          in case of FULL and the user has PROCESS privilege then he will see
          also others' events in the current database, otherwise the output
          is the same as of SHOW EVENTS. Because the events are per DB only
          the events from the current database are shown. pattern is applied
          against event name. FROM db is self explanatory.
      sql/table.h:
        add SCH_EVENTS as part of INFORMATION_SCHEMA
      c3542ceb
  33. 29 Jan, 2006 1 commit
    • unknown's avatar
      information_schema_db.result, information_schema.result: · ef0cd2f5
      unknown authored
        Fix test result.
      table.h, sql_show.cc:
        Put I_S tables in lexical order.
      
      
      sql/sql_show.cc:
        Put I_S tables in lexical order.
      sql/table.h:
        Put I_S tables in lexical order.
      mysql-test/r/information_schema.result:
        Fix test result.
      mysql-test/r/information_schema_db.result:
        Fix test result.
      ef0cd2f5
  34. 24 Jan, 2006 1 commit