An error occurred fetching the project authors.
  1. 14 Sep, 2006 1 commit
    • unknown's avatar
      Bug#21424 mysqldump failing to export/import views. ... · 0aa344f3
      unknown authored
      Bug#21424 mysqldump failing to export/import views.                                                                                                                                                                  
      
      Dumps are created for the tables in each specified database then for the views in each specified database. This bug occurs when any database's views depend on the mysql database's table data while being restored. 
      Added command line option --flush-privileges to the mysqldump utility which causes a FLUSH PRIVILIGES statement to be written to the dump after the mysql database.
      
      
      client/mysqldump.c:
        When the flush-privileges command line option is specified, make sure to FLUSH PRIVILEGES after only the mysql database's tables' data is restored so that grant tables are current.
      mysql-test/r/mysqldump.result:
        Added Results.
      mysql-test/t/mysqldump.test:
        Expanded existing test case for bug 21527 to also test for bug 21424. 
        Exercises new --flush-priviliges command line option.
        Test ignores log tables.
      0aa344f3
  2. 01 Sep, 2006 1 commit
    • unknown's avatar
      Restore bug fix lost in merge of client/mysqldump.c, and clean up mysqldump.test · 55c61a6e
      unknown authored
      so that 4.1 and 5.0 tests are all in the right place and no tests are duplicated.
      
      
      client/mysqldump.c:
        Restore fix for bug 21215 accidently removed during merge
      mysql-test/r/mysqldump.result:
        Update results
      mysql-test/t/mysqldump.test:
        Fix order of tests so that all the tests new to the 5.0 tree come after
        "End of 4.1 tests", and so that each leaves things in the state it found
        them (particularly by returning to the 'test' database. Also remove some
        tests that were duplicated.
      55c61a6e
  3. 28 Aug, 2006 1 commit
    • unknown's avatar
      Bug #21527 mysqldump incorrectly tries to LOCK TABLES on the information_schema database. · e88121ea
      unknown authored
          
      init_dumping now accepts a function pointer to the table or view specific init_dumping function.  This allows both tables and views to use the init_dumping function.
      
      
      client/mysqldump.c:
        Added functions for table and view specific dumping initalization.
      mysql-test/r/mysqldump.result:
        Added Result.
      mysql-test/t/mysqldump.test:
        Added test case.
      e88121ea
  4. 17 Aug, 2006 1 commit
    • unknown's avatar
      Bug #21288: mysqldump segmentation fault when using --where · 8d8fa0e3
      unknown authored
        The problem was that the error handling was using a too-small buffer to
        print the error message generated. We fix this by not using a buffer at
        all, but by using fprintf() directly. There were also some problems with
        the error handling in table dumping that was exposed by this fix that were
        also corrected.
      
      
      client/mysqldump.c:
        Use fprintf() instead of my_printf_error() to avoid buffer overflow issues.
        Since ME_BELL wasn't specified, calling my_printf_error() offered no advantage
        except for adding my_progname, which we just go ahead and do manually. Also,
        fix the error handling in dumpTable() when queries to get data fail and --force
        was specified.
      mysql-test/r/mysqldump.result:
        Add new results
      mysql-test/t/mysqldump.test:
        Add new regression test
      8d8fa0e3
  5. 14 Aug, 2006 1 commit
    • unknown's avatar
      Fix a test case (proper clean up). · 492e7b08
      unknown authored
      mysql-test/r/mysqldump.result:
        Update results.
      mysql-test/t/mysqldump.test:
        Fix a bug in the test case that left user mysqltest_1@localhost 
        around (this broke furhter tests).
      492e7b08
  6. 03 Aug, 2006 2 commits
  7. 27 Jul, 2006 1 commit
    • unknown's avatar
      Fix for BUG#16211: Stored function return type for strings is ignored. · 3c108584
      unknown authored
      Fix for BUG#16676: Database CHARSET not used for stored procedures
      
      The problem in BUG#16211 is that CHARSET-clause of the return type for
      stored functions is just ignored.
      
      The problem in BUG#16676 is that if character set is not explicitly
      specified for sp-variable, the server character set is used instead
      of the database one.
      
      The fix has two parts:
      
        - always store CHARSET-clause of the return type along with the
          type definition in mysql.proc.returns column. "Always" means that
          CHARSET-clause is appended even if it has not been explicitly
          specified in CREATE FUNCTION statement (this affects BUG#16211 only).
      
          Storing CHARSET-clause if it is not specified is essential to avoid
          changing character set if the database character set is altered in
          the future.
      
          NOTE: this change is not backward compatible with the previous releases.
      
        - use database default character set if CHARSET-clause is not explicitly
          specified (this affects both BUG#16211 and BUG#16676).
      
          NOTE: this also breaks backward compatibility.
      
      
      mysql-test/r/mysqldump.result:
        Updated result file.
      mysql-test/r/sp.result:
        Updated result file.
      mysql-test/t/sp.test:
        Provided test cases for BUG#16211, BUG#16676.
      sql/mysql_priv.h:
        Added two convenient functions for work with databases.
      sql/sp.cc:
        1. Add CHARSET-clause to CREATE-statement if it has been explicitly specified.
        2. Polishing -- provided some comments.
      sql/sp_head.cc:
        Use database charset as default charset of sp-variable.
      sql/sp_head.h:
        Move init_sp_name() out of init_strings().
      sql/sql_db.cc:
        Two new functions created:
          - load_db_opt_by_name();
          - check_db_dir_existence();
      sql/sql_show.cc:
        Eliminate duplicated code by using
        check_db_dir_existence() and load_db_opt_by_name()
      sql/sql_table.cc:
        Eliminate duplicated code by using
        check_db_dir_existence() and load_db_opt_by_name()
      sql/sql_yacc.yy:
        Call sp_head::init_sp_name() to initialize stored routine name.
      3c108584
  8. 24 Jul, 2006 1 commit
    • unknown's avatar
      Bug#21215 mysqldump creating incomplete backups without warning · a08a1108
      unknown authored
       - Add call to 'safe_exit' function when db query fails.
      
      
      client/mysqldump.c:
        Add a call to 'safe_exit' to remember the error code and exit unless --force was give.n
      mysql-test/r/mysqldump.result:
        Add test result
      mysql-test/t/mysqldump.test:
        Add test case
      a08a1108
  9. 19 Jul, 2006 1 commit
  10. 17 Jul, 2006 1 commit
    • unknown's avatar
      Bug# 20221- Dumping of multiple databases containing view(s) yields maleformed dumps. · 674636e7
      unknown authored
      client/mysqldump.c:
        When dumping more than one database, make sure that the proper database is selected before restoring that database's views.
        Replaced hard-coded database name length with appropiate token.
      mysql-test/r/mysqldump.result:
        Added new result and corrected results for existing test cases.
      mysql-test/t/mysqldump.test:
        Added new case for dumping and restoring multiple databases each containing a view.
      674636e7
  11. 14 Jul, 2006 3 commits
    • unknown's avatar
      4.1 -> 5.0 merge · 1486a426
      unknown authored
      1486a426
    • unknown's avatar
      4.1 -> 5.0 merge fixes · 23c51450
      unknown authored
      23c51450
    • unknown's avatar
      Bug#21014: Segmentation fault of mysqldump on view · 3d35522f
      unknown authored
      mysqldump did not select the correct database before trying to dump
      views from it. this resulted in an empty result set, which in turn
      startled mysql-dump into a core-dump.  this only happened for views,
      not for tables, and was only visible with multiple databases that
      weren't by sheer luck in the order mysqldump required, anyway. this
      fixes by selecting the correct database before dumping views; it also
      catches the empty set-condition if it should occur for other reasons.
      
      
      client/mysqldump.c:
        Bug#21014: Segmentation fault of mysqldump on view
        
        failsafe: if "select ... from information_schema.views" returns an
        empty set, don't deref NULL; throw an error instead.
        
        fix: select the correct database not only before dumping tables, but
        before dumping views, as well.
      mysql-test/r/mysqldump.result:
        Bug#21014: Segmentation fault of mysqldump on view
        
        show that mysqldump selects the correct database before trying to dump
        views from it.
      mysql-test/t/mysqldump.test:
        Bug#21014: Segmentation fault of mysqldump on view
        
        show that mysqldump selects the correct database before trying to dump
        views from it.
      3d35522f
  12. 13 Jul, 2006 1 commit
    • unknown's avatar
      Bug#21014: Segmentation fault of mysqldump on view · f27e9254
      unknown authored
      mysqldump did not select the correct database before trying to dump
      views from it. this resulted in an empty result set, which in turn
      startled mysql-dump into a core-dump.  this only happened for views,
      not for tables, and was only visible with multiple databases that
      weren't by sheer luck in the order mysqldump required, anyway. this
      fixes by selecting the correct database before dumping views; it also
      catches the empty set-condition if it should occur for other reasons.
      
      
      client/mysqldump.c:
        Bug#21014: Segmentation fault of mysqldump on view
        
        failsafe: if "select ... from information_schema.views" returns an
        empty set, don't deref NULL; throw an error instead.
        
        fix: select the correct database not only before dumping tables, but
        before dumping views, as well.
      mysql-test/r/mysqldump.result:
        Bug#21014: Segmentation fault of mysqldump on view
        
        show that mysqldump selects the correct database before trying to dump
        views from it.
      mysql-test/t/mysqldump.test:
        Bug#21014: Segmentation fault of mysqldump on view
        
        show that mysqldump selects the correct database before trying to dump
        views from it.
      f27e9254
  13. 21 Jun, 2006 1 commit
  14. 19 Jun, 2006 1 commit
  15. 15 Jun, 2006 1 commit
  16. 31 May, 2006 1 commit
    • unknown's avatar
      Bug#18462: mysqldump does not dump view structures correctly · c69ba255
      unknown authored
      (The above problem only occurs with -T -- create a separate file for
      each table / view.) This ChangeSet results in correct output of view-
      information while omitting the information for the view's stand-in
      table. The rationale is that with -T, the user is likely interested
      in transferring part of a database, not the db in its entirety (that
      would be difficult as replay order is obscure, the files being named
      for the table/view they contain rather than getting a sequence number).
      
      
      client/mysqldump.c:
        Added missing fclose(). Before, a view's stand-in table would get
        dumped in get_table_structure(), and the file would remain open.
        get_view_structure() would re-open the same file and write to it,
        resulting in garbage.  The way we handle it now, the table-struct
        gets closed, then the opening of the view-struct (same name)
        overwrites it. (The SQL for the view drop-if-exists the table,
        anyway.) If this were not desired and we wanted SQL for the views
        that contains the create for the stand-in table, we'd hand a mode
        to open_sql_file_for_table(), which would feature O_APPEND in
        get_view_structure(), but not in get_table_structure().
      mysql-test/r/mysqldump.result:
        prove mysqldump -T (each item gets its own file) dumps views correctly
      mysql-test/t/mysqldump.test:
        prove mysqldump -T (each item gets its own file) dumps views correctly
      c69ba255
  17. 30 May, 2006 1 commit
    • unknown's avatar
      Bug#17371: Unable to dump a schema with invalid views · 443de045
      unknown authored
      'show create' works even on views that are short of a base-table (this
      throw a warning though, like you would expect). Unfortunately, this is
      not what mysqldump uses; it creates stand-in tables and hence requests
      'show fields' on the view which fails with missing base-tables.  The
      --force option prevents the dump from stopping at this point; furthermore
      this patch dumps a comment showing create for the offending view for
      better diagnostics. This solution was confirmed by submitter as solving
      their/clients' problem. Problem might become non-issue once mysqldump no
      longer creates stand-in tables.
      
      
      client/mysqldump.c:
        Dump a comment showing create for a view if we can't show fields for it for
        better diagnostics.
      mysql-test/r/mysqldump.result:
        add test for #17371 - be defensive. if we can't do a full dump on a view
        (incl. 'show fields' for a stand-in table), at least create a comment with
        the 'show create' info when --force is given.
      mysql-test/t/mysqldump.test:
        add test for #17371 - be defensive. if we can't do a full dump on a view
        (incl. 'show fields' for a stand-in table), at least create a comment with
        the 'show create' info when --force is given.
      443de045
  18. 29 May, 2006 2 commits
  19. 26 May, 2006 1 commit
    • unknown's avatar
      mysqldump.result: · 45972e0e
      unknown authored
        Get output from modified test (dropping t1).
      mysqldump.test:
        Drop t1 at end so that the next test doesn't trip over it.
      
      
      mysql-test/t/mysqldump.test:
        Drop t1 at end so that the next test doesn't trip over it.
      mysql-test/r/mysqldump.result:
        Get output from modified test (dropping t1).
      45972e0e
  20. 25 May, 2006 1 commit
    • unknown's avatar
      BUG#17201: Improve handling of views. · 45710b7f
      unknown authored
      client/mysqldump.c:
         Better view handling:
        
          Distinguish better between tables and views in the output.
          
          Add many comments about the distinctions between tables and views, and
          the tradeoffs that we make, notably that, since we don't maintain
          dependencies.
          
          get_table_structure: Clarify in the output that a view is first
          		       created as a workaround for the lack of
          		       dependencies.
          
          dump_table:  Return if we're trying to dump a view.
          
          dump_all_views_in_db: Don't call init_dumping.  It's already been done
                                in dump_all_tables_in_db.  This is the problem
                                reported in BUG#17201.
          
          Change the variable was_views to seen_views, and clarify the comment.
          The previous name was not overly "intuitive".
      mysql-test/r/mysqldump.result:
        We no longer have spurious text in the results.
        Add results for the final test (BUG#17201)
      mysql-test/t/mysqldump.test:
        Add a new test (BUG#17201)
      45710b7f
  21. 19 May, 2006 1 commit
    • unknown's avatar
      Fix for bug #18536: mysqldump does not maintain table orders as per --tables option · c41b767a
      unknown authored
      client/mysqldump.c:
        Fix for bug #18536: mysqldump does not maintain table orders as per --tables option
          - use list to store table names instead of hash.
      mysql-test/r/mysqldump.result:
        Fix for bug #18536: mysqldump does not maintain table orders as per --tables option
          - test result.
      mysql-test/t/mysqldump.test:
        Fix for bug #18536: mysqldump does not maintain table orders as per --tables option
          - test case.
      c41b767a
  22. 11 May, 2006 1 commit
    • unknown's avatar
      Bug#15328 Segmentation fault occured if my.cnf is invalid for escape sequence · a9e0d277
      unknown authored
       - Check that length of value is longer than 1 before decrementing length by 2.
       - Backport from 5.0, make it possible to use my_print_defaults in tests
      
      
      mysql-test/mysql-test-run.pl:
        Backport from 5.0, make it possible to use my_print_defaults from tests
      mysql-test/mysql-test-run.sh:
        Backport from 5.0, make it possible to use my_print_defaults from tests
      mysql-test/r/mysqldump.result:
        Update result
      mysql-test/t/mysqldump.test:
        Test that my_print default don't segfault when encountering an option without closing "
      mysys/default.c:
        Check that length of value is longer than 1 before deciding to decrement its length by 2.
      mysql-test/std_data/bug15328.cnf:
        New BitKeeper file ``mysql-test/std_data/bug15328.cnf''
      a9e0d277
  23. 04 May, 2006 1 commit
    • unknown's avatar
      Bug#19025 4.1 mysqldump doesn't correctly dump "auto_increment = [int]" · d300ceea
      unknown authored
      mysqldump / SHOW CREATE TABLE will show the NEXT available value for
      the PK, rather than the *first* one that was available (that named in
      the original CREATE TABLE ... AUTO_INCREMENT = ... statement).
      
      This should produce correct and robust behaviour for the obvious use
      cases -- when no data were inserted, then we'll produce a statement
      featuring the same value the original CREATE TABLE had; if we dump
      with values, INSERTing the values on the target machine should set the
      correct next_ID anyway (and if not, we'll still have our AUTO_INCREMENT =
      ... to do that). Lastly, just the CREATE statement (with no data) for
      a table that saw inserts would still result in a table that new values
      could safely be inserted to).
      
      There seems to be no robust way however to see whether the next_ID
      field is > 1 because it was set to something else with CREATE TABLE
      ... AUTO_INCREMENT = ..., or because there is an AUTO_INCREMENT column
      in  the table (but no initial value was set with AUTO_INCREMENT = ...)
      and then one or more rows were INSERTed, counting up next_ID. This
      means that in both cases, we'll generate an AUTO_INCREMENT =
      ... clause in SHOW CREATE TABLE / mysqldump.  As we also show info on,
      say, charsets even if the user did not explicitly give that info in
      their own CREATE TABLE, this shouldn't be an issue.
      
      As per above, the next_ID will be affected by any INSERTs that have
      taken place, though.  This /should/ result in correct and robust
      behaviour, but it may look non-intuitive to some users if they CREATE
      TABLE ... AUTO_INCREMENT = 1000 and later (after some INSERTs) have
      SHOW CREATE TABLE give them a different value (say, CREATE TABLE
      ... AUTO_INCREMENT = 1006), so the docs should possibly feature a
      caveat to that effect.
      
      It's not very intuitive the way it works now (with the fix), but it's
      *correct*.  We're not storing the original value anyway, if we wanted
      that, we'd have to change on-disk representation?
      
      If we do dump/load cycles with empty DBs, nothing will change.  This
      changeset includes an additional test case that proves that tables
      with rows will create the same next_ID for AUTO_INCREMENT = ... across
      dump/restore cycles.
      
      Confirmed by support as likely solution for client's problem.
      
      
      mysql-test/r/auto_increment.result:
        test for creation of AUTO_INCREMENT=... clause
      mysql-test/r/gis-rtree.result:
        Add AUTO_INCREMENT=... clauses where appropriate
      mysql-test/r/mysqldump.result:
        show that AUTO_INCREMENT=... will survive dump/restore cycles
      mysql-test/r/symlink.result:
        Add AUTO_INCREMENT=... clauses where appropriate
      mysql-test/t/auto_increment.test:
        test for creation of AUTO_INCREMENT=... clause
      mysql-test/t/mysqldump.test:
        show that AUTO_INCREMENT=... will survive dump/restore cycles
      sql/sql_show.cc:
        Add AUTO_INCREMENT=... to output of SHOW CREATE TABLE if there is an
        AUTO_INCREMENT column, and NEXT_ID > 1 (the default).  We must not print
        the clause for engines that do not support this as it would break the
        import of dumps, but as of this writing, the test for whether
        AUTO_INCREMENT columns are allowed and wether AUTO_INCREMENT=...
        is supported is identical, !(file->table_flags() & HA_NO_AUTO_INCREMENT))
        Because of that, we do not explicitly test for the feature,
        but may extrapolate its existence from that of an AUTO_INCREMENT column.
      d300ceea
  24. 10 Mar, 2006 1 commit
    • unknown's avatar
      Fix version of DEFINER-clause in mysqldump. · dafa39f1
      unknown authored
      Now DEFINER-clause in stored routines is expected to appear
      in 5.0.20 release, not in 5.0.19. as it was supposed before.
      
      
      client/mysqldump.c:
        Fixing version.
      mysql-test/r/mysqldump.result:
        Updated the result file.
      dafa39f1
  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. 21 Feb, 2006 2 commits
    • unknown's avatar
      Bug#14857 Reading dump files with single statement stored routines fails.Bug... · 1f12107f
      unknown authored
      Bug#14857 Reading dump files with single statement stored routines fails.Bug #14857  	Reading dump files with single statement stored routines fails.
       - Add tests, fixed by patch for 16878
      
      
      mysql-test/r/mysqldump.result:
        Update test results
      mysql-test/t/mysqldump.test:
        Add tests for bug 14857
      1f12107f
    • unknown's avatar
      Bug#14871 mysqldump: invalid view dump output · 15c37025
      unknown authored
       - Add comments with embeded veriosn info around the parts of the view syntax that are only supported by a certain version of MySQL Server
      
      
      client/mysqldump.c:
        Use information_schema.views to gather information about the view, then replace some parts of the output from "SHOW CREATE VIEW" with comment markers with version, to make thos parts of the view syntax become parsed only of MySQL servers that supports it.
        Create common function "open_sql_file_for_table" to open the individual .sql file where to dump the table or view.
      mysql-test/r/mysqldump.result:
        Update results
      mysql-test/t/mysqldump.test:
        Add test to see that views can be deumped and reloaded alos when they contain "SECURITY TYPE", "CHECK OPTION" and "DEFINER"
      15c37025
  27. 17 Feb, 2006 1 commit
    • unknown's avatar
      Replace win filename s with unix equivalent · c61fb3c3
      unknown authored
      Evaluate commands passed to "exec" and "system" to expand any $variables before executing command.
      
      
      client/mysqltest.c:
        do_exec, do_system 
         - call do_eval on the command to be executed in order to expand any $variables
         - Remove old subst_env_var and my_popen, not needed anymore
        Rewrite 'replace_strings' into 'replace_strings_append'
         - copy whole strings instead of byte by byte copy
         - insert result directly inito dynamic_string, no need to check if out 
           string needs to be realloced for every byte.
         - Add comments and DBUG_PRINT's
        New function 'fix_win_paths', detect filenames in win format that should be converted 
        do_eval
        - Only set "escaped" if next char is \ or $
      mysql-test/mysql-test-run.pl:
        Always pass path for DBUG .trace file in unix format
        Add search path client_debug to find debug compiled windows binaries
        Remove unused MYSQL_TEST_WINDIR and MASTER_WINMYSOCK
      mysql-test/r/mysqldump.result:
        Update test result
      mysql-test/t/client_xml.test:
        Use " instead of '
      mysql-test/t/mysql_client_test.test:
        Remove the useless "exec echo" command
      mysql-test/t/mysqltest.test:
        Escape $variables passed to --exec, that should not be evaluated in exec.
      mysql-test/t/rpl000015.test:
        Remove unneccessary replace
      mysql-test/t/system_mysql_db_fix.test:
        Call the "shell script" $MYSQL_FIX_SYSTEM_TABLE using --system
      c61fb3c3
  28. 09 Feb, 2006 1 commit
    • unknown's avatar
      Bug#16878 dump of trigger · 2caa5608
      unknown authored
       - Pass "in_comment" variable on to new lex in sp_head::reset_lex
       - Add testcases for dumping and reloading trigger without BEGIN/END
      
      
      mysql-test/r/mysqldump.result:
        Update test result
      mysql-test/t/mysqldump.test:
        Add test for dumping trigger without begin/end, and test that the output from mysqldump can be reloaded.
      sql/sp_head.cc:
        If already in a comment before parsing a substatement, set in_comment in the new lex as well.
        This will handle cases where the comment starts before the substatement, which is common in 
        output from mysqldump to mask away syntax not supported by earlier versions of MySQL.
        Ex:
        /*!50003 CREATE TRIGGER `tr1` BEFORE INSERT ON `t1` FOR EACH ROW
        set new.created=now() */;
        ^=== sp_head::reset_lex is called when already in comment
      2caa5608
  29. 12 Jan, 2006 1 commit
    • unknown's avatar
      Fix for BUG#15103: SHOW TRIGGERS: small output alignment problem. · f315b0b8
      unknown authored
      mysql-test/r/information_schema.result:
        Remove extra spaces from result file.
      mysql-test/r/mysqldump.result:
        Remove extra spaces from result file.
      mysql-test/r/rpl_ddl.result:
        Remove extra spaces from result file.
      mysql-test/r/trigger-compat.result:
        Remove extra spaces from result file.
      mysql-test/r/trigger-grant.result:
        Remove extra spaces from result file.
      mysql-test/r/trigger.result:
        Remove extra spaces from result file.
      sql/sql_yacc.yy:
        Remove leading spaces.
      f315b0b8
  30. 10 Jan, 2006 1 commit
    • unknown's avatar
      Fix for BUG#15110: mysqldump --triggers: does not include DEFINER clause · d4d29edb
      unknown authored
      There are two main idea of this fix:
        - introduce a common function for server and client to split user value
          (<user name>@<host name>) into user name and host name parts;
        - dump DEFINER clause in correct format in mysqldump.
      
      
      BitKeeper/etc/ignore:
        added client/my_user.c libmysqld/my_user.c sql/my_user.c
      client/Makefile.am:
        Use my_user.c in linking of mysqldump executable.
      client/mysqldump.c:
        Fix for BUG#15110(mysqldump --triggers: does not include DEFINER clause)
      include/Makefile.am:
        Add my_user.c
      include/mysql_com.h:
        Introduce a constant for max user length.
      libmysqld/Makefile.am:
        Add my_user.c
      mysql-test/r/mysqldump.result:
        Update result file.
      sql-common/Makefile.am:
        Add my_user.c
      sql/Makefile.am:
        Add my_user.c
      sql/sp.cc:
        Use constant for max user length.
      sql/sp_head.cc:
        Use common function to parse user value.
      sql/sql_acl.cc:
        Use constant for max user length.
      sql/sql_parse.cc:
        Use constant for max user length.
      sql/sql_show.cc:
        Use constant for max user length.
      sql/sql_trigger.cc:
        Use constant for max user length.
      include/my_user.h:
        A header file for parse_user().
      sql-common/my_user.c:
        A new file for parse_user() implementation.
      d4d29edb
  31. 01 Dec, 2005 1 commit
  32. 24 Nov, 2005 1 commit
  33. 21 Nov, 2005 1 commit
    • unknown's avatar
      Fixed BUG #14554: mysqldump does not separate "ROW" and trigger · 3ecbc8e6
      unknown authored
       statement for tables created in the IGNORE_SPACE sql mode.
      
      
      client/mysqldump.c:
        Modified dump_triggers_for_table(): if trigger statement returned
         by SHOW TRIGGERS query does not contain a leading white space,
         additional space is inserted between "ROW" and the statement.
         The leading white spaces are removed by yylex() in the
         IGNORE_SPACE sql mode.
      mysql-test/r/mysqldump.result:
        Fixed test case result for bug 14554.
      mysql-test/t/mysqldump.test:
        Added test case for bug 14554.
      3ecbc8e6
  34. 10 Nov, 2005 2 commits
    • unknown's avatar
      WL#2818 (Add creator to the trigger definition for privilege · 7dbea7df
      unknown authored
      checks on trigger activation)
      
      
      mysql-test/r/information_schema.result:
        Update result file: a new column DEFINER has been added to
        INFORMATION_SCHEMA.TRIGGERS.
      mysql-test/r/mysqldump.result:
        Update result file: a new column DEFINER has been added to
        INFORMATION_SCHEMA.TRIGGERS.
      mysql-test/r/rpl_ddl.result:
        Update result file: a new column DEFINER has been added to
        INFORMATION_SCHEMA.TRIGGERS.
      mysql-test/r/rpl_sp.result:
        Update result file: a new clause DEFINER has been added to
        CREATE TRIGGER statement.
      mysql-test/r/rpl_trigger.result:
        Results for new test cases were added.
      mysql-test/r/skip_grants.result:
        Error message has been changed.
      mysql-test/r/trigger.result:
        Added DEFINER column.
      mysql-test/r/view.result:
        Error messages have been changed.
      mysql-test/r/view_grant.result:
        Error messages have been changed.
      mysql-test/t/mysqldump.test:
        Drop created procedure to not affect further tests.
      mysql-test/t/rpl_trigger.test:
        Add tests for new column in information schema.
      mysql-test/t/skip_grants.test:
        Error tag has been renamed.
      mysql-test/t/view.test:
        Error tag has been renamed.
      mysql-test/t/view_grant.test:
        Error tag has been changed.
      sql/item_func.cc:
        Fix typo in comments.
      sql/mysql_priv.h:
        A try to minimize copy&paste:
          - introduce operations to be used from sql_yacc.yy;
          - introduce an operation to be used from trigger and
            view processing code.
      sql/share/errmsg.txt:
        - Rename ER_NO_VIEW_USER to ER_MALFORMED_DEFINER in order to
          be shared for view and trigger implementations;
        - Fix a typo;
        - Add a new error code for trigger warning.
      sql/sp.cc:
        set_info() was split into set_info() and set_definer().
      sql/sp_head.cc:
        set_info() was split into set_info() and set_definer().
      sql/sp_head.h:
        set_info() was split into set_info() and set_definer().
      sql/sql_acl.cc:
        Add a new check: exit from the cycle if the table is NULL.
      sql/sql_lex.h:
        - Rename create_view_definer to definer, since it is used for views
          and triggers;
        - Change st_lex_user to LEX_USER, since st_lex_user is a structure.
          So, formally, it should be "struct st_lex_user", which is longer
          than just LEX_USER;
        - Add trigger_definition_begin.
      sql/sql_parse.cc:
        - Add a new check: exit from the cycle if the table is NULL;
        - Implement definer-related functions.
      sql/sql_show.cc:
        Add DEFINER column.
      sql/sql_trigger.cc:
        Add DEFINER support for triggers.
      sql/sql_trigger.h:
        Add DEFINER support for triggers.
      sql/sql_view.cc:
        Rename create_view_definer to definer.
      sql/sql_yacc.yy:
        Add support for DEFINER-clause in CREATE TRIGGER statement.
        
        Since CREATE TRIGGER and CREATE VIEW can be similar at the start,
        yacc is unable to distinguish between them. So, had to modify both
        statements in order to make it parsable by yacc.
      mysql-test/r/trigger-compat.result:
        Result file for triggers backward compatibility test.
      mysql-test/r/trigger-grant.result:
        Result file of the test for WL#2818.
      mysql-test/t/trigger-compat.test:
        Triggers backward compatibility test: check that the server
        still can load triggers w/o definer attribute and modify
        tables with such triggers (add a new trigger, etc).
      mysql-test/t/trigger-grant.test:
        Test for WL#2818 -- check that DEFINER support in triggers
        works properly
      7dbea7df
    • unknown's avatar
      Fix for bug #14822: Test "mysqldump" fails, "result" protocol seems wrong. · 0c97fbef
      unknown authored
      mysql-test/t/mysqldump.test:
        Fix for bug #14822: Test "mysqldump" fails, "result" protocol seems wrong.
        2>&1 added to be able to see error messages.
      0c97fbef