Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Jan 3, 2011
  1. Bump version to 3.19.0

Commits on Dec 17, 2010
  1. Update CHANGELOG

  2. Handle Date and DateTime objects in JDBC prepared statements

    This converts Date objects ot java.sql.Date instances and DateTime
    objects to java.sql.Timestamp instances, so that the setDate
    and setTimestamp JDBC functions don't give errors.
  3. Handle more prepared statement argument types in the sqlite adapter

    Previously, Date, DateTime, Time, true, false, and SQL::Blob
    arguments weren't handled correctly in prepared statements.
  4. Use varbinary(max) instead of image for MSSQL blob type

    image is currently deprecated, and with the current code, if you
    use a blob in a prepared statement and compare it to an image
    column, you get an error, because it assumes the blob is a
    varbinary and the two aren't compatible.
    This breaks backwards compatibility, but I think it's the
    right step to take.
Commits on Dec 12, 2010
  1. Close prepared statements when disconnect when using SQLite

    Previously, attempting to disconnect a connection with an active
    prepared statement raised an exception.
Commits on Dec 10, 2010
  1. Allow reflecting on validations in the validation_class_methods plugin

    This is a super simple implementation that allows you to determine
    which validations were used on the model.  It's only added to the
    validation_class_methods plugin, as the validation_helpers plugin
    is instance level and not class level.
    Basically, this just copies the options given in each validations
    call and makes them available.  They are stored in a simple
    hash in the model class that you can get by calling
    validation_reflections.  The hash is keyed by column symbol, with
    values that are an array of two element arrays, where the first
    element is the validation type symbol and the second is the
    options hash.
Commits on Dec 8, 2010
Commits on Dec 7, 2010
  1. @netskin-ci
Commits on Dec 3, 2010
  1. When typecasting model column values, check the classes of the new an…

    …d existing values
    Previously, it only checked that the new value was different from
    the old value (with !=).  Now, it also checks if the classes
    are different.  If the new value == the old value and the classes
    are different, it will use the new value and consider the column changed.
Commits on Dec 2, 2010
  1. Rename COPYING file to MIT-LICENSE

    This makes it easier for the casual user to see which license
    Sequel uses without having to open the file.
  2. Update CHANGELOG

  3. Use methods instead of procs for type translation in the mysql adapter

    Similar idea with simpler execution than the changes to the mysql
    and postgres adapters. One small change is that instead of using
    Integer() and Float(), to_i and to_f are used.
    The SQLITE_TYPE_PROCS constant is being eliminated, as are the
  4. Use methods instead of procs for type translation in the mysql adapter

    Similar to changes just made to postgres adapter.  There is one
    small backward compatibility issue, in that we are removing the
    MYSQL_TYPE_PROCS and PG_TYPE_PROCS constants. As these constants
    were only used during initialization, it's unlikely anyone else
    was using them.
  5. Use methods instead of procs for type translation in the postgres ada…

    This adds a TYPE_TRANSLATOR object with real methods, and creates
    method objects from it, instead of the previous code which used
    lambda procs.  This code is up to 15% faster according to my
    testing, which makes sense because procs are slower than methods,
    since procs are closures and methods aren't.
    This also switches the use_iso_date_format setter for the Postgres
    module to change which method is used, instead of checking the
    value of use_iso_date_format inside the method.
  6. Mark the generic file type as pending for jdbc and postgres

    There isn't a 9.0 version of the jdbc-postgres gem, and when
    you run the 8.4 version against a 9.0 server, the test fails
    because it doesn't handle the bytea unescaping properly. You
    can set a function on the server to use the previous
    escaping to get around this, but it's best just to mark the
    test as pending until a 9.0 version of the jdbc-postgres
    gem is released.
Commits on Dec 1, 2010
  1. Bump version to 3.18.0

Commits on Nov 30, 2010
  1. Allow the user to control how the connection pool deals with attempts…

    … to access shards that aren't configured
    Connection pools now take a :servers_hash option that will be used
    as the hash for the servers.  The default for this option is, so that attempts to access unconfigured shards
    end up using the default shard (the same as Sequel's historical
    You can use something like to automatically
    use the :read_only shard.  If attempts to access an unconfigured
    shard should be considered an error, you can use a hash with
    a default proc that raises an error, allowing easier detection
    of this case.
  2. Typecast columns when creating model objects from JSON in the json_se…

    …rializer plugin
    This changes the logic to try the setter method before just modifying
    the values hash for the model's columns.  The values will still be
    modified for columns that don't have an available setter method, or
    where the setter method is restricted (e.g. primary key columns).
    Since the setter methods are being used for intake, the output
    code has been changed to call the getter methods instead of directly
    getting the value from the values hash.
Commits on Nov 23, 2010
  1. When parsing the schema for a model that uses an aliased table, use t…

    …he unaliased table name
    Before, it used the alias name, which could produce incorrect
  2. When emulating schema methods such as drop_column on SQLite, recreate…

    … applicable indexes on the recreated table
    I found this bug while working on the reversible migrations support.
    Basically, on SQLite, most schema methods that alter a table, other
    than adding a column, require dropping the table and recreating it.
    In order to support a method like drop_column, internally Sequel
    will drop the table and create a new table with the column dropped.
    Before, indexes weren't copied over from the old table to the new
    table.  Now, Sequel will parse the indexes from the old table,
    and recreate the indexes on the new table as long as all columns
    are still available.
Commits on Nov 22, 2010
  1. The instance_hooks plugin now only removes hook pairs that have been …

    …run successfully
    Previously, any successful save would remove all instance hooks.
    That usually didn't cause a problem, but if a user added a
    before_destroy hook to an object, saved the object, and then
    destroyed the object, the before_destroy hook would not be
    run, since it was removed when the object was saved.
    This commit changes things so that only related instance hooks
    are removed.  This is simplest and I think the most logical
  2. Update CHANGELOG

Something went wrong with that request. Please try again.