Switch branches/tags
Commits on Apr 9, 2012
  1. Fix links in

    jeremycole committed Apr 9, 2012
Commits on Mar 6, 2012
  1. Merge branch 'MYSQL-15' into twitter-dev

    Davi Arnaut committed Mar 6, 2012
  2. Bug#64556: Interrupting a query inside InnoDB causes an unrelated war…

    …ning to be raised
    Interrupting a statement (with KILL QUERY) that is executing inside
    InnoDB leads to an unrelated warning being raised in the context of
    the connection whose statement was interrupted.
    Davi Arnaut committed Mar 6, 2012
  3. MYSQL-15: Implement server-side statement timeout support

    Extend testing of the maximum execution time for statements.
    Davi Arnaut committed Mar 5, 2012
  4. MYSQL-15: Implement server-side statement timeout support

    Set an appropriate error status when a statement is killed. The
    error status to be set varies depending on the killed state.
    Davi Arnaut committed Mar 5, 2012
  5. MYSQL-15: Implement server-side statement timeout support

    Introduce status variables that provide counters for the number
    of statements that are timed-limited (max_statement_time_set),
    for statements that exceeded the maximum execution time
    (max_statement_time_exceeded) and for failed attempts to set the
    maximum execution time (max_statement_time_set_failed).
    Davi Arnaut committed Mar 2, 2012
  6. MYSQL-15: Implement server-side statement timeout support

    Introduce an account resource limit named MAX_STATEMENT_TIME that can
    be used to set the default maximum execution time for any statement
    issued under a given account. That is, the max_statement_time session
    variable is initialized at connect time using the current value of the
    equally named resource limit.
    The MAX_STATEMENT_TIME limit can be set with a CREATE USER or GRANT
    statement. For example, GRANT ... TO 'user'@'host' WITH
    MAX_STATEMENT_TIME 10. The server stores the specified value for an
    account in the max_statement_time column of the user table row
    corresponding to the account.
    Given that the max_statement_time variable is initialized using the
    limit value, the global counterpart of the variable is removed.
    Davi Arnaut committed Mar 2, 2012
  7. MYSQL-15: Implement server-side statement timeout support

    Implement an option in the query specification to set the maximum
    execution time for a SELECT statement. Using the MAX_STATEMENT_TIME=N
    option, a user is able to specify the maximum execution time (in
    milliseconds) for a SELECT statement. For example, SELECT
    The source value (N) can only be an integer literal. The option
    is intended mainly for queries and is not supported if the SELECT
    statement where the option is used is not a top-level statement
    (e.g. a subquery). Also, the MAX_STATEMENT_TIME option takes
    precedence over @@max_statement_time.
    Davi Arnaut committed Mar 1, 2012
  8. MYSQL-15: Implement server-side statement timeout support

    Introduce a server-side time limit for the execution of statements.
    This feature works by interrupting the execution of statements that
    take over a specified number of milliseconds to complete. After the
    specified number of milliseconds has passed, the server attempts to
    abort the statement without affecting the session (connection)
    The implementation is optimized for the case where a statement
    finishes executing before reaching the time limit. Also, because the
    timeout event is an asynchronous operation to the statement being
    executed, it is possible that a given statement may not be
    interrupted immediatelyafter the time limit is exceeded.
    The maximum execution time can be set with the max_statement_time
    variable. Using the @@max_statement_time variable a user should be
    able to specify the maximum execution time for any statement. The
    variable value is based on a unsigned 64 bits long integer, which
    represents milliseconds. An infinite timeout is represented by a
    zero value, meaning that no timeout value is set.
    Lastly, the maximum execution time only applies to top-level
    statements or queries; compound statements are treated as a regular
    component of the top-level statement.
    Davi Arnaut committed Feb 28, 2012
Commits on Feb 29, 2012
  1. MYSQL-15: Implement server-side statement timeout support

    Allow threads waiting inside a storage engine to be interrupted if
    the connection or statement is terminated. This is a prerequisite
    for implementing server-side statement timeout support with
    granularity of milliseconds. For example, due to the way that the
    InnoDB background lock timeout thread works, interrupted transactions
    are only detected once every second.
    Davi Arnaut committed Feb 25, 2012
  2. MYSQL-15: Implement server-side statement timeout support

    Introduce an implementation of per-thread timers. The API can be used
    to create one-shot timers that use a monotonically increasing clock
    as the timing base. A timer expires in a given amount of time (in
    milliseconds) from when the timer is armed. Upon timer expiration, a
    given callback function is invoked in a separate thread. Timers can
    also be cancelled (disarmed) and provide an indication of the state
    (signaled or non-signaled) of the timer at the time of cancellation.
    The timer API is currently only implemented on Linux and Mac OS X.
    Davi Arnaut committed Feb 25, 2012
  3. Merge branch 'MYSQL-46' into twitter-dev

    Davi Arnaut committed Feb 29, 2012
  4. MYSQL-46: Make Replication filter settings dynamic

    Make the slave options --replicate-* dynamic variables so that these
    options can be changed dynamically while the server is running,
    which enables users to modify replication filtering rules without
    having to stop and restart the server.
    This is accomplished by just requiring that the slave threads are
    stopped when these options are set dynamically. Since filtering
    rules are only used by the SQL slave thread, setting them while the
    thread is not running avoids the need for locking.
    Davi Arnaut committed Feb 15, 2012
Commits on Feb 25, 2012
  1. Bug#60682: deadlock from thd_security_context

    The problem is a circular wait condition when providing information
    about the internal state of InnoDB. When printing information about
    active transactions, InnoDB holds the kernel mutex (so that transactions
    do not disappear) and calls back into the server to get a description
    (in particular, the query) of every session that is associated with
    a transaction. Since these sessions might be executing unrelated
    statements, a per-session lock is taken so that the query string can
    be safely copied. This lock order poses a problem because there might
    be cases, specially when processing a KILL statement, where the per-
    session lock is acquired before attempting to acquire locks that might
    also be acquired by InnoDB while holding the kernel mutex.
    In order to avoid this problematic lock order, the query of a session
    associated with an active transaction is no longer displayed in the
    output of SHOW ENGINE INNODB STATUS. There query now is only printed
    if a session is describing itself (that is, if the session to be
    described belongs to the calling thread).
    Davi Arnaut committed Feb 25, 2012
Commits on Feb 23, 2012
  1. Bug#22320: my_atomic-t unit test fails

    Move sleep to the affected test, no point in slowing down every
    test that uses the thread template.
    Davi Arnaut committed Feb 23, 2012
  2. Use the appropriate team name in the packager field.

    Davi Arnaut committed Feb 23, 2012
Commits on Feb 11, 2012
  1. MYSQL-45: InnoDB should allow flushing to be gated by age of pages

    Currently using innodb_max_dirty_pages_pct especially with a large
    innodb_io_capacity does not enforce any lower limit on the number of
    dirty pages, and this can increase the number of writes dramatically.
    While normally this would be OK (flush if you can) this is not
    desirable behavior on SSDs where write lifetime is limited.
    In order to reduce and control the frequency of write requests to
    SSD, this change introduces a new variable named
    innodb_flush_dirty_pages_age which can be used to set the minimum age
    of dirty pages to be flushed from the buffer pool if the number of
    dirty pages is below the maximum percentage. This impacts the
    frequency with which frequently modified pages are flushed, which can
    help reduce IO load in systems with frequently modified pages (hot
    Davi Arnaut committed Feb 9, 2012
  2. MYSQL-42: Allow pre-allocation of InnoDB file-per-table (ibd) tablesp…

    …ace files
    Add the ability to extend the tablespace of a table to be at least X
    pages long if it's smaller. If the tablespace is large enough already,
    nothing changes.
    The minimum number of pages can be specified using the table option
    MIN_PAGES in an ALTER TABLE statement. Extending the tablespace is
    an in-place operation that does not require a temporary table.
    Davi Arnaut committed Feb 9, 2012
Commits on Feb 8, 2012
  1. MYSQL-42: Allow pre-allocation of InnoDB file-per-table (ibd) tablesp…

    …ace files
    Add the ability to specific through MIN_PAGES the initial size, in
    pages, of per-table tablespaces. The option is only meaningful if
    innodb_file_per_table is enabled. If the initial size is not large
    enough to contain required metadata, the tablespace will be extended
    to the required size. If the MIN_PAGES option is not specified,
    InnoDB uses the minimum size possible.
    In order to retain forward compatibility in FRMs, MIN_PAGES is
    implemented as an alias for MIN_ROWS. Using MIN_ROWS has the same
    effect as MIN_PAGES. If the MIN_PAGES option is used in a CREATE
    TABLE statement that is logged to the binary log, the MIN_PAGES
    option is also used in the statement that is sent to slaves.
    Davi Arnaut committed Feb 8, 2012
  2. MYSQL-30: Research safer buffer pool dump/restore method

    Fix tablespace bounds checking, the offset of the last page is the
    tablespace size minus one.
    Davi Arnaut committed Feb 8, 2012
Commits on Feb 6, 2012
  1. MYSQL-35: Packages for Mac OS X should not set -arch flags in mysql_c…

    …onfig --cflags
    This bug is actually a symptom of a much deeper problem. When building
    OS X universal binaries, the size of certain types might vary across
    architectures. Use architecture-to-size mapping to properly detect the
    size of time_t. This should fix a failure of the timezone test case.
    Davi Arnaut committed Feb 6, 2012
  2. Bug#62907: mysql_plugin.test fails on a RPM-based install.

    Disable mysql_plugin as it keeps getting broken by upstream.
    Davi Arnaut committed Feb 6, 2012
  3. Merge commit 'tags/clone-5.5.21-build' into twitter-dev

    Raise the Twitter version to t4.
    Davi Arnaut committed Feb 6, 2012
Commits on Jan 30, 2012
  1. Merge with main for BUG#12969301

    property-branch-nick: mysql-12969301
    testament3-sha1: ed3e4c84f9e46841893b1a6b8386d21726677a7e committed Jan 30, 2012

    Fixed error meesage
    property-branch-nick: mysql-5.5
    testament3-sha1: 5b45601e01652e3449586e6aeb51b81ad2fe1166
    Inaam Rana committed Jan 30, 2012

    +get_tty_password  this is the only external symbol in get_password.c,
                       which is explicitly listed in CLIENT_SOURCES
    +handle_options    this is in mysys/my_getopt.c
                       adding this sysmbol pulls in the other externals:
    T getopt_compare_strings
    T getopt_double_limit_value
    T getopt_ll_limit_value
    T getopt_ull_limit_value
    T handle_options
    T my_cleanup_options
    T my_getopt_register_get_addr
    T my_print_help
    T my_print_variables
    property-branch-nick: 5.5
    testament3-sha1: 8bc7f0666fae1ff7b3863c5a69e4cf2861b7476a
    Tor Didriksen committed Jan 30, 2012
Commits on Jan 28, 2012
  1. Merge branch 'MYSQL-40' into twitter-dev

    Davi Arnaut committed Jan 28, 2012
Commits on Jan 27, 2012
  1. MYSQL-40: RPM "Obsoletes:" lines make it impossible to "yum install"

              specific old versions
    The problem is that the "obsoletes" property of a newer MySQL-server
    package interferes with the installation of older (obsoleted) MySQL
    packages from different repositories. For example, yum will replace
    a MySQL-server-community package with a MySQL-server package if one
    of the repositories contains a MySQL-server package that obsoletes
    the MySQL-server-community package.
    In order to avoid any obsoletes processing logic, the property is
    simply removed. Since upgrades across major MySQL versions is not
    supported, this should have no significant impact.
    Davi Arnaut committed Jan 27, 2012
  2. Fix for build break introduced at rev 3711

    asked by Calvin
    property-branch-nick: mysql-5.5
    testament3-sha1: 430e9acb49c8102e5b58e754eeb1967f88764411
    Yasufumi Kinoshita committed Jan 27, 2012
Commits on Jan 26, 2012
  1. BUG 13413535 followup: Fix gcc warning

    property-branch-nick: mysql-5.5
    property-file-info: ld7:file_id65:2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fibuf%2Fibuf0ibuf.c7:message25:Cast to avoid gcc warning4:path33:storage/innobase/ibuf/ibuf0ibuf.cee
    testament3-sha1: 9ba81d8c32257cc718e1b1c820c5e5366754d4be
    Jorgen Loland committed Jan 26, 2012

    … > 1
    This fix does not remove the underlying cause of the assertion
    failure. It just works around the problem, allowing a corrupted
    secondary index to be fixed by DROP INDEX and CREATE INDEX (or in the
    worst case, by re-creating the table).
    ibuf_delete(): If the record to be purged is the last one in the page
    or it is not delete-marked, refuse to purge it. Instead, write an
    error message to the error log and let a debug assertion fail.
    ibuf_set_del_mark(): If the record to be delete-marked is not found,
    display some more information in the error log and let a debug
    assertion fail.
    row_upd_sec_index_entry(): Let a debug assertion fail when the record
    to be delete-marked is not found.
    buf_page_print(): Add ut_ad(0) so that corruption will be more
    prominent in stress testing with debug binaries. Add ut_ad(0) here and
    there where corruption is noticed.
    btr_corruption_report(): Display some data on page_is_comp() mismatch.
    btr_assert_not_corrupted(): A wrapper around btr_corruption_report().
    Assert that page_is_comp() agrees with the table flags.
    rb:911 approved by Inaam Rana
    property-branch-nick: mysql-5.5
    testament3-sha1: b8e923031f7ecc314ac2901f843a844406571949
    Marko Mäkelä committed Jan 26, 2012
  3. merge from 5.1

    property-branch-nick: mysql-5.5-2
    testament3-sha1: 3d30e351eb62f6a67dd458c515365e4ef03c5957
    Guilhem Bichot committed Jan 26, 2012