An error occurred fetching the project authors.
  1. 25 Jul, 2007 1 commit
    • thek@adventure.(none)'s avatar
      Bug#28641 CREATE EVENT with '2038.01.18 03:00:00' let server crash. · 13d51194
      thek@adventure.(none) authored
      Creating an EVENT to be executed at a time close to the end of the allowed
      range (2038.01.19 03:14:07 UTC) would cause the server to crash. The
      expected behavior is to accept all calendar times within the interval and
      reject all other values without crashing.
      
      This patch replaces the function 'sec_to_epoch_TIME' with a Time_zone API call.
      This function was broken because it invoked the internal function 'sec_to_epoch'
      without respecting the restrictions on the function parameters (and this caused
      assertion failure). It also was used as a reverse function to
      Time_zone_utc::gmt_sec_to_TIME which it isn't.
      13d51194
  2. 22 May, 2007 1 commit
  3. 21 May, 2007 1 commit
  4. 10 May, 2007 1 commit
    • monty@mysql.com/narttu.mysql.fi's avatar
      WL#3817: Simplify string / memory area types and make things more consistent (first part) · 088e2395
      monty@mysql.com/narttu.mysql.fi authored
      The following type conversions was done:
      
      - Changed byte to uchar
      - Changed gptr to uchar*
      - Change my_string to char *
      - Change my_size_t to size_t
      - Change size_s to size_t
      
      Removed declaration of byte, gptr, my_string, my_size_t and size_s. 
      
      Following function parameter changes was done:
      - All string functions in mysys/strings was changed to use size_t
        instead of uint for string lengths.
      - All read()/write() functions changed to use size_t (including vio).
      - All protocoll functions changed to use size_t instead of uint
      - Functions that used a pointer to a string length was changed to use size_t*
      - Changed malloc(), free() and related functions from using gptr to use void *
        as this requires fewer casts in the code and is more in line with how the
        standard functions work.
      - Added extra length argument to dirname_part() to return the length of the
        created string.
      - Changed (at least) following functions to take uchar* as argument:
        - db_dump()
        - my_net_write()
        - net_write_command()
        - net_store_data()
        - DBUG_DUMP()
        - decimal2bin() & bin2decimal()
      - Changed my_compress() and my_uncompress() to use size_t. Changed one
        argument to my_uncompress() from a pointer to a value as we only return
        one value (makes function easier to use).
      - Changed type of 'pack_data' argument to packfrm() to avoid casts.
      - Changed in readfrm() and writefrom(), ha_discover and handler::discover()
        the type for argument 'frmdata' to uchar** to avoid casts.
      - Changed most Field functions to use uchar* instead of char* (reduced a lot of
        casts).
      - Changed field->val_xxx(xxx, new_ptr) to take const pointers.
      
      Other changes:
      - Removed a lot of not needed casts
      - Added a few new cast required by other changes
      - Added some cast to my_multi_malloc() arguments for safety (as string lengths
        needs to be uint, not size_t).
      - Fixed all calls to hash-get-key functions to use size_t*. (Needed to be done
        explicitely as this conflict was often hided by casting the function to
        hash_get_key).
      - Changed some buffers to memory regions to uchar* to avoid casts.
      - Changed some string lengths from uint to size_t.
      - Changed field->ptr to be uchar* instead of char*. This allowed us to
        get rid of a lot of casts.
      - Some changes from true -> TRUE, false -> FALSE, unsigned char -> uchar
      - Include zlib.h in some files as we needed declaration of crc32()
      - Changed MY_FILE_ERROR to be (size_t) -1.
      - Changed many variables to hold the result of my_read() / my_write() to be
        size_t. This was needed to properly detect errors (which are
        returned as (size_t) -1).
      - Removed some very old VMS code
      - Changed packfrm()/unpackfrm() to not be depending on uint size
        (portability fix)
      - Removed windows specific code to restore cursor position as this
        causes slowdown on windows and we should not mix read() and pread()
        calls anyway as this is not thread safe. Updated function comment to
        reflect this. Changed function that depended on original behavior of
        my_pwrite() to itself restore the cursor position (one such case).
      - Added some missing checking of return value of malloc().
      - Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid 'long' overflow.
      - Changed type of table_def::m_size from my_size_t to ulong to reflect that
        m_size is the number of elements in the array, not a string/memory
        length.
      - Moved THD::max_row_length() to table.cc (as it's not depending on THD).
        Inlined max_row_length_blob() into this function.
      - More function comments
      - Fixed some compiler warnings when compiled without partitions.
      - Removed setting of LEX_STRING() arguments in declaration (portability fix).
      - Some trivial indentation/variable name changes.
      - Some trivial code simplifications:
        - Replaced some calls to alloc_root + memcpy to use
          strmake_root()/strdup_root().
        - Changed some calls from memdup() to strmake() (Safety fix)
        - Simpler loops in client-simple.c
      088e2395
  5. 16 Apr, 2007 1 commit
  6. 13 Apr, 2007 1 commit
  7. 05 Apr, 2007 1 commit
    • kostja@vajra.(none)'s avatar
      A set of changes aiming to make the Event Scheduler more user-friendly · 98db2300
      kostja@vajra.(none) authored
      when there are no up-to-date system tables to support it:
       - initialize the scheduler before reporting "Ready for connections".
         This ensures that warnings, if any, are printed before "Ready for
         connections", and this message is not mangled.
       - do not abort the scheduler if there are no system tables
       - check the tables once at start up, remember the status and disable
         the scheduler if the tables are not up to date.
         If one attempts to use the scheduler with bad tables,
         issue an error message.
       - clean up the behaviour of the module under LOCK TABLES and pre-locking
         mode
       - make sure implicit commit of Events DDL works as expected.
       - add more tests
      
      
      Collateral clean ups in the events code.
      
      This patch fixes Bug#23631 Events: SHOW VARIABLES doesn't work 
      when mysql.event is damaged
      98db2300
  8. 29 Mar, 2007 1 commit
  9. 23 Mar, 2007 3 commits
    • monty@mysql.com/narttu.mysql.fi's avatar
      Removed not used define YY_MAGIC_BELOW · 19336036
      monty@mysql.com/narttu.mysql.fi authored
      Made year 2000 handling more uniform
      Removed year 2000 handling out from calc_days()
      The above removes some bugs in date/datetimes with year between 0 and 200
      Now we get a note when we insert a datetime value into a date column
      For default values to CREATE, don't give errors for warning level NOTE
      Fixed some compiler failures
      Added library ws2_32 for windows compilation (needed if we want to compile with IOCP support)
      Removed duplicate typedef TIME and replaced it with MYSQL_TIME
      
      Better (more complete) fix for: Bug#21103 "DATE column not compared as DATE"
      Fixed properly Bug#18997 "DATE_ADD and DATE_SUB perform year2K autoconversion magic on 4-digit year value"
      Fixed Bug#23093 "Implicit conversion of 9912101 to date does not match cast(9912101 as date)"
      19336036
    • kostja@bodhi.local's avatar
      Change module prefix in error messages: SCHEDULER -> Event Scheduler, · bf6210be
      kostja@bodhi.local authored
      to not collide with the recently introduced thread scheduler module.
      bf6210be
    • kostja@bodhi.local's avatar
      Trivial cleanups and whitespace change in Event Scheduler code. · 09461285
      kostja@bodhi.local authored
      A larger patch is to come, this is to exclude rudimentary changes
      from it.
      09461285
  10. 16 Mar, 2007 3 commits
    • kroki/tomash@moonlight.home's avatar
      Fix compilation on Windows broken with the push of bug#16420. · 1812656d
      kroki/tomash@moonlight.home authored
      Fix three compilation warnings.
      1812656d
    • kroki/tomash@moonlight.home's avatar
      BUG#16420: Events: timestamps become UTC · 6d8f6b5b
      kroki/tomash@moonlight.home authored
      BUG#26429: SHOW CREATE EVENT is incorrect for an event that
                 STARTS NOW()
      BUG#26431: Impossible to re-create an event from backup if its
                 STARTS clause is in the past
      WL#3698: Events: execution in local time zone
      
      The problem was that local times specified by the user in AT, STARTS
      and ENDS of CREATE EVENT/ALTER EVENT statement were converted to UTC,
      and the original time zone was forgotten.  This way, event scheduler
      couldn't honor Daylight Saving Time shifts, and times shown to the
      user were also in UTC.  Additionally, CREATE EVENT didn't allow times
      in the past, thus preventing straightforward event restoration from
      old backups.
      
      This patch reworks event scheduler time computations, performing them
      in the time zone associated with the event.  Also it allows times to
      be in the past.
      
      The patch adds time_zone column to mysql.event table.
      
      NOTE: The patch is almost final, but the bug#9953 should be pushed
      first.
      6d8f6b5b
    • cbell/Chuck@mysql_cab_desk.'s avatar
      WL#3629 - Replication of Invocation and Invoked Features · 3e44599c
      cbell/Chuck@mysql_cab_desk. authored
      This changeset adds replication of events and user-defined functions. 
      There are several bug reports involved in this change:
      
      BUG#16421, BUG#17857, BUG#20384:
      This patch modifies the mysql.events table to permit the addition of
      another enum value for the status column. The column now has values
      of ('DISABLED','SLAVESIDE_DISABLED','ENABLED'). A status of
      SLAVESIDE_DISABLED is set on the slave during replication of events.
      This enables users to determine which events werereplicated from the 
      master and to later enable them if they promote the slave to a master.
      The CREATE, ALTER, and DROP statements are binlogged.
      A new test was added for replication of events (rpl_events).
      
      BUG#17671:
      This patch modifies the code to permit logging of user-defined functions.
      Note: this is the CREATE FUNCTION ... SONAME variety. A more friendly error 
      message to be displayed should a replicated user-defined function not be
      found in the loadable library or if the library is missing from the
      slave.The CREATE andDROP statements are binlogged. A new test was added 
      for replication of user-defined functions (rpl_udf). 
      
      The patch also adds a new column to the mysql.event table named
      'originator' that is used to store the server_id of the server that
      the event originated on. This enables users to promote a slave to a 
      master and later return the promoted slave to a slave and disable the
      replicated events.
      3e44599c
  11. 01 Mar, 2007 1 commit
  12. 27 Feb, 2007 1 commit
  13. 29 Jan, 2007 1 commit
    • kroki/tomash@moonlight.home's avatar
      Fix for bug#22740 Events: Decouple Event_queue from Event_db_repository · c06c7356
      kroki/tomash@moonlight.home authored
      This patch implements the idea of the bug report by making Event_queue
      unaware of Event_db_repository by making a higher level class - Events,
      which is aware of most of all classes, responsible for passing all data
      needed for adding/updating/deleting an event to/from the queue.
      
      Introduces few new classes :
       - Event_worker_thread
       - Event_queue_element_for_exec
      c06c7356
  14. 28 Jan, 2007 1 commit
    • monty@mysql.com/narttu.mysql.fi's avatar
      After merge fixes · 410fc81a
      monty@mysql.com/narttu.mysql.fi authored
      Removed a lot of compiler warnings
      Removed not used variables, functions and labels
      Initialize some variables that could be used unitialized (fatal bugs)
      %ll -> %l
      410fc81a
  15. 27 Dec, 2006 1 commit
  16. 18 Dec, 2006 2 commits
  17. 15 Dec, 2006 2 commits
  18. 05 Dec, 2006 1 commit
  19. 26 Nov, 2006 1 commit
    • monty@mysql.com/nosik.monty.fi's avatar
      Fixed a LOT of compiler warnings · fa81a82e
      monty@mysql.com/nosik.monty.fi authored
      Added missing DBUG_RETURN statements (in mysqldump.c)
      Added missing enums
      Fixed a lot of wrong DBUG_PRINT() statements, some of which could cause crashes
      Removed usage of %lld and %p in printf strings as these are not portable or produces different results on different systems.
      fa81a82e
  20. 14 Sep, 2006 2 commits
  21. 13 Sep, 2006 1 commit
  22. 12 Sep, 2006 1 commit
    • andrey@example.com's avatar
      WL#3337 (Event scheduler new architecture) · 25862a86
      andrey@example.com authored
      Remove SHOW SCHEDULER STATUS command and migrate the
      information output to `mysqladmin debug` (COM_DEBUG)
      
      SHOW SCHEDULER STATUS was introduced in 5.1.11, provided
      some debug information about event scheduler internals and
      was enabled only in debug builds.
      25862a86
  23. 01 Sep, 2006 1 commit
  24. 31 Aug, 2006 1 commit
    • andrey@fifo.vaih.whnetz's avatar
      WL#3337 (Event scheduler new architecture) · 7b5916a2
      andrey@fifo.vaih.whnetz authored
      This patch makes the relationship between Event_scheduler and Event_queue
      unidirectional from the former to the latter.
      
      
      
      
      The change is that the conditional on which the scheduler sleeped has been
      moved to the Event_queue and the latter does not call anymore
      Event_scheduler::queue_changed(), which in turn has be removed.
      7b5916a2
  25. 17 Aug, 2006 1 commit
  26. 17 Jul, 2006 1 commit
  27. 13 Jul, 2006 2 commits
  28. 12 Jul, 2006 1 commit
  29. 11 Jul, 2006 1 commit
    • andrey@lmy004.'s avatar
      WL#3337 (Event scheduler new architecture) · 0d517461
      andrey@lmy004. authored
      More small fixes to the API : use LEX_STRING instead of LEX_STRING* and if error
      then return bool(true) instead of error code.
      Merged functions. Reduced usage of sp_name.
      Fixed a lot of function documentation errors.
      Added function documentation wherever needed.
      Removed some unused defines and error codes.
      
      Next to come is batch rename of Event_scheduler_ng to Event_scheduler.
      0d517461
  30. 10 Jul, 2006 2 commits
    • andrey@lmy004.'s avatar
      Remove trailing whitespace. · 2f7555b3
      andrey@lmy004. authored
      After merge fixes.
      2f7555b3
    • andrey@lmy004.'s avatar
      WL#3337 (Event scheduler new architecture) · e3d0524b
      andrey@lmy004. authored
      This patch introduces specialized Event data objects
      Event_basic as parent.
      Event_queue_element used for queue storage
      Event_timed used for SHOW EVENTS/ I_S.EVENTS / SHOW CREATE EVENT
      Event_job_data using during execution.
      Methods were moved out of Event_timed to other classes.
      
      This patch also introduces Events::LOCK_event_metadata.
      This patch gives new implementation of Events::dump_internal_status().
      Now both the Event_scheduler and Event_queue return information during
      their ::dump_internal_status().
      
      Shortened a bit the runtime for executing events test cases.
      e3d0524b
  31. 05 Jul, 2006 1 commit
    • andrey@lmy004.'s avatar
      WL#3337 (Event scheduler new architecture) · 3b840ade
      andrey@lmy004. authored
      Cleaned up the code a bit. Fixed few leaks.
      This code still does not load events on server startup
      from disk. The problem is that there is a need for a THD instance, which
      does not exist during server boot. This will be solved soon.
      Still Event_timed is used both for the memory queue and for exectution.
      This will be changed according to WL#3337 probably in the next commit.
      3b840ade