An error occurred fetching the project authors.
  1. 15 Dec, 2006 1 commit
    • gkodinov/kgeorge@macbook.gmz's avatar
      Bug #15439: UDF name case handling forces DELETE FROM mysql.func to remove · d56d3a69
      gkodinov/kgeorge@macbook.gmz authored
                  the UDF
      When deleting a user defined function MySQL must remove it from both the
      in-memory hash table and the mysql.proc system table.
      Finding (and removal therefore) from the internal hash table is case 
      insensitive (or whatever the default charset is), whereas finding and 
      removal from the system table is case sensitive.
      As a result if you supply a function name that is not in the same character
      case to DROP FUNCTION the server will remove the function only from the
      in-memory hash table and will keep the row in mysql.proc system table.
      This will cause inconsistency between the two structures (that is fixed
      only by restarting the server).
      Fixed by using the name in the precise case (from the in-memory hash table)
      to delete the row in the mysql.proc system table. 
      d56d3a69
  2. 13 Nov, 2006 1 commit
  3. 24 Oct, 2006 1 commit
    • gkodinov/kgeorge@macbook.gmz's avatar
      Bug #21809: Error 1356 while selecting from view with grouping though underlying · 932d86bb
      gkodinov/kgeorge@macbook.gmz authored
                  select OK.
      The SQL parser was using Item::name to transfer user defined function attributes
      to the user defined function (udf). It was not distinguishing between user defined 
      function call arguments and stored procedure call arguments. Setting Item::name 
      was causing Item_ref::print() method to print the argument as quoted identifiers 
      and caused views that reference aggregate functions as udf call arguments (and 
      rely on Item::print() for the text of the view to store) to throw an undefined 
      identifier error.
      Overloaded Item_ref::print to print aggregate functions as such when printing
      the references to aggregate functions taken out of context by split_sum_func2()
      Fixed the parser to properly detect using AS clause in stored procedure arguments
      as an error.
      Fixed printing the arguments of udf call to print properly the udf attribute.
      932d86bb
  4. 31 Jul, 2006 1 commit
    • malff/marcsql@weblab.(none)'s avatar
      Bug#21269 (DEFINER-clause is allowed for UDF-functions) · ab86e0b3
      malff/marcsql@weblab.(none) authored
      The problem was that the grammar allows to create a function with an optional
      definer clause, and define it as a UDF with the SONAME keyword.
      Such combination should be reported as an error.
      
      The solution is to not change the grammar itself, and to introduce a
      specific check in the yacc actions in 'create_function_tail' for UDF,
      that now reports ER_WRONG_USAGE when using both DEFINER and SONAME.
      ab86e0b3
  5. 25 Jul, 2006 1 commit
    • evgen@moonbone.local's avatar
      Fixed bug#19862: Sort with filesort by function evaluates function twice · 4ee2e07c
      evgen@moonbone.local authored
      When there is no index defined filesort is used to sort the result of a
      query. If there is a function in the select list and the result set should be
      ordered by it's value then this function will be evaluated twice. First time to
      get the value of the sort key and second time to send its value to a user.
      This happens because filesort when sorts a table remembers only values of its
      fields but not values of functions.
      All functions are affected. But taking into account that SP and UDF functions
      can be both expensive and non-deterministic a temporary table should be used 
      to store their results and then sort it to avoid twice SP evaluation and to 
      get a correct result.
      
      If an expression referenced in an ORDER clause contains a SP or UDF 
      function, force the use of a temporary table.
      
      A new Item_processor function called func_type_checker_processor is added
      to check whether the expression contains a function of a particular type.
      4ee2e07c
  6. 08 Jun, 2006 1 commit
  7. 27 Apr, 2006 1 commit
  8. 10 Mar, 2006 2 commits
  9. 15 Feb, 2006 1 commit