Repository URL to install this package:
|
Version:
2.2.2 ▾
|
upsert
/
CHANGELOG
|
|---|
2.2.1 / 2017-04-20
* Bug fixes
* Fix unique constraint detection on pg >9.5.5 (@pnomolos https://github.com/seamusabshere/upsert/pull/99)
* Fix Ruby 1.9 tests
2.2.0 / 2017-04-14
* Enhancements
* Use native "upsert" on Postgres 9.5+! (thanks to @pnomolos https://github.com/seamusabshere/upsert/pull/79)
* More modern CI tests
2.1.2 / 2016-02-25
* Enhancements
* Test on Ruby 2.3 - thanks @Ch4s3 https://github.com/seamusabshere/upsert/pull/70
* Bug fixes
* Stop using Thread.exclusive - thanks @hpetru https://github.com/seamusabshere/upsert/pull/67
2.1.1 / 2016-02-12
* Enhancements
* Assume function exists to avoid huge amounts of recreation
2.1.0 / 2015-03-13
* Bug fixes
* Thread safety with Sidekiq! thanks @evadne and @thbar ! https://github.com/seamusabshere/upsert/pull/47
* Known issues
* speed_spec fails against activerecord-import on mysql... need some advice on properly testing it
2.0.4 / 2015-01-27
* Bug fixes
* Support mysql returning column info as symbols - thanks @pnomolos
* Enhancements
* Travis and misc test fixes - thanks @raviolicode
* Backwards compat with 1.8 - thanks @raviolicode
2.0.3 / 2013-11-27
* Bug fixes
* Add parentheses to equality expressions
* Enhancements
* On Postgres, use (A = B OR (A IS NULL AND B IS NULL)) instead of A IS NOT DISTINCT FROM B because the latter does not use indexes
* pass :eager_nullify => false as the third argument to Upsert#row to disable clearing of null HStore keys
2.0.2 / 2013-11-06
* Bug fixes
* Properly check for NULL equality when creating the UPSERT functions - thanks @pnomolos - https://github.com/seamusabshere/upsert/issues/25
* When using Mysql2 client (MRI), don't pass timezone to DateTime columns - thanks @kjeremy! - https://github.com/seamusabshere/upsert/issues/24
2.0.1 / 2013-07-24
* Bug fixes
* Rookie mistake - gsub!'ed an input arg, sorry. Blew up on a frozen string, thank goodness.
2.0.0 / 2013-07-24
* Breaking changes
* For Postgres Hstore, null keys are deliberately deleted - so there's no way to set "foo" => NULL - "foo" will just get deleted as a key
* Name merge functions "upsert1_2_0" instead of "upsert_"
1.2.0 / 2013-04-04
* Breaking changes
* columns named "created_at" and "created_on" will only be set if it's a new row - thanks @derekharmel! https://github.com/seamusabshere/upsert/pull/15
* Enhancements
* Detect invalid columns passed in either selector or setter - inspired by @atandrau, thanks! https://github.com/seamusabshere/upsert/issues/18
* Bug fixes
* Always convert symbols to strings when used as bind vars - thanks @towerhe! - https://github.com/seamusabshere/upsert/pull/16
1.1.7 / 2013-01-15
* Enhancements
* :assume_function_exists option to avoid creating same merge function over and over
* Don't die on first occurrence of "tuple concurrently updated"
1.1.6 / 2012-12-20
* Bug fixes
* Require pg-hstore >=1.1.1 which doesn't escape single quotes and backslashes when output is going to be used in a bind variable (as it is here)
1.1.5 / 2012-12-10
* Bug fixes
* Properly cast "timestamp without time zone" in postgres - thanks @markmarijnissen! https://github.com/seamusabshere/upsert/issues/11
1.1.4 / 2012-12-06
* Enhancements
* Use latest pg-hstore gem with standardized namespace
1.1.3 / 2012-12-06
* Bug fix
* Don't die/fail trying to update an HStore column that has reverted to NULL.
1.1.2 / 2012-12-06
* Enhancements
* Support for PostgreSQL's HStore
1.1.1 / 2012-12-03
* Bug fixes
* Removed inadvertent dependency on ActiveSupport - thanks @thbar! https://github.com/seamusabshere/upsert/issues/10
1.1.0 / 2012-11-26
* Enhancements
* Works on JRuby using bare-metal JDBC!
* Simplified.
1.0.2 / 2012-11-12
* Bug fixes
* Fix filenames - they were updated on an apparently case-insensitive setup. Thanks @ihough! (https://github.com/seamusabshere/upsert/pull/8)
* Deliberately drop MySQL procedures before creating them. Also thanks to @ihough!
1.0.1 / 2012-11-07
* Bug fixes
* Fix incorrect gem description
1.0.0 / 2012-11-07
* Breaking changes (well, not really)
* Not using INSERT ... ON DUPLICATE KEY UPDATE for MySQL!
* Enhancements
* Replaced ON DUPLICATE KEY with a true merge function (procedure)
* Simplified code - buffering is no longer used anywhere
* Clarified documentation
* Bug fixes
* MySQL upserts won't fail if you have a multi-key selector and no multi-column UNIQUE index to cover them (https://github.com/seamusabshere/upsert/issues/6)
0.5.0 / 2012-09-21
* Breaking changes (well, not really)
* "document" (as in the second argument to #row) has been renamed to "setter"!
* Bug fixes
* If you say upsert({:name => 'Jerry', :color => 'red'}), make sure that it only affects rows really meeting those conditions
* Always sort selector and setter keys - i.e., column names - before doing anything with them
* Support PostgreSQL 9.1+
* Support MRI 1.8
* Enhancements
* Slightly faster benchmarks for SQlite3 and MySQL
* Slightly slower on PostgreSQL (probably because the merge function requires more arguments), but more accurate
* Slightly clearer code structure
* Use bind parameters instead of quoting for PostgreSQL and SQLite3.
* Provide Upsert.clear_database_functions(connection) (currently only for PostgreSQL)
* Don't subclass String for Upset::Binary... hopefully save some strcpy()s?
0.4.0 / 2012-09-04
* Bug fixes
* Don't raise TooBig - rely on Mysql2 to complain about oversized packets
* Enhancements
* Re-use PostgreSQL merge functions across connections, even outside of batch mode. Huzzah!
* For MySQL, increase speed for one-off upserts by not checking packet size
* Allow configuring Upsert.logger. Defaults to Rails.logger or Logger.new($stderr). If you set env var UPSERT_DEBUG=true then it will set log level to debug.
0.3.4 / 2012-07-03
* Bug fixes
* Allow upserting by auto-increment primary key (thanks @atandrau https://github.com/seamusabshere/upsert/issues/3)
* Enhancements
* Make setter an optional argument
0.3.3 / 2012-06-26
* Bug fixes
* Properly quote table names - don't assume that everybody has ANSI_QUOTES turned on in MySQL :)
0.3.2 / 2012-06-22
* Enhancements
* Make sure ::PGconn is recognized as ::PG::Connection (thanks @joevandyk https://github.com/seamusabshere/upsert/issues/2)
0.3.1 / 2012-06-21
* Bug fixes
* On PostgreSQL, stop nullifying columns that weren't even involved in the upsert
* On SQLite, properly join WHERE conditions with ' AND ' instead of ','
0.3.0 / 2012-06-21
* Enhancements
* Remove all the sampling - just keep a cumulative total of sql bytes as we build up an ON DUPLICATE KEY UPDATE query.
* Deprecate Upsert.stream in favor of Upsert.batch (but provide an alias for backwards compat)
0.2.2 / 2012-06-21
* Bug fixes
* Correct and simplify how sql length is calculated when batching MySQL upserts.
0.2.1 / 2012-06-21
* Enhancements
* Added support for Ruby 1.8.7