An error occurred fetching the project authors.
  1. 28 Sep, 2006 1 commit
    • unknown's avatar
      Fixed bug#5505: Wrong error message on INSERT into a view · d332c37c
      unknown authored
      On an INSERT into an updatable but non-insertable view an error message was
      issued stating the view being not updatable. This can lead to a confusion of a
      user.
      
      A new error message is introduced. Is is showed when a user tries to insert
      into a non-insertable view.
      
      
      sql/sql_base.cc:
        Fixed bug#5505: Wrong error message on INSERT into a view
        The update_non_unique_table_error() function now issues proper
        error for an INSERT.
      sql/sql_insert.cc:
        Fixed bug#5505: Wrong error message on INSERT into a view
        Issue the ER_NON_INSERTABLE_TABLE error instead of the 
        ER_NON_UPDATABLE_TABLE on insert into a view.
      sql/sql_view.cc:
        Fixed bug#5505: Wrong error message on INSERT into a view
        Issue the ER_NON_INSERTABLE_TABLE error instead of the
        ER_NON_UPDATABLE_TABLE on insert into a view.
      mysql-test/r/view.result:
        Added the test case for bug#5505: Wrong error message on INSERT into a view
        Corrected a few test cases after fixing bug#5505
      mysql-test/t/view.test:
        Added the test case for bug#5505: Wrong error message on INSERT into a view
        Corrected a few test cases after fixing bug#5505
      sql/share/errmsg.txt:
        Fixed bug#5505: Wrong error message on INSERT into a view
        Added the ER_NON_INSERTABLE_TABLE error definition.
      d332c37c
  2. 29 Aug, 2006 1 commit
    • unknown's avatar
      BUG#17591: Updatable view not possible with trigger or stored function · 7a5a2544
      unknown authored
      When a view was used inside a trigger or a function, lock type for
      tables used in a view was always set to READ (thus making the view
      non-updatable), even if we were trying to update the view.
      
      The solution is to set lock type properly.
      
      
      mysql-test/r/view.result:
        Add result for bug#17591: Updatable view not possible with trigger
        or stored function.
      mysql-test/t/view.test:
        Add test case for bug#17591: Updatable view not possible with trigger
        or stored function.
      sql/sql_view.cc:
        Move the code that sets requested lock type before the point where
        we exit from mysql_make_view() when we process a placeholder for
        prelocked table.
      7a5a2544
  3. 09 Aug, 2006 1 commit
    • unknown's avatar
      sql_view.cc: · 4abe4b17
      unknown authored
        After merge fix
      
      
      sql/sql_view.cc:
        After merge fix
      4abe4b17
  4. 08 Aug, 2006 1 commit
    • unknown's avatar
      sql_base.cc, unireg.h, sql_lex.h, table.cc, sql_view.h, sql_view.cc: · 1e9ebd01
      unknown authored
        Correct memory leak fix
      
      
      sql/unireg.h:
        Correct memory leak fix
      sql/table.cc:
        Correct memory leak fix
      sql/sql_view.h:
        Correct memory leak fix
      sql/sql_view.cc:
        Correct memory leak fix
      sql/sql_lex.h:
        Correct memory leak fix
      sql/sql_base.cc:
        Correct memory leak fix
      1e9ebd01
  5. 07 Aug, 2006 1 commit
    • unknown's avatar
      sql_view.cc: · 55bd1096
      unknown authored
        Memory leak fix
      
      
      sql/sql_view.cc:
        Memory leak fix
      55bd1096
  6. 06 Aug, 2006 1 commit
    • unknown's avatar
      sql_view.cc: · c34baab9
      unknown authored
        Memory leak fix
      
      
      sql/sql_view.cc:
        Memory leak fix
      c34baab9
  7. 31 Jul, 2006 2 commits
    • unknown's avatar
      Bug #11551: Asymmetric + undocumented behaviour of DROP VIEW and DROP TABLE · b74cb623
      unknown authored
       
      made DROP VIEW to continue on error and report an aggregated error 
       at its end. This makes it similar to DROP TABLE.
      
      
      mysql-test/r/view.result:
        Bug #11551: Asymmetric + undocumented behaviour of DROP VIEW and DROP TABLE
         - test case
         - changed error message
      mysql-test/t/view.test:
        Bug #11551: Asymmetric + undocumented behaviour of DROP VIEW and DROP TABLE
         - test case
      sql/sql_view.cc:
        Bug #11551: Asymmetric + undocumented behaviour of DROP VIEW and DROP TABLE
         - made DROP VIEW to continue on error and report an aggregated error
      b74cb623
    • unknown's avatar
      Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM · c8673b09
      unknown authored
        When executing ALTER TABLE all the attributes of the view were overwritten.
        This is contrary to the user's expectations.
        So some of the view attributes are preserved now : namely security and 
        algorithm. This means that if they are not specified in ALTER VIEW
        their values are preserved from CREATE VIEW instead of being defaulted.
      
      
      mysql-test/r/view.result:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - test suite
      mysql-test/t/view.test:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - test suite
      sql/sql_lex.h:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - must make create_view_suid a tristate : on/off/unspecified
      sql/sql_view.cc:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - open the view to get it's attributes and put then as defaults 
           for ALTER VIEW
      sql/sql_yacc.yy:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - must make create_view_suid a tristate : on/off/unspecified
      sql/table.h:
        Bug #21080: ALTER VIEW makes user restate SQL SECURITY mode, and ALGORITHM
         - must make create_view_suid a tristate : on/off/unspecified
      c8673b09
  8. 27 Jul, 2006 1 commit
    • unknown's avatar
      Fix for BUG#20438: CREATE statements for views, stored routines and triggers · d36f5781
      unknown authored
      can be not replicable.
      
      Now CREATE statements for writing in the binlog are created as follows:
        - the beginning of the statement is re-created;
        - the rest of the statement is copied from the original query.
      
      The problem appears when there is a version-specific comment (produced by
      mysqldump), started in the re-created part of the statement and closed in the
      copied part -- there is closing comment-parenthesis, but there is no opening
      one.
      
      The proper fix could be to re-create original statement, but we can not
      implement it in 5.0. So, for 5.0 the fix is just to cut closing
      comment-parenthesis. This technique is also used for SHOW CREATE PROCEDURE
      statement (so we are able to reuse existing code).
      
      
      mysql-test/r/rpl_sp.result:
        Updated result file.
      mysql-test/r/rpl_trigger.result:
        Updated result file.
      mysql-test/r/rpl_view.result:
        Updated result file.
      mysql-test/t/rpl_sp.test:
        Added test case for BUG#20438.
      mysql-test/t/rpl_trigger.test:
        Added test case for BUG#20438.
      mysql-test/t/rpl_view.test:
        Added test case for BUG#20438.
      sql/sp.cc:
        Trim comments at the end.
      sql/sp_head.cc:
        Moved this code to the separate function to be re-used.
      sql/sql_lex.cc:
        Added a new function.
      sql/sql_lex.h:
        Added a new function.
      sql/sql_trigger.cc:
        Trim comments at the end.
      sql/sql_view.cc:
        Trim comments at the end.
      d36f5781
  9. 25 Jul, 2006 1 commit
    • unknown's avatar
      Bug#20543 select on information_schema strange warnings, view, different schemas/users · 9955388a
      unknown authored
      The fix is: if user has privileges to view fields and user has any
      (insert,select,delete,update) privileges on underlying view 
      then 'show fields' and select from I_S.COLUMNS table are sucsessful.
      
      
      mysql-test/r/information_schema_db.result:
        Bug#20543 select on information_schema strange warnings, view, different schemas/users
        test result
      mysql-test/t/information_schema_db.test:
        Bug#20543 select on information_schema strange warnings, view, different schemas/users
        test case
      sql/sql_acl.cc:
        Bug#20543 select on information_schema strange warnings, view, different schemas/users
        checked that user has privileges on underlying view and if it's true
        set allowed_show to true for top view.
      sql/sql_show.cc:
        Bug#20543 select on information_schema strange warnings, view, different schemas/users
        removed unnecessary rights check.'tables->allowed_show' check is used instead
      sql/sql_view.cc:
        Bug#20543 select on information_schema strange warnings, view, different schemas/users
        skip the check of SHOW_VIEW_ACL privilege on underlying view. It is done later during
        execution of find_field_in_table_ref function.
      sql/table.h:
        Bug#20543 select on information_schema strange warnings, view, different schemas/users
        'allowed_show' is set during rights check for view. If true then user has privileges 
        for 'show create view', etc
      9955388a
  10. 26 Jun, 2006 1 commit
    • unknown's avatar
      A fix and a test case for · d6bcbfbe
      unknown authored
       Bug#19022 "Memory bug when switching db during trigger execution"
       Bug#17199 "Problem when view calls function from another database."
       Bug#18444 "Fully qualified stored function names don't work correctly in
                  SELECT statements"
      
       Documentation note: this patch introduces a change in behaviour of prepared
       statements.
      
       This patch adds a few new invariants with regard to how THD::db should
       be used. These invariants should be preserved in future:
      
        - one should never refer to THD::db by pointer and always make a deep copy
          (strmake, strdup)
        - one should never compare two databases by pointer, but use strncmp or
          my_strncasecmp
        - TABLE_LIST object table->db should be always initialized in the parser or
          by creator of the object.
      
          For prepared statements it means that if the current database is changed
          after a statement is prepared, the database that was current at prepare
          remains active. This also means that you can not prepare a statement that
          implicitly refers to the current database if the latter is not set.
          This is not documented, and therefore needs documentation. This is NOT a
          change in behavior for almost all SQL statements except:
           - ALTER TABLE t1 RENAME t2 
           - OPTIMIZE TABLE t1
           - ANALYZE TABLE t1
           - TRUNCATE TABLE t1 --
           until this patch t1 or t2 could be evaluated at the first execution of
           prepared statement. 
      
           CURRENT_DATABASE() still works OK and is evaluated at every execution
           of prepared statement.
      
           Note, that in stored routines this is not an issue as the default
           database is the database of the stored procedure and "use" statement
           is prohibited in stored routines.
      
        This patch makes obsolete the use of check_db_used (it was never used in the
        old code too) and all other places that check for table->db and assign it
        from THD::db if it's NULL, except the parser.
      
       How this patch was created: THD::{db,db_length} were replaced with a
       LEX_STRING, THD::db. All the places that refer to THD::{db,db_length} were
       manually checked and:
        - if the place uses thd->db by pointer, it was fixed to make a deep copy
        - if a place compared two db pointers, it was fixed to compare them by value
          (via strcmp/my_strcasecmp, whatever was approproate)
       Then this intermediate patch was used to write a smaller patch that does the
       same thing but without a rename.
      
       TODO in 5.1:
         - remove check_db_used
         - deploy THD::set_db in mysql_change_db
      
       See also comments to individual files.
      
      
      mysql-test/r/create.result:
        Modify the result file: a database can never be NULL.
      mysql-test/r/ps.result:
        Update test results (Bug#17199 et al)
      mysql-test/r/sp.result:
        Update test results (Bug#17199 et al)
      mysql-test/t/create.test:
        Update the id of the returned error.
      mysql-test/t/ps.test:
        Add test coverage for prepared statements and current database. In scope of
        work on Bug#17199 "Problem when view calls function from another database."
      mysql-test/t/sp.test:
        Add a test case for Bug#17199 "Problem when view calls function from another
        database." and Bug#18444 "Fully qualified stored function names don't work
        correctly in SELECT statements". Test a complementary problem.
      sql/item_strfunc.cc:
        Touch the code that reads thd->db (cleanup).
      sql/log_event.cc:
        While we are at it, replace direct access to thd->db with a method.
        Should simplify future conversion of THD::db to LEX_STRING.
      sql/slave.cc:
        While we are at it, replace direct access to thd->db with a method.
        Should simplify future conversion of THD::db to LEX_STRING.
      sql/slave.h:
        Remove a declaration for a method that is used only in one module.
      sql/sp.cc:
        Rewrite sp_use_new_db: this is a cleanup that I needed in order to understand
        this function and ensure that it has no bugs.
      sql/sp.h:
        Add a new declaration for sp_use_new_db (uses LEX_STRINGs) and a comment.
      sql/sp_head.cc:
        - drop sp_name_current_db_new - a creator of sp_name class that was used
        when sp_name was created for an identifier without an explicitly initialized
        database. Now we pass thd->db to constructor of sp_name right in the 
        parser.
        - rewrite sp_head::init_strings: name->m_db is always set now
        - use the new variant of sp_use_new_db
        - we don't need to update thd->db with SP MEM_ROOT pointer anymore when
        parsing a stored procedure, as noone will refer to it (yes!)
      sql/sp_head.h:
        - remove unneded methods and members
      sql/sql_class.h:
        - introduce 3 THD  methods to work with THD::db:
          .set_db to assign the current database
          .reset_db to reset the current database (temporarily) or set it to NULL
          .opt_copy_db_to - to deep-copy thd->db to a pointer if it's not NULL
      sql/sql_db.cc:
        While we are at it, replace direct access to thd->db with a method.
        Should simplify future conversion of THD::db to LEX_STRING.
      sql/sql_insert.cc:
        - replace checks with asserts: table_list->db must be always set in the parser.
      sql/sql_lex.h:
        - add a comment
      sql/sql_parse.cc:
        - implement the invariant described in the changeset comment.
        - remove juggling with lex->sphead in SQLCOM_CREATE_PROCEDURE:
          now db_load_routine uses its own LEX object and doesn't damage the main
          LEX.
        - add DBUG_ASSERT(0) to unused "check_db_used"
      sql/sql_table.cc:
        - replace a check with an assert (table_ident->db)
      sql/sql_trigger.cc:
        While we are at it, replace direct access to thd->db with a method.
        Should simplify future conversion of THD::db to LEX_STRING.
      sql/sql_udf.cc:
        - use thd->set_db instead of direct modification of to thd->db
      sql/sql_view.cc:
        - replace a check with an assert (view->db)
      sql/sql_yacc.yy:
        - make sure that we always copy table->db or name->db or ident->db or
          select_lex->db from thd->db if the former is not set. If thd->db
          is not set but is accessed, return an error.
      sql/tztime.cc:
        - be nice, never copy thd->db by pointer.
      d6bcbfbe
  11. 04 May, 2006 2 commits
    • unknown's avatar
      Fixed wrong free in sql_view.cc · afe47152
      unknown authored
      mysql-test-run now fails in case of warnings
      
      
      mysql-test/lib/mtr_report.pl:
        Fail if find warnings
      mysql-test/mysql-test-run.sh:
        Fail if find warnings
      sql/sql_lex.cc:
        Initalize st_lex properly
      sql/sql_view.cc:
        Fixed problem with unaligned memory (wrong free)
      afe47152
    • unknown's avatar
      Fixed an (unlikely) memory leak · d43731e2
      unknown authored
      d43731e2
  12. 22 Apr, 2006 1 commit
    • unknown's avatar
      Fix for bug#15153 "CONVERT_TZ() is not allowed in all places in VIEWs". · dc526db8
      unknown authored
      Error was emitted when one tried to select information from view which used
      merge algorithm and which also had CONVERT_TZ() function in its select list.
      
      This bug was caused by wrong assumption that global table list for view
      which is handled using merge algorithm begins from tables belonging to
      the main select of this view. Nowadays the above assumption is not true only
      when one uses convert_tz() function in view's select list, but in future
      other cases may be added (for example we may support merging of views
      with subqueries in select list one day). Relying on this false assumption
      led to the usage of wrong table list for field lookups and therefor errors. 
      
      With this fix we explicitly use pointer to the beginning of main select's
      table list.
      
      
      mysql-test/r/timezone_grant.result:
        Added additional test case for bug#15153 "CONVERT_TZ() is not allowed in
        all places in VIEWs" that checks that usage of CONVERT_TZ() function in view
        does not require additional privileges.
      mysql-test/r/view.result:
        Added test case for bug#15153 "CONVERT_TZ() is not allowed in all places in 
        VIEWs".
      mysql-test/t/timezone_grant.test:
        Added additional test case for bug#15153 "CONVERT_TZ() is not allowed in
        all places in VIEWs" that checks that usage of CONVERT_TZ() function in view
        does not require additional privileges.
      mysql-test/t/view.test:
        Added test case for bug#15153 "CONVERT_TZ() is not allowed in all places in 
        VIEWs".
      sql/sql_view.cc:
        mysql_make_view():
          We should not assume that global table list for view which is handled using
          merge algorithm begins from tables belonging to the main select of this
          view. Nowadays the above assumption is not true only when one uses
          convert_tz() function in view's select list, but in future other cases
          may be added (for example we may support merging of views with subqueries
          in select list one day). So let us instead explicitly use pointer to the
          beginning of main select's table list.
      dc526db8
  13. 13 Apr, 2006 1 commit
  14. 28 Mar, 2006 1 commit
    • unknown's avatar
      A fix and a test case for Bug#15683 "crash, Function on nested · 1d73c16b
      unknown authored
      VIEWs, Prepared statement": we didn't mark the nested views
      as 'prelockng placeholders' when building the prelocking list. 
      This resulted in these views being processed (merged, materialized)
      before they are actually used. 
      
      
      mysql-test/r/sp-prelocking.result:
        Test results fixed (Bug#15683)
      mysql-test/t/sp-prelocking.test:
        Add a test case for Bug#15683
      sql/sql_view.cc:
        When initializing tables used in a view, inherite 
        its 'prelocking_placeholder' flag. This flag is set when we're 
        opening the view in order to build the prelocking list for a query.
        In this case we should only calculate the list to 
        prelock, and should not merge neither this view nor any of the 
        nested views, of there are any. The flag is used to indicate this 
        mode.
      1d73c16b
  15. 10 Mar, 2006 1 commit
    • unknown's avatar
      This patch does 1) fix my build breakage 2) Complete the removal of all... · 01d69c4b
      unknown authored
      This patch does 1) fix my build breakage  2) Complete the removal of all symbols which could clash with another parser. 
      
      
      sql/mysql_priv.h:
        Porting update
      sql/mysqld.cc:
        Porting update
      sql/sp.cc:
        Porting update
      sql/sql_lex.cc:
        Porting update
      sql/sql_lex.h:
        Porting update
      sql/sql_parse.cc:
        Porting update
      sql/sql_prepare.cc:
        Portinng update
      sql/sql_trigger.cc:
        Porting update
      sql/sql_view.cc:
        Porting update
      01d69c4b
  16. 02 Mar, 2006 1 commit
    • unknown's avatar
      Fix for BUG#16777: Can not create trigger nor view w/o definer · fad27ebf
      unknown authored
      if --skip-grant-tables specified.
      
      The problem is that there is a check that prevents creating a definer
      with empty host name.
      
      In --skip-grant-tables mode this check prevents the user from creating a
      trigger/view without explicitly specifying its definer. This happens, because
      in --skip-grant-tables mode CURRENT_USER is ''@''. According to Sanja this
      check was implemented intentionally.
      
      However, according to the MySQL manual it is possible to specify empty host
      name (as well as empty user name). Moreover, the behaviour for stored routines
      is different in this aspect -- we allow them to be created with implicit
      definer.
      
      Based on this, we believe it is OK to change the behaviour for views to be
      similar with the behaviour for stored routines.
      
      
      mysql-test/r/skip_grants.result:
        Added a test case for BUG#16777.
      mysql-test/t/skip_grants.test:
        Added a test case for BUG#16777.
      sql/mysql_priv.h:
        Do not check that strlen(host) > 0 in get_default_definer().
      sql/sql_parse.cc:
        Do not check that strlen(host) > 0 in get_default_definer().
      sql/sql_view.cc:
        Do not check that strlen(host) > 0 in get_default_definer().
      fad27ebf
  17. 01 Mar, 2006 1 commit
    • unknown's avatar
      Fix for BUG#16266: Definer is not fully qualified error during replication. · a44a924a
      unknown authored
      The idea of the fix is to extend support of non-SUID triggers for backward
      compatibility. Formerly non-SUID triggers were appeared when "new" server
      is being started against "old" database. Now, they are also created when
      "new" slave receives updates from "old" master.
      
      
      mysql-test/r/rpl_trigger.result:
        Updated the result file with the results of the test for BUG#16266.
      mysql-test/t/rpl_trigger.test:
        Added the test case for BUG#16266.
      sql/mysql_priv.h:
        Added an utility operation to be used from sql_yacc.yy.
      sql/sql_parse.cc:
        Add a utility operation to be used from sql_yacc.yy.
      sql/sql_trigger.cc:
        Extend support of non-SUID triggers.
      sql/sql_view.cc:
        Initialize LEX::definer if DEFINER-clause is missing.
      sql/sql_yacc.yy:
        Extended support of non-SUID triggers.
      mysql-test/std_data/bug16266.000001:
        A new binlog file for testing a patch for BUG#16266.
      a44a924a
  18. 02 Dec, 2005 1 commit
    • unknown's avatar
      Now we shall store only position (index of first character) · 42022710
      unknown authored
      of SELECT from query begining, to be independet of query buffer
      allocation.
      Correct procedure used to find beginning of the current statement
      during parsing (BUG#14885).
      
      
      mysql-test/r/view.result:
        BUG#14885 test suite.
      mysql-test/t/view.test:
        BUG#14885 test suite.
      sql/sp_head.cc:
        The debug print statement fixed to prevent crash in case of NULL
        in m_next_cached_sp.
      sql/sql_lex.h:
        Now we shall store only position (index of first character)
        of SELECT from query beginning.
      sql/sql_view.cc:
        Position of the SELECT used to output it to .frm.
      sql/sql_yacc.yy:
        Now we shall store only position (index of first character)
        of SELECT from query beginning.
        Correct procedure used to find beginning of the current statement
        during parsing.
      42022710
  19. 01 Dec, 2005 1 commit
  20. 20 Nov, 2005 1 commit
    • unknown's avatar
      Inefficient usage of String::append() fixed. · fe63e095
      unknown authored
      Bad examples of usage of a string with its length fixed.
      The incorrect length in the trigger file configuration descriptor
        fixed (BUG#14090).
      A hook for unknown keys added to the parser to support old .TRG files.
      
      
      sql/field.cc:
        Inefficient usage of String::append() fixed.
        Bad examples of usage of a string with its length fixed.
      sql/ha_berkeley.cc:
        A bad example of usage of a string with its length fixed.
      sql/ha_federated.cc:
        Inefficient usage of String::append() fixed.
      sql/ha_myisammrg.cc:
        Bad examples of usage of a string with its length fixed.
      sql/handler.cc:
        Inefficient usage of String::append() fixed.
      sql/item.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item.h:
        A bad example of usage of a string with its length fixed.
      sql/item_cmpfunc.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_func.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_strfunc.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_subselect.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_sum.cc:
        Bad examples of usage of a string with its length fixed.
        Inefficient usage of String::append() fixed.
      sql/item_timefunc.cc:
        Inefficient using of String::append() fixed.
        Bad examples of usage of a string with its length fixed.
      sql/item_uniq.h:
        Bad examples of usage of a string with its length fixed.
      sql/key.cc:
        Bad examples of usage of a string with its length fixed.
      sql/log.cc:
        Bad examples of usage of a string with its length fixed.
      sql/log_event.cc:
        Bad examples of usage of a string with its length fixed.
      sql/mysqld.cc:
        The dummy parser hook allocated.
      sql/opt_range.cc:
        Inefficient usage of String::append() fixed.
      sql/parse_file.cc:
        Bad examples of usage of a string with its length fixed.
        A hook for unknown keys added to the parser.
      sql/parse_file.h:
        A hook for unknown keys added to the parser.
      sql/protocol.cc:
        A bad example of usage of a string with its length fixed.
      sql/repl_failsafe.cc:
        Bad examples of usage of a string with its length fixed.
      sql/share/errmsg.txt:
        A warning for old format config file.
      sql/slave.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sp.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sp_head.cc:
        Bad examples of usage of a string with its length fixed.
      sql/spatial.cc:
        A bad example of usage of a string with its length fixed.
      sql/sql_acl.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_analyse.cc:
        Bad examples of usage of a string with its length fixed.
        Inefficient usage of String::append() fixed.
      sql/sql_lex.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_load.cc:
        A bad example of usage of a string with its length fixed.
      sql/sql_parse.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_prepare.cc:
        A bad example of usage of a string with its length fixed.
      sql/sql_select.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_show.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_string.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_string.h:
        The macro definition moved to sql_string.h to
          be accessible in all parts of server.
      sql/sql_table.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_trigger.cc:
        Bad examples of usage of a string with its length fixed.
        The incorrect length in the trigger file configuration descriptor
          fixed (BUG#14090).
        The hook for processing incorrect sql_mode record added.
      sql/sql_view.cc:
        A dummy  hook used for parsing views.
      sql/structs.h:
        The macro definition moved to sql_string.h to be
          accessible in all parts of server.
      sql/table.cc:
        A bad example of usage of a string with its length fixed.
      sql/tztime.cc:
        A bad example of usage of a string with its length fixed.
      fe63e095
  21. 11 Nov, 2005 1 commit
    • unknown's avatar
      Fix bug #13622 Wrong view .frm created if some field's alias contain \n · 56f43d9d
      unknown authored
      View .frm parser assumes that query string will take only 1 line, with \n in
      aliases query stringmay take several lines thus produces bad .frm file.
      
      'query' parameter type changed from 'string' to 'escaped string'
      
      
      sql/sql_view.cc:
        Fix bug #13622 \n in column alias results in broken .frm
        'query' parameter type changed to 'escaped string'
      mysql-test/r/view.result:
        Test case for bug #13622 Wrong view .frm created if some field's alias contain \n
      mysql-test/t/view.test:
        Test case for bug #13622 Wrong view .frm created if some field's alias contain \n
      56f43d9d
  22. 10 Nov, 2005 1 commit
    • 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
  23. 03 Nov, 2005 1 commit
    • unknown's avatar
      Changes in get_table_type() and mysql_frm_type(). The main problem was · 5af7ca80
      unknown authored
      that in mysql_rm_table_part2_with_lock() previously we needed to open
      same file twice. Now once is enough.
      
      
      sql/mysql_priv.h:
        Merged functions get_table_type() and mysql_frm_type() into one,
        using the name from latter one.
      sql/sql_base.cc:
        Changed get_table_type() to mysql_frm_type()
      sql/sql_delete.cc:
        Changed get_table_type() to mysql_frm_type()
      sql/sql_rename.cc:
        Changed get_table_type() to mysql_frm_type()
      sql/sql_show.cc:
        Changed get_table_type() to mysql_frm_type()
      sql/sql_table.cc:
        Changed get_table_type() to mysql_frm_type()
      sql/sql_view.cc:
        Merged code from get_table_type() and mysql_frm_type() into the latter one.
      sql/sql_view.h:
        Function prototype changes.
      sql/table.cc:
        No longer needed.
      5af7ca80
  24. 01 Nov, 2005 1 commit
    • unknown's avatar
      Reverting patch for BUG #14009 (use of abs() on null value causes problems with filesort · ee380a07
      unknown authored
      Fix for bug #14536: SELECT @A,@A:=... fails with prepared statements
      
      
      mysql-test/r/func_sapdb.result:
        Correct tests after reverting patch for BUG #14009 (use of abs() on null value causes problems with filesort)
      mysql-test/r/type_newdecimal.result:
        Correct tests after reverting patch for BUG #14009 (use of abs() on null value causes problems with filesort)
      mysql-test/r/user_var.result:
        More test with SELECT @A:=
      mysql-test/t/disabled.def:
        Enable user_var.test for
      mysql-test/t/user_var.test:
        More test with SELECT @A:=
      sql/item.cc:
        Simple optimization during review of new code
      sql/item_func.cc:
        Reverting patch for BUG #14009 (use of abs() on null value causes problems with filesort)
      sql/item_timefunc.h:
        timediff() can return NULL for not NULL arguments
      sql/sql_base.cc:
        Remove usage of current_thd() in mysql_make_view()
      sql/sql_lex.h:
        Remove usage of current_thd() in mysql_make_view()
      sql/sql_select.cc:
        Fix for bug #14536: SELECT @A,@A:=... fails with prepared statements
      sql/sql_view.cc:
        Remove usage of current_thd() in mysql_make_view()
        Simple optimization of new code
      sql/sql_view.h:
        Remove usage of current_thd() in mysql_make_view()
      sql/table.cc:
        Simple optimization of new code
      ee380a07
  25. 27 Oct, 2005 2 commits
    • unknown's avatar
      fixe of typos, comments & layout · c1852b12
      unknown authored
      sql/item_func.cc:
        fixed typo
      sql/sql_acl.cc:
        comment fixed
      sql/sql_parse.cc:
        comment fixed
      sql/sql_view.cc:
        layout fixed
      sql/table.cc:
        typo fixed
        layout fixed
      sql/table.h:
        typo fixed
      c1852b12
    • unknown's avatar
      support of view underlying tables and SP functions security check added (BUG#9505) (WL#2787) · 24ac4019
      unknown authored
      mysql-test/r/information_schema.result:
        error message changed
      mysql-test/r/sp.result:
        error message changed
      mysql-test/r/sql_mode.result:
        fixed test suite
      mysql-test/r/view.result:
        error message changed
      mysql-test/r/view_grant.result:
        test of underlying view tables check
      mysql-test/t/sql_mode.test:
        fixed test suite
      mysql-test/t/view_grant.test:
        test of underlying view tables check
      sql/item.cc:
        check of underlying tables privilege added
      sql/item.h:
        Name the resolution context points to the security  context of view (if item belong to the view)
      sql/item_func.cc:
        a view error hiding for execution of prepared function belonged to a view
        fixed checking privileges if stored functions belonds to some view
      sql/mysql_priv.h:
        refult of derived table processing functions changed to bool
        Security_context added as an argument to find_field_in_table()
      sql/share/errmsg.txt:
        error message fixed
      sql/sql_acl.cc:
        Storing requested privileges of tables added
        View underlying tables privilege check added
      sql/sql_base.cc:
        View underlying tables privilege check added
      sql/sql_cache.cc:
        Code cleunup: we should not register underlying tables of view second time
      sql/sql_delete.cc:
        ancestor -> merge_underlying_list renaming
      sql/sql_derived.cc:
        refult of derived table processing functions changed to bool
        do not give SELECT_ACL for TEMPTABLE views
      sql/sql_lex.h:
        The comment added
      sql/sql_parse.cc:
        registration of requested privileges added
      sql/sql_prepare.cc:
        registration of requested privileges added
      sql/sql_update.cc:
        manipulation of requested privileges for underlying tables made the same as for table which we are updating
      sql/sql_view.cc:
        underlying tables of view security check support added
      sql/table.cc:
        renaming and fixing view preparation methods, methods for checking underlyoing tables security context added
      sql/table.h:
        storege for reuested privileges added
      24ac4019
  26. 24 Oct, 2005 1 commit
    • unknown's avatar
      Fix for BUG#13095: Cannot create VIEWs in prepared statements · 33d5d4ad
      unknown authored
        - allow CREATE VIEW as well as DROP VIEW to use in prepared statements;
        - fix CREATE VIEW implementation to make it work in prepared statements.
      
      
      mysql-test/r/sp.result:
        Results file for the test case for BUG#13095.
      mysql-test/t/sp.test:
        Test case for BUG#13095.
      sql/sql_lex.h:
        Added a variable to remember start of whole CREATE VIEW statement
        as well as start of its SELECT part.
      sql/sql_prepare.cc:
        Allow CREATE VIEW and DROP VIEW to use in prepared statements.
      sql/sql_view.cc:
        Use stored start of whole CREATE VIEW statement instead of thd->query,
        which differs from the original when prepared statement is executing.
      sql/sql_yacc.yy:
        Remember start of whole CREATE VIEW statement as well as start of its
        SELECT part.
      33d5d4ad
  27. 11 Oct, 2005 1 commit
    • unknown's avatar
      Reviewing new pushed code · 0ce12f70
      unknown authored
      - CHAR() now returns binary string as default
      - CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
      - Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
        (Some old systems returns ETIME and it's safer to test for both values
         than to try to write a wrapper for each old system)
      - Fixed new introduced bug in NOT BETWEEN X and X
      - Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
      - Use octet2hex() for all conversion of string to hex
      - Simplify and optimize code
      
      
      client/mysqldump.c:
        Simple optimizations of new code
        Indentation fixes
      client/mysqltest.c:
        Removed not needed variable
      include/mysql_com.h:
        Made octec2hex() more usable
      mysql-test/r/ctype_utf8.result:
        CHAR() now returns binary string as default
      mysql-test/r/func_str.result:
        CHAR() now returns binary string as default
      mysql-test/r/range.result:
        Added test to verify new introduced bug in NOT BETWEEN X and X
      mysql-test/r/user_var-binlog.result:
        CHAR() now returns binary string as default
      mysql-test/r/view.result:
        More tests of view rename
      mysql-test/t/ctype_utf8.test:
        CHAR() now returns binary string as default
      mysql-test/t/func_str.test:
        CHAR() now returns binary string as default
      mysql-test/t/range.test:
        Added test to verify new introduced bug in NOT BETWEEN X and X
      mysql-test/t/view.test:
        More tests of view rename
      mysys/mf_keycache.c:
        Indentation changes
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      mysys/my_os2cond.c:
        Fix to MySQL coding style
        Optimized functions
      mysys/thr_lock.c:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      mysys/thr_mutex.c:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      server-tools/instance-manager/instance.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      server-tools/instance-manager/thread_registry.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      sql/ha_federated.cc:
        Use octet2hex()
      sql/ha_ndbcluster.cc:
        Removed not used variable
      sql/handler.cc:
        Simplify code
        Use *NONE* instead of 'none' for not existing storage engine
        Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
      sql/item.h:
        Remove not needed test for *ref.  (If ref is set, it should never point at 0)
      sql/item_func.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
        Simplify code
        More comments
        Require that last argument to find_and_check_access() is given
        (Made code shorter and faster)
      sql/item_strfunc.cc:
        Changed CHAR() to return result in binary collation
        CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
        
        Bar will shortly add the following syntax:
        CHAR(.... USING character_set)
        and ensure that
        CONVERT(CHAR(....) USING utf8) cuts not legal utf8 strings
        Use ocet2hex()
      sql/item_strfunc.h:
        CHAR() now returns a binary string
      sql/log_event.cc:
        Use octet2hex()
        Simplify code
      sql/parse_file.cc:
        Indentation fixes
        Use for() instead of while()
      sql/password.c:
        Make octet2hex() more generally usable by returning pointer to end 0
      sql/slave.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      sql/sql_base.cc:
        Indentation fixes
      sql/sql_insert.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      sql/sql_manager.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      sql/sql_parse.cc:
        Don't check thd->db when checking for function privileges
      sql/sql_prepare.cc:
        Fixed wrong merge
      sql/sql_select.cc:
        Fixed new bug for NOT BETWEEN X and X
      sql/sql_show.cc:
        Removed not used variable
      sql/sql_table.cc:
        Indentation fixed
        Removed DBUG_PRINT that is obvious from context
      sql/sql_view.cc:
        Simplify code
      sql/unireg.cc:
        Use octet2hex()
      0ce12f70
  28. 30 Sep, 2005 1 commit
  29. 29 Sep, 2005 1 commit
  30. 21 Sep, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#6513 "Test Suite: Values inserted by using · 813fc410
      unknown authored
      cursor is interpreted latin1 character and Bug#9819 "Cursors: Mysql Server
      Crash while fetching from table with 5 million records."
      A fix for a possible memory leak when fetching into an SP cursor
      in a long loop.
      The patch uses a common implementation of cursors in the binary protocol and 
      in stored procedures and implements materialized cursors.
      For implementation details, see comments in sql_cursor.cc
      
      
      include/my_sys.h:
        - declaration for multi_alloc_root
      libmysqld/Makefile.am:
        - drop protocol_cursor.cc, add sql_cursor.cc (replaces the old
        implementation of cursors with a new one)
      mysql-test/r/ctype_ujis.result:
        - test results fixed (a test case for Bug#6513)
      mysql-test/r/sp-big.result:
        - test results fixed (a test case for Bug#9819)
      mysql-test/t/ctype_ujis.test:
        Add a test case for Bug#6513 "Test Suite: Values inserted by using cursor is
         interpreted latin1 character"
      mysql-test/t/sp-big.test:
        Add a restricted test case for Bug#9819 "Cursors: Mysql Server Crash
        while fetching from table with 5 million records."
      mysys/my_alloc.c:
        - an implementation of multi_alloc_root; this is largely a copy-paste
          from mulalloc.c, but the function is small and there is no easy way
          to reuse the existing C function.
      sql/Makefile.am:
        - add sql_cursor.h, sql_cursor.cc (a new implementation of stored procedure
        cursors) and drop protocol_cursor.cc (the old one)
      sql/handler.cc:
        - now TABLE object has its mem_root always initialized.
          Adjust the implementation handler::ha_open
      sql/item_subselect.cc:
        - adjust to the changed declaration of st_select_lex_unit::prepare
      sql/protocol.h:
        - drop Protocol_cursor
      sql/sp_head.cc:
        - move juggling with Query_arena::free_list and Item::next to
          sp_eval_func_item, as this is needed in 3 places already.
      sql/sp_head.h:
        - declare a no-op implementation for cleanup_stmt in sp_instr_cpush.
          This method is needed for non-materializing cursors, which are yet not 
          used in stored procedures.
        - declaration for sp_eval_func_item
      sql/sp_rcontext.cc:
        - reimplement sp_cursor using the new implementation of server side cursors.
        - use sp_eval_func_item to assign values of SP variables from the
          row fetched from a cursor. This should fix a possible memory leak in 
          the old implementation of sp_cursor::fetch
      sql/sp_rcontext.h:
        - reimplement sp_cursor using the new implementation of server side cursors.
      sql/sql_class.cc:
        - disable the functionality that closes transient cursors at commit/rollback;
          transient cursors are not used in 5.0, instead we use materialized ones.
          To be enabled in a later version.
      sql/sql_class.h:
        - adjust to the rename Cursor -> Server_side_cursor
        - additional declarations of select_union used in materialized cursors
      sql/sql_derived.cc:
        - reuse bits of tmp table code in UNION, derived tables, and materialized
          cursors
        - cleanup comments
      sql/sql_lex.h:
        - declarations of auxiliary methods used by materialized cursors
        - a cleanup in st_select_lex_unit interface
      sql/sql_list.h:
        - add an array operator new[] to class Sql_alloc
      sql/sql_prepare.cc:
        - split the tight coupling of cursors and prepared statements to reuse 
          the same implementation in stored procedures
        - cleanups of error processing in Prepared_statement::{prepare,execute}
      sql/sql_select.cc:
        - move the implementation of sensitive (non-materializing) cursors to 
          sql_cursor.cc
        - make temporary tables self-contained: the table, its record and fields
          are allocated in TABLE::mem_root. This implementation is not clean
          and resets thd->mem_root several times because of the way create_tmp_table 
          works (many additional things are done inside it).
        - adjust to the changed declaration of st_select_lex_unit::prepare
      sql/sql_select.h:
        - move the declaration of sensitive (non-materializing) cursors to 
          sql_cursor.cc
      sql/sql_union.cc:
        - move pieces of st_select_unit::prepare to select_union and st_table
          methods to be able to reuse code in the implementation of materialized
          cursors
      sql/sql_view.cc:
        - adjust to the changed signature of st_select_lex_unit::prepare
      sql/table.cc:
        - implement auxiliary st_table methods for use with temporary tables
      sql/table.h:
        - add declarations for auxiliary methods of st_table used to work with 
         temporary tables
      tests/mysql_client_test.c:
        - if cursors are materialized, a parallel update of the table used
          in the cursor may go through: update the test.
      sql/sql_cursor.cc:
        New BitKeeper file ``sql/sql_cursor.cc'' -- implementation of server side
        cursors
      sql/sql_cursor.h:
        New BitKeeper file ``sql/sql_cursor.h'' - declarations for
        server side cursors.
      813fc410
  31. 18 Sep, 2005 1 commit
    • unknown's avatar
      Changes after discussion/review with Sanja · 458aa0e3
      unknown authored
      sql/parse_file.cc:
        Fix after discussion/review with Sanja: removed rename_view from sql_view to general function rename_in_schema_file
        (so it can be used for other .frm types like triggers too)
      sql/parse_file.h:
        added prototype for rename_in_schema_file
      sql/sql_rename.cc:
        simplified code (thanks to Sanja)
      sql/sql_view.cc:
        moved rename_view_files to rename_in_schema_file (parse_file.cc)
        corrected MYF parameter from MY_WME to 0.
      458aa0e3
  32. 16 Sep, 2005 1 commit
    • unknown's avatar
      Fix for bug#5508 after Sanja's review · bf58b698
      unknown authored
      mysql-test/r/view.result:
        test results for rename table view1 to view2
      mysql-test/t/view.test:
        tests for rename table view1 to view2
      sql/share/errmsg.txt:
        added new errormessage (schema change not allowed in rename table view)
      sql/sql_rename.cc:
        added support for renaming views
      sql/sql_view.cc:
        added new function mysql_rename_view
      sql/sql_view.h:
        added prototype mysql_rename_view
      bf58b698
  33. 15 Sep, 2005 1 commit
    • unknown's avatar
      WL#2787 (part 2, ver 3 (merged)) changed securety context switching · 84f029a4
      unknown authored
      libmysqld/lib_sql.cc:
        changed securety context switching
      mysql-test/r/rpl_sp.result:
        now it show real information from changed security context of SP (checked)
      sql/ha_innodb.cc:
        changed securety context switching
      sql/item.cc:
        changed securety context switching
      sql/item_func.cc:
        changed securety context switching
      sql/item_strfunc.cc:
        changed securety context switching
      sql/log.cc:
        changed securety context switching
      sql/mysql_priv.h:
        changed securety context switching
      sql/mysqld.cc:
        changed securety context switching
      sql/repl_failsafe.cc:
        changed securety context switching
      sql/set_var.cc:
        changed securety context switching
      sql/slave.cc:
        changed securety context switching
      sql/sp.cc:
        changed securety context switching
      sql/sp_head.cc:
        changed securety context switching
        in case of inability to switch context  we return error now
      sql/sp_head.h:
        changed securety context switching
      sql/sql_acl.cc:
        changed securety context switching
      sql/sql_acl.h:
        changed securety context switching
      sql/sql_base.cc:
        changed securety context switching
      sql/sql_class.cc:
        changed securety context switching
      sql/sql_class.h:
        changed securety context switching
      sql/sql_db.cc:
        changed securety context switching
      sql/sql_insert.cc:
        changed securety context switching
      sql/sql_parse.cc:
        changed securety context switching
      sql/sql_show.cc:
        changed securety context switching
      sql/sql_trigger.cc:
        changed securety context switching
      sql/sql_view.cc:
        changed securety context switching
      sql/sql_yacc.yy:
        changed securety context switching
      84f029a4
  34. 14 Sep, 2005 2 commits
    • unknown's avatar
      Fix bug #11416 Server crash if using a view that uses function convert_tz · de4fbc21
      unknown authored
      When parser parses function convert_tz it loads available timezone tables in
      thd->lex->time_zone_tables_used. But view have another lex that main query.
      Thus time_zone_tables_used of main query left uninitialized.
      When Item_func_conver_tz is fixed it takes timezone tables from main query
      and later when it executed it assumes that timezone tables are loaded and
      failed that assertion.
      
      
      
      sql/sql_view.cc:
        Fix bug #11416 Server crash if using a view that uses function convert_tz
      mysql-test/r/view.result:
        Test case for bug#11416 Server crash if using a view that uses function convert_tz
      mysql-test/t/view.test:
        Test case for bug#11416 Server crash if using a view that uses function convert_tz
      de4fbc21
    • unknown's avatar
      part 1 (ver 2, postreview fix) of WL#2787 · f7aeb6f9
      unknown authored
      view definer information syntax/storage/replication
      fixed SOURCE field of .frm
      
      
      mysql-test/r/func_in.result:
        definer information added to CREATE VIEW
      mysql-test/r/lowercase_view.result:
        definer information added to CREATE VIEW
      mysql-test/r/mysqldump.result:
        definer information added to CREATE VIEW
      mysql-test/r/rpl_view.result:
        check log of queries
      mysql-test/r/skip_grants.result:
        --skip-grants do not allow use user information
      mysql-test/r/sql_mode.result:
        definer information added to CREATE VIEW
      mysql-test/r/temp_table.result:
        definer information added to CREATE VIEW
      mysql-test/r/view.result:
        definer information added to CREATE VIEW
        test of storing/restoring definer information
      mysql-test/r/view_grant.result:
        test of grant check of definer information
        definer information added to CREATE VIEW
      mysql-test/t/rpl_view.test:
        check log of queries
      mysql-test/t/skip_grants.test:
        --skip-grants do not allow use user information
      mysql-test/t/view.test:
        test of storing/restoring definer information
      mysql-test/t/view_grant.test:
        test of grant check of definer information
      sql/mysql_priv.h:
        CREATE/ALTER VIEW print support
        set current user as definer procedure
      sql/share/errmsg.txt:
        new errors/warnings
      sql/sql_acl.cc:
        make find_acl_user public to allow to check user
      sql/sql_acl.h:
        make find_acl_user public to allow to check user
      sql/sql_lex.h:
        storing definer information
      sql/sql_parse.cc:
        send CREATE/ALTER VIEW for replication with full list of options
        set current user as definer procedure
      sql/sql_show.cc:
        new CREATE VIEW options printed
      sql/sql_view.cc:
        check of definer clause
        changes in .frm file
        definer information storage support
        now we store only original SELECT in SOURCE field of .frm
      sql/sql_yacc.yy:
        definer information sintax support
        getting SOURCE field information for .frm
      sql/table.h:
        definer information storage
      f7aeb6f9
  35. 13 Sep, 2005 1 commit
    • unknown's avatar
      Bug#9683 INFORMATION_SCH: Creation of temporary table allowed in · 3764875c
      unknown authored
               Information_schema DB 
      Bug#9846 Inappropriate error displayed while
               dropping table from 'INFORMATION_SCHEMA'
      Bug#10734 Grant of privileges other than 'select' and 
               'create view' should fail on schema 
      Bug#10708 SP's can use INFORMATION_SCHEMA as ROUTINE_SCHEMA
      
       cumulative fix for bugs above(after review, 2nd version)
       added privilege check for information schema db & tables
      
      
      3764875c
  36. 02 Sep, 2005 1 commit
    • unknown's avatar
      Rename: · dc922213
      unknown authored
      - current_arena to stmt_arena: the thread may have more than one
      'current' arenas: one for runtime data, and one for the parsed 
      tree of a statement. Only one of them is active at any moment.
      - set_item_arena -> set_query_arena, because Item_arena was renamed to 
      Query_arena a while ago
      - set_n_backup_item_arena -> set_n_backup_active_arena;
      the active arena is the arena thd->mem_root and thd->free_list
      are currently pointing at.
      - restore_backup_item_arena -> restore_active_arena (with the same
      rationale)
      - change_arena_if_needed -> activate_stmt_arena_if_needed; this
      method sets thd->stmt_arena active if it's not done yet.
      
      
      sql/item.cc:
        Rename.
      sql/item_cmpfunc.cc:
        Rename.
      sql/item_func.cc:
        Rename.
      sql/item_subselect.cc:
        Rename.
      sql/item_subselect.h:
        Remove an unused forward declaration.
      sql/item_sum.h:
        Remove an unused forward declaration.
      sql/mysql_priv.h:
        Remove an unused forward declaration.
      sql/sp.cc:
        Rename.
      sql/sp_head.cc:
        Rename.
      sql/sql_base.cc:
        Rename.
      sql/sql_class.cc:
        Rename.
      sql/sql_class.h:
        Rename.
      sql/sql_lex.cc:
        Rename.
      sql/sql_parse.cc:
        Rename.
      sql/sql_prepare.cc:
        Rename.
      sql/sql_select.cc:
        Rename.
      sql/sql_show.cc:
        Rename.
      sql/sql_union.cc:
        Rename.
      sql/sql_view.cc:
        Rename.
      sql/table.cc:
        Rename.
      dc922213