An error occurred fetching the project authors.
  1. 09 Dec, 2004 1 commit
    • dlenev@brandersnatch.localdomain's avatar
      Fix for bug #6765 "Implicit access to time zone description · 4b0882e0
      dlenev@brandersnatch.localdomain authored
      tables requires privileges for them if some table or column level grants
      present" (with after-review fixes).
      
      We should set SELECT_ACL for implicitly opened tables in 
      my_tz_check_n_skip_implicit_tables() to be able to bypass privilege
      checking in check_grant(). Also we should exclude those tables from
      privilege checking in multi-update.
      4b0882e0
  2. 07 Dec, 2004 1 commit
  3. 18 Nov, 2004 2 commits
  4. 07 Nov, 2004 1 commit
    • monty@mysql.com's avatar
      Simpler arena swapping code · b903a129
      monty@mysql.com authored
      Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
      This gives us the following benefits:
      - Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
      - Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
      - We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
      b903a129
  5. 29 Oct, 2004 1 commit
  6. 26 Oct, 2004 1 commit
    • monty@mysql.com's avatar
      A lot of fixes for prepared statements (PS): · 6fbc869d
      monty@mysql.com authored
      New mysqltest that can run mysqltest with PS
      Added support for ZEROFILL in PS
      Fixed crash when one called mysql_stmt_store_result() without a preceding mysql_stmt_bind_result()
      Updated test cases to support --ps-protocol
      (Some tests are still run using old protocol)
      Fixed crash in PS when using SELECT * FROM t1 NATURAL JOIN t2...
      Fixed crash in PS when using sub queries
      Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
      Fixed wrong permissions check in PS and multi-table updates (one could get permission denied for legal quries)
      Fix for PS and SELECT ... PROCEDURE
      Reset all warnings when executing a new PS query
      group_concat(...ORDER BY) didn't work with PS
      Fixed problem with test suite when not using innodb
      6fbc869d
  7. 21 Oct, 2004 1 commit
  8. 13 Oct, 2004 1 commit
    • konstantin@mysql.com's avatar
      A fix and test case for Bug#5985 ""prepare stmt from "select rand(?)" · 5abc3de2
      konstantin@mysql.com authored
      crashes server." The fix makes Item_func_rand prepared-statements
      aware plus it fixes the case when RAND is used in prepared
      statements and replication is on (as well as several similar issues).
      Until now we did not reset THD before every execution of a prepared
      statement, so if some execution had set thd->time_zone_used
      or thd->rand_used they would not be reset until next mysql_parse.
      Some of post-review fixes done.
      5abc3de2
  9. 09 Oct, 2004 1 commit
    • konstantin@mysql.com's avatar
      A fix and test case for Bug#5987 "subselect in bool function · daa4c249
      konstantin@mysql.com authored
      crashes server (prepared statements)": the bug was that all boolean
      items always recovered its original arguments at statement cleanup 
      stage.
      This collided with Item_subselect::select_transformer, which tries to 
      permanently change the item tree to use a transformed subselect instead of
      original one.
      So we had this call sequence for prepare:
      mysql_stmt_prepare -> JOIN::prepare -> 
      Item_subselect::fix_fields -> the item tree gets transformed ->
      Item_bool_rowready_func2::cleanup, item tree is recovered to original
      state, while it shouldn't have been;
      mysql_stmt_execute -> attempts to execute a broken tree -> crash.
      Now instead of bluntly recovering all arguments of bool functions in 
      Item_bool_rowready_func2::cleanup, we recover only those
      which were changed, and do it in one place.
      There still would exist a possibility for a collision with subselect
      tranformation, if permanent and temporary changes were performed at the 
      same stage.
      But fortunately subselect transformation is always done first, so it 
      doesn't conflict with the optimization done by propogate_cond_constants.
      Now we have: 
      mysql_stmt_prepare -> JOIN::prepare -> subselect transformation 
      permanently changes the tree -> cleanup doesn't recover anything, 
      because nothing was registered for recovery.
      mysql_stmt_execute -> JOIN::prepare (the tree is already transformed, 
      so it doesn't change), JOIN::optimize -> 
      propogate_cond_constants -> temporary changes the item tree 
      with constants -> JOIN::execute -> cleanup -> 
      the changes done by propogate_cond_constants are recovered, as
      they were registered for recovery.
      daa4c249
  10. 08 Oct, 2004 1 commit
  11. 07 Oct, 2004 1 commit
    • konstantin@mysql.com's avatar
      A fix for Bug#5748 "Prepared statement with BETWEEN and bigint values · 2aa7ec0d
      konstantin@mysql.com authored
      crashes mysqld": implementation for a generic item tree modifications
      registry. Every item tree modification which should be rolled back for
      subsequent execution of a prepared statement or stored procedure should
      be saved in the registry. All such modifications are rolled back at once
      during cleanup stage of PS.
      Actual fix for the bug just adds a call to register modifications to
      convert_constant_item.
      Post review fixes implemented.
      2aa7ec0d
  12. 24 Sep, 2004 1 commit
    • ingo@mysql.com's avatar
      BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S). · e47decfa
      ingo@mysql.com authored
      BUG#4335 - one name can be handler open'ed many times.
      Reworked the HANDLER functions and interface.
      Using a HASH to store information on open tables that
      survives FLUSH TABLE.
      HANDLER tables alias names must now be unique, though it
      is allowed in 4.0 to qualify them with the database name
      of the base table.
      e47decfa
  13. 23 Sep, 2004 1 commit
  14. 22 Sep, 2004 1 commit
  15. 16 Sep, 2004 1 commit
  16. 13 Sep, 2004 1 commit
  17. 08 Sep, 2004 1 commit
  18. 07 Sep, 2004 1 commit
  19. 03 Sep, 2004 1 commit
  20. 02 Sep, 2004 2 commits
  21. 31 Aug, 2004 1 commit
  22. 29 Aug, 2004 1 commit
  23. 24 Aug, 2004 4 commits
  24. 20 Aug, 2004 1 commit
    • konstantin@mysql.com's avatar
      Fix for bug#4912 "mysqld crashs in case a statement is executed · 568c6e85
      konstantin@mysql.com authored
       a second time". The bug was caused by incompatibility of
      negations elimination algorithm and PS: during first statement 
      execute a subtree with negation was replaced with equivalent 
      subtree without NOTs.
      The problem was that although this transformation was permanent, 
      items of the new subtree were created in execute-local memory.
      The patch adds means to check if it is the first execute of a
      prepared statement, and if this is the case, to allocate items
      in memory of the prepared statement.
      The implementation:
      - backports Item_arena from 5.0
      - adds Item_arena::is_stmt_prepare(), 
        Item_arena::is_first_stmt_execute().
      - deletes THD::allocate_temporary_pool_for_ps_preparing(),
        THD::free_temporary_pool_for_ps_preparing(); they
        were redundant.
      and adds a few invariants:
      - thd->free_list never contains junk (= freed items)
      - thd->current_arena is never null. If there is no
        prepared statement, it points at the thd. 
      The rest of the patch contains mainly mechanical changes and
      cleanups.
      568c6e85
  25. 29 Jul, 2004 1 commit
    • guilhem@mysql.com's avatar
      Avoiding a theoretically possible crash (pthread_mutex_lock(0)) which could... · 0f20e2fe
      guilhem@mysql.com authored
      Avoiding a theoretically possible crash (pthread_mutex_lock(0)) which could (at least in POSIX Threads books)
      happen on SMP machines, when a thread is going to wait on a condition and it is KILLed at the
      same time.
      Cleaning code a bit by adding a test in enter_cond() that we have the mutex (was already the case in all places
      where it's called except one which is fixed here).
      0f20e2fe
  26. 06 Jul, 2004 1 commit
  27. 21 Jun, 2004 1 commit
    • monty@mysql.com's avatar
      After merge fixes · 1388c164
      monty@mysql.com authored
      Return NULL if a time argument is given to date_add(). (Warning will be shown after Dimitri's timezone patch is pushed)
      1388c164
  28. 18 Jun, 2004 1 commit
    • dlenev@brandersnatch.localdomain's avatar
      WL#1264 "Per-thread time zone support infrastructure". · 09ba29e5
      dlenev@brandersnatch.localdomain authored
      Added basic per-thread time zone functionality (based on public
      domain elsie-code). Now user can select current time zone
      (from the list of time zones described in system tables).
      All NOW-like functions honor this time zone, values of TIMESTAMP
      type are interpreted as values in this time zone, so now
      our TIMESTAMP type behaves similar to Oracle's TIMESTAMP WITH
      LOCAL TIME ZONE (or proper PostgresSQL type).
        
      WL#1266 "CONVERT_TZ() - basic time with time zone conversion 
      function".
        
      Fixed problems described in Bug #2336 (Different number of warnings 
      when inserting bad datetime as string or as number). This required
      reworking of datetime realted warning hadling (they now generated 
      at Field object level not in conversion functions).
        
      Optimization: Now Field class descendants use table->in_use member
      instead of current_thd macro.
      09ba29e5
  29. 07 Jun, 2004 1 commit
  30. 03 Jun, 2004 1 commit
    • guilhem@mysql.com's avatar
      Implementation of WL#1824 "Add replication of character set variables in 4.1", · 86e8ecc9
      guilhem@mysql.com authored
      by binlogging some SET ONE_SHOT CHARACTER_SETetc,
      which will be enough until we have it more compact and more complete in 5.0. With the present patch,
      replication will work ok between 4.1.3 master and slaves, as long as:
      - master and slave have the same GLOBAL.COLLATION_SERVER
      - COLLATION_DATABASE and CHARACTER_SET_DATABASE are not used
      - application does not use the fact that table is created with charset of the USEd db (BUG#2326).
      all of which are not too hard to fulfill. 
      ONE_SHOT is reserved for internal use of mysqlbinlog|mysql and works only for charsets,
      so we give error if used for non-charset vars.
      Fix for BUG#3875 "mysqlbinlog produces wrong ouput  if query uses
       variables containing quotes" and BUG#3943 "Queries with non-ASCII literals are not replicated
       properly after SET NAMES".
      Detecting that master and slave have different global charsets or server ids.
      86e8ecc9
  31. 28 May, 2004 1 commit
  32. 24 May, 2004 1 commit
  33. 15 May, 2004 1 commit
  34. 11 May, 2004 1 commit
  35. 30 Apr, 2004 1 commit