Permalink
Commits on Jun 6, 2018
  1. Bump version to 1.9.0

    jeremyevans committed Jun 6, 2018
  2. Return arrays of common data types as PGArray instances automatically…

    jeremyevans committed Jun 6, 2018
    … with much improved performance
    
    This modifies the array parser to accept an oid and dataset in
    addition to the conversion proc.  If the oid is set, this uses
    similar logic as the default type conversion code for converting
    each array element.
    
    The default type conversion code now recognizes arrays of common
    types and now calls the array parser directly with the scalar
    type oid set, so that the entire array can be parsed without
    creating a ruby string for it (though a ruby string is still
    created for the per-element buffer).
    
    This improves performance about 10% for string arrays, 3x for
    integer arrays, and 5-6x for timestamp arrays.
    
    Array types are now returned as PGArray instances, and sequel_pg
    now loads the pg_array extension file to support that.  However,
    the pg_array extension should still be loaded into the Database
    manually if you want to handle custom array types, arrays as
    bound variable arguments, and other more advanced features.
    
    This also exposes the SEQUEL_PG_VERSION_INTEGER to ruby, as
    Sequel may need to check this to determine the sequel_pg version
    to allow for version-specific behavior.
Commits on Jun 5, 2018
Commits on May 25, 2018
Commits on May 23, 2018
Commits on Dec 13, 2017
  1. Bump version to 1.8.1

    jeremyevans committed Dec 13, 2017
  2. Update README

    jeremyevans committed Dec 13, 2017
    Remove pg 0.14.1+ comment, now that 0.18+ is required.
    
    Remove mentioning of lack of Windows support in one place, since
    it is mentioned elsewhere.
    
    Fix use_iso_date_format example to work on Sequel 5.
Commits on Dec 8, 2017
  1. Fix issue when using Dataset#as_hash and Dataset#to_hash_groups with …

    jeremyevans committed Dec 8, 2017
    …the null_dataset extension
Commits on Oct 18, 2017
  1. Bump version to 1.8.0

    jeremyevans committed Oct 18, 2017
Commits on Oct 17, 2017
Commits on Oct 16, 2017
  1. Use rb_Rational2 to create a rational

    jeremyevans committed Oct 16, 2017
    Also, precalculate the Bignum object for use so ULL2NUM doesn't
    need to be called as much at runtime.
    
    While here, avoid use of rb_eval_string to get PG::Error class.
  2. Drop Sequel <4.34.0 support

    jeremyevans committed Oct 16, 2017
    Sequel 4.34.0 added the columns= method, which no longer needs to
    be checked.
  3. Drop pg <0.18.0 support

    jeremyevans committed Oct 16, 2017
  4. Drop ruby 1.8.7 support

    jeremyevans committed Oct 16, 2017
  5. Remove static-build from extconf

    jeremyevans committed Oct 16, 2017
    This was used for building the Windows gems, but that hasn't been
    supported for while.
    
    Remove the -ggdb from DEBUG while here.
Commits on Aug 25, 2017
  1. Bump version to 1.7.1

    jeremyevans committed Aug 25, 2017
Commits on Jul 15, 2017
  1. prevent premature GC of string buffer in parse_pg_array

    Eric Wong authored and jeremyevans committed Jul 14, 2017
    To ensure objects are properly marked, RB_GC_GUARD must be
    placed after the last use of pointers accessed from the
    object (in this case, the result of RSTRING_PTR).
    
    So, instead of passing the result of RSTRING_PTR to read_array,
    pass the String object itself and move the RB_GC_GUARD to
    the end of the read_array function.
    
    Warning: I've only compile-tested, not actually run since there's no
    tests bundled.
    
    Sidenote: I'm fairly sure the rest of the existing RB_GC_GUARD
    calls are unnecessary.
Commits on Jun 30, 2017
  1. Update CHANGELOG

    jeremyevans committed Jun 30, 2017
    Looks like I missed this before the release.
  2. Bump version to 1.7.0

    jeremyevans committed Jun 30, 2017
    This is a minor bump instead of a tiny bump because
    optimizing model loads is now turned on by default.
  3. Update README

    jeremyevans committed Jun 30, 2017
    Update numbers which hadn't been changed since the initial release
    when ruby 1.8.7 was used.  Recent ruby versions are much faster,
    particularly in regards to date/timestamp parsing, so sequel_pg
    doesn't make as big a difference as it once did.  However, it
    still makes things almost twice as fast.
    
    Also change the documentation to reflect that optimizing model
    loads is now done by default.
  4. Minor tweaks to gemspec

    jeremyevans committed Jun 30, 2017
  5. Make optimize_model_load check for overwritten Model.call, turn on by…

    jeremyevans committed Jun 30, 2017
    … default
    
    optimize_model_load can speed things up by about 10% for smaller
    models.  Since Model.call by default just allocates an instance,
    sets an instance variable, and returns, we can just check if it
    has been overridden in a subclass, and disable the optimization
    in that case.
    
    This deprecates the optimize_model_load Database and Dataset
    accessors.  It does add a with_optimize_model_load Dataset method,
    which can be used to explicitly disable the optimized model loading,
    though there should not be a reason to disable it outside of
    pathological cases.
    
    Additionally, only override each and add the private
    optimize_model_load? setting if Sequel::Model has been loaded.
Commits on Jun 13, 2017
  1. Override Dataset#as_hash instead of #to_hash if #as_hash is defined

    jeremyevans committed Jun 13, 2017
    Sequel 4.48.0 will rename Dataset#to_hash to #as_hash, with a
    to_hash alias that calls as_hash.  This will allow both
    Dataset#to_hash and #as_hash to use the optimized version
    on Sequel 4.48.0+.  For backwards compatibility, if as_hash
    isn't defined, alias as_hash to to_hash and then remove as_hash.
  2. Use PG::Error instead of PGError if available, avoiding deprecation w…

    jeremyevans committed Jun 13, 2017
    …arning on pg 0.21.0+, bump version to 1.6.19
Commits on Apr 27, 2017
  1. Bump version to 1.6.18

    jeremyevans committed Apr 27, 2017
  2. Remove Rakefile.cross

    jeremyevans committed Apr 27, 2017
    sequel_pg hasn't been supported on Windows in a long time, there
    doesn't seem to be a reason to keep this.
  3. Bump copyright year

    jeremyevans committed Apr 27, 2017
Commits on Apr 26, 2017
  1. Support logging of connection information in single row mode

    jeremyevans committed Apr 26, 2017
    log_yield has been deprecated in Sequel, and will be removed from
    Sequel 5.  Switch to log_connection_yield, which allows the
    logging of connection info with queries.
    
    Still support previous versions of Sequel by using log_yield
    if log_connection_yield is not available.
Commits on Feb 6, 2017