Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
This comparison is big! We’re only showing the most recent 250 commits
Commits on Feb 14, 2011
@postmodern postmodern Removed an unncessary local variable assignment. 1153df2
@postmodern postmodern Check the return value of calloc. 1f6f373
@postmodern postmodern Always multiple the length by the sizeof the underlying type, when ca…
…lling memcpy.
@postmodern postmodern Check the return value of calloc. a18b07d
@postmodern postmodern Remove needless return from assert_file_exists. 0a1b15a
@postmodern postmodern Apply C99 style to do_sqlite3_extension.c. 37a4ad4
@postmodern postmodern sqlite3_malloc may return NULL, check it's return value. 4dac3d3
@postmodern postmodern Default all pointers, that are set by other functions, to NULL.
* This will aide debuggers in determining when a pointer is set.
@postmodern postmodern Removed the DRIVER_CLASS macro, by inlining calls to rb_define_class_…
@postmodern postmodern Added a protective #ifndef check for _DO_COMMON_H_. 7611e04
@postmodern postmodern Move the errcodes struct into common.h and added do_define_errors.
* Also added the ERRCODE macro to DRY up definitions of errcodes entries
  in error.h files.
@postmodern postmodern Removed the DRIVER_CLASS macro from do_sqlite3.
* Inline the calls to rb_define_class_under.
@postmodern postmodern Make sure the errors for do_sqlite3 are registered. d36fd53
@postmodern postmodern Added the do_lookup_error static inlined function, to DRY up raise_er…
@postmodern postmodern Further DRYed up raise_error() by adding do_raise_error(). a642eaa
@postmodern postmodern Combined do_lookup_error with do_raise_error, and made it extern. c9512f2
@postmodern postmodern Collect common typecasting logic into do_typecast.
* This DRYs up do_mysql and do_postgres typecast functions.
* However, the typecast function in do_sqlite3 was too adapter specific.
Commits on Feb 16, 2011
@jpr5 jpr5 Revert "Replaced DO_STR_NEW and DO_STR_NEW2 macros with static inline…
… functions."

This reverts commit 2c5c5e1.


    Had to extricate these changes from others that overlaid the same code
    (e.g. errors struct, do_typecast, etc).


    Also updates common.c for do_typecast().
@jpr5 jpr5 No need to call strlen() if we're testing the string for being empty. 6074266
@jpr5 jpr5 Rename common files to match do_ prefix convention, and regen gemspecs. 4dba70e
@jpr5 jpr5 Fix a dangling common.h -> do_common.h reference. 2d3783e
Commits on Feb 21, 2011
@jpr5 jpr5 Remove another double-release and ensure connections are always relea…
@jpr5 jpr5 Fix more Connection Pool leaks in tests.
Building on Dirkjan's d19180f, this solves a few more connection pool leaks by
ensuring that all `before'/`after's that acquire/release from the pool are
inside `describe' blocks (they shouldn't be immediately inside `shared' blocks).

Currently triggering via fails on a Linux build box during the "parallel query"
spec, which launches a 4 threads that use SQL to sleep 1, and expects them all
to finish within 2 seconds.

The few of us testing haven't seen this yet probably due to the subtle
Dir[**/spec_*.rb] path-glob-order-relies-on-inode-order problem: depending on
the order the spec files are run, the "parallel query" spec will either come
earlier or later, and the earlier it is, the less likely it is to trigger (being
the largest one-time consumer of the 8 maximum allowed pooled connections).
Commits on Feb 25, 2011
@myabc myabc [do_oracle] Cleanup unused import
Signed-off-by: Alex Coles <>
@myabc myabc [all] Remove Gemfile.lock
* Keeping Gemfile.lock in the repository is only best practice for
  applications and *not* libraries.
* See also dm-core commit # 4386ff9.

Signed-off-by: Alex Coles <>
@dbussink dbussink Update rake-compiler task to not run on jruby ed1ceef
Commits on Feb 27, 2011
@dbussink dbussink Add additional safety checks and throw proper error when allocation f…
@dbussink dbussink Use property entry for shared libraries on OS X 6c0fe15
Commits on Feb 28, 2011
@jpr5 jpr5 Give failures to connect one last shot with UTF-8 encoding.
Previously we were more selective about when we would attempt this; bad
encodings were indicated through text inside the exception text.  However this
seems to have changed lately, and failures to connect are surfaced without much
more detail about the underlying why.

So we just try once more with UTF-8 encoding (default) no matter what.  This is
what the do_{adapter} specs suggest is the intended behaviour anyway.  If the
connection failed for a reason other than encoding, then it'll fail again and
the user will end up with the same error anyway.
@jpr5 jpr5 Merge remote-tracking branch 'upstream/master' into upstream_master 30cc846
@myabc myabc Revert "[all multi] Downgrade rake-compiler to fix JRuby compile"
This reverts commit 766d7a0.


Commits on Mar 07, 2011
@myabc myabc [do_oracle] Fix uninitialized constant ConnectionError
* Raise LoadError when JDBC drivers not found, as it seems more

Signed-off-by: Alex Coles <>
Commits on Mar 19, 2011
@myabc myabc [do_jdbc] Fix for JRuby 1.6.0RC2 in 1.9 mode
Signed-off-by: Alex Coles <>
Commits on Mar 24, 2011
@mkristian mkristian switch to latest jruby-1.6.0 0074e61
@mkristian mkristian fixed title ebfcac4
@mkristian mkristian use JRUBY_VERSION constant to know whether jruby is used and fixed JN…
…DI spec
@mkristian mkristian obey string encoding when converting result values to ruby 78b23b4
@mkristian mkristian workaround a bug in jruby in 1.9 mode 711a63f
Commits on Mar 25, 2011
@mkristian mkristian Revert "workaround a bug in jruby in 1.9 mode"
This reverts commit 711a63f.
@mkristian mkristian use the ruby-1.9 aware newUnicodeString method whenever a new RubyStr…
…ing is created
@myabc myabc [data_objects] Move back to RSpec from Bacon
* data_objects specs only (not shared specs).

* Bacon is an excellent, compact and understandable testing framework
  which I hold in the highest regard. But the reasons for using Bacon
  no longer as valid as they were almost 18 months ago – namely that
  RSpec would not run on rbx at time:

  Bacon Pros:
  - faster (at least it used to be, haven't benchmarked against RSpec 2)
  - more hackable
  - will run on more alternative implementations (unsure if RSpec will
    now run on MacRuby, for example)

  RSpec Pros:
  - ubquity: we use it elsewhere in DataMapper
  - API niceties and more syntatical sugar

This (mostly) reverts commit 355b302.

Signed-off-by: Alex Coles <>
Commits on Mar 29, 2011
@myabc myabc [all] Move back to RSpec from Bacon
* See previous commit # 09effb7 for explanation.

* An initial revert of the port to Bacon, rebasing for changes since
  commit # 9d9d4cc, along with some minor cleanup and necessary changes
  for RSpec 2.0.
* This commit doesn't attempt to exploit the optimal, most idiomatic
  RSpec 2.0 usage, but hopefully lays the groundwork for further
  improvement to specs.

This (mostly) reverts commit 9d9d4cc.

Signed-off-by: Alex Coles <>
@myabc myabc [do_postgres] Fix regression in Result / RETURNING specs
Signed-off-by: Alex Coles <>
@myabc myabc [all java] Mark JDBC URI specs as temp. pending
* Our JDBC and JNDI URI handling is currently horribly broken, and
  awaiting a refactor of all URI handling code, we shoudln't even
  pretend to support these types of URIs.

Signed-off-by: Alex Coles <>
Commits on Apr 01, 2011
@myabc myabc Update .gitignore for Eclipse project files
* Begin restructuring .gitignore file.

Signed-off-by: Alex Coles <>
@myabc myabc Cleanup whitespace
Signed-off-by: Alex Coles <>
@myabc myabc Revert "[do_jdbc] Added dynamic proxy for various classes"
* While proxing provides potential for instrumentation, for the
  time-being its not something we're using and adds another layer of
  complexity to the code-base (which if anything we should working on

This reverts commit 82644ec.



Signed-off-by: Alex Coles <>
@myabc myabc [do_jdbc] Fix Reader#fields inconsistency w/ column aliases
* Previously C drivers were respecting aliases, whereas Java drivers
  were not, by virtue of our use of ResultSetMetaData#getColumnName
  rather than ResultSetMetaData#getColumnLabel.

* This didn't become apparent because MySQL's Connector/J 5.0.x did
  not respect the JDBC Spec and followed aliases when
  ResultSetMetaData#getColumnLabel was invoked.

  This only became apparanet when we upgraded our versions of MySQL
  Connector/J to 5.1.x and found that dm-migrations broke. This
  necessitated a workaround – see dm-migrations commit # bd32f73:


* This commit should obviate need for this workaround.

* This commit also adds explicit specs for MySQL's database metadata
  SQL queries, to avoid future regressions.

Signed-off-by: Alex Coles <>
Commits on Apr 02, 2011
@dbussink dbussink Remove not working metrics stuff 9f66eb7
@myabc myabc Update copyright dates
Signed-off-by: Alex Coles <>
@dbussink dbussink Fix subsecond Time handling c3d79f5
@dbussink dbussink Use proper types and add additional safety check 8ed3d32
@dbussink dbussink Add define for Rubinius, because we're a nicely behaving extension
This can greatly improve performance in Rubinius. We don't change
a string buffer from Ruby nilly willy.
@myabc myabc [data_objects] First pass refactoring specs
* Take advantage of new syntax available in RSpec.

Signed-off-by: Alex Coles <>
Commits on Apr 03, 2011
@myabc myabc [data_objects] Further minor cleanup
* Workaround issue where 'its' is temporarily redefining subject,
  resulting in a NoMethodError where we want to close the subject
  (Connection) in an after block.

* Thanks to dkubb for the pointers.

Signed-off-by: Alex Coles <>
@myabc myabc [do_mysql] Properly close Reader in metadata specs
* See previous commit # cf6b18b for workaround explanation.

Signed-off-by: Alex Coles <>
Commits on Apr 06, 2011
@dbussink dbussink Don't disable header checks for windows 6e52820
Commits on Apr 07, 2011
@myabc myabc [all] Remove Jeweler, use Bundler gem tasks
* Jeweler doesn't really add much value – in fact working around issues
  with Jeweler's "opinionated" way of doing things is more trouble than
  it's worth. A particularly "wrong" behaviour IMO is that Jeweler now
  automatically pulls Gemfile-specified dependencies into a .gemspec –
  for us, we need this to work the other way around, with the .gemspec
  being canonical and Gemfile allowing specific dependencies to be over-
  ridden for certain platforms or environments.

* Use Bundler for everything: at least for the time-being.

* Building different gems for multiple platforms (binary and source) may
  mean Hoe + plugins + Isolate would be a better solution, but this
  would need further investigation (I am not sure how Isolate would
  handle other, dependent gems in the same source tree).

Signed-off-by: Alex Coles <>
Commits on Apr 09, 2011
@myabc myabc [data_objects] Remove Bundler refs from Rakefile
* Temporary fix for CI. For some reasons 'bundle exec rake spec' causing
  a Gem activation error.

Signed-off-by: Alex Coles <>
@myabc myabc [all][ci] Disable bundler with RSpec task
* Clutching at straws here, but attempting to solve Gem activation error.

Signed-off-by: Alex Coles <>
@myabc myabc [data_objects][ci] Fix regression from prev. commit
* Spec task for data_objects doesn't need compilation.

Signed-off-by: Alex Coles <>
Commits on Apr 10, 2011
@myabc myabc Revert "[data_objects] Remove Bundler refs from Rakefile"
This reverts commit e7afa91.
@dbussink dbussink Fix subsecond specs for 1.9.2 e2cc1c1
Commits on Apr 11, 2011
@myabc myabc [all] Remove Jeweler dep. from Gemfile
Signed-off-by: Alex Coles <>
@myabc myabc Reflect move to GH Issues
Signed-off-by: Alex Coles <>
@myabc myabc [all] Update README info on running specs
* Fix copy-paste error in data_objects README.

Signed-off-by: Alex Coles <>
@myabc myabc [do_jdbc] First step to *actual* support for JNDI, JBDC URLs
* Despite our claims to support JNDI and JDBC URLs, this support has in
  practice been broken. Its debatable whether JDBC URLs are true URIs,
  but nevertheless we want to support them.

* Modify our DataObjects::URI class a) to handle `subscheme` as a URI
  component (NOTE: we don't yet support multiple subschemes) and b) to
  distinguish between opaque and relative URIs.
* Start making specs for DataObjects::URI and Connection more robust.
* Rework JNDITestSetup code in JRuby.

Signed-off-by: Alex Coles <>
@myabc myabc [do_jdbc] Remove JNDITestSetup and JNDITestSetupTestCase
* Now implemented in JRuby: See previous commit # 133bb3b.
* Previous test case is better off as an integration test, run for each
  JRuby driver.

Signed-off-by: Alex Coles <>
@myabc myabc [data_objects] Fix pending spec for non-pooling connections
Signed-off-by: Alex Coles <>
@myabc myabc [do_jdbc] Fix compilation against JRuby 1.5.6
* Workaround RubyString#newString that only exists in JRuby 1.6.0.
* The original workaround (see commit # 343bf5c) should be removable
  once JRuby 1.6.1 is out.
  (See resolved issue

Signed-off-by: Alex Coles <>
Commits on Apr 12, 2011
@myabc myabc [data_objects] Fix shared Connection spec / sqlite3
* An invalid ::memory URL was being specified for specing disposal of connections.

Signed-off-by: Alex Coles <>
@myabc myabc [all multi] Remove note on JDBC URLs from README
* This issue should now be (mostly) resolved.

Signed-off-by: Alex Coles <>
@myabc myabc [all multi] Uncomment out JDBC URL specs
* Previous commit # b10e4c1 was premature.

Signed-off-by: Alex Coles <>
@myabc myabc [do_jdbc] Minor TestCase formatting fixes, cleanup
Signed-off-by: Alex Coles <>
@myabc myabc [do_oracle] Fix format of test JDBC Connection URL
Signed-off-by: Alex Coles <>
Commits on Apr 16, 2011
@dbussink dbussink Use quoting to make sure it round trips 9377ded
@dbussink dbussink Add sub second Time handling for JRuby bfb2969
@dbussink dbussink Try to set conforming strings on postgres / jruby if it's not set fd0765b
@myabc myabc [do_oracle] Fix RSpec API deprecation warnings
Signed-off-by: Alex Coles <>
Commits on Apr 18, 2011
@dbussink dbussink Don't explicitly use Bundler.setup, breaks cross compilation tasks etc. 42906a1
Commits on Apr 25, 2011
@dbussink dbussink Bump version numbers e5a0bfa
@dbussink dbussink Remove file from gemspec 0fc0716
@solnic solnic Bump do_jdbc dep to 0.10.4.rc1 966f8ce
@dbussink dbussink Update version for RC2 76dcf9e
@dbussink dbussink Remove incorrect build stuff c47bff6
@dbussink dbussink Fix accidentally pushed temporary change 3161028
Commits on Apr 27, 2011
@dbussink dbussink Update changelog's 09733d3
@dbussink dbussink Update version number in preparation for release 9fec264
Commits on May 01, 2011
@stepahn stepahn fix for missing time portion when parsing DateTime.to_s e5f4ef3
Commits on May 02, 2011
@myabc myabc Merge pull request #9 from stepahn/master.
reading DateTime with do_sqlite3
@dbussink dbussink Update to 0.10.5 dc31490
Commits on May 22, 2011
@dbussink dbussink Use a namespace prefix for all C level stuff
I suspect this fixes the weird issues with having multiple
drivers loaded. It fixes it for me on a VM that I used to
reproduce the issue. In any case is it good C style to use
a prefix so stuff won't collide with other stuff.

Fixes #10, #11
@dbussink dbussink Update to version 0.10.6 0d0508f
Commits on Jun 23, 2011
@hryk hryk Make Command#debug to call DataObject::Connection#log. 35e2c0d
@hryk hryk fixed errors. b668b2d
@myabc myabc Merge pull request #12 from hryk/master
do_jdbc: Change DataObject::Command#debug to call DataObject::Connection#log
Commits on Jul 27, 2011
@dbussink dbussink Prepare some setup so it can run with travis-ci ff554b8
@dbussink dbussink Update Gemfile for travis-ci a05799e
@dbussink dbussink Add rake-compiler dependency to Gemfile 4b6998a
@dbussink dbussink Create databases in travis-ci run a72499c
@dbussink dbussink Fix do_sqlite3 Rakefile bfb1203
@dbussink dbussink Debugging for travis-ci 5bade0a
@dbussink dbussink Use be_within matching for subsecond Time match 6e92500
@dbussink dbussink Add travis rvm config 49d0be7
@dbussink dbussink Compile do_jdbc first 5dd79aa
Commits on Aug 06, 2011
@dbussink dbussink Fix build issues on travis-ci 35c0fe2
Commits on Aug 14, 2011
Darío Javier Cravero You can install ruby-odbc from rubygems now :) 857d07d
Commits on Aug 31, 2011
@dbussink dbussink Fix DO on 1.9.3 and add 1.9.3 to Travis d7cb262
Commits on Oct 13, 2011
@dbussink dbussink Updated changelogs for DO 0.10.7 0935e13
@dbussink dbussink Explicitly require package task c2f7467
@dbussink dbussink Update version numbers to 0.10.7 0ddc18e
Commits on Nov 09, 2011
@dbussink dbussink Don't use specialized code for creating Date / DateTime's
This code is pretty fragile and breaks if you for example
use something like home_run in certain edge cases. This
is a performance optimization in the first place and if
people want / need this optimization they can either use
something like home_run to replace Date with a faster version
or upgrade to 1.9.3 which has a faster Date anyway.
@dbussink dbussink Remove extension loading from the wrong place and make it optional
We need to check whether extension loading is actually available
since people might have versions without it, such as the default
version that ships with OS X Lion.
@dbussink dbussink Add spec for reading exotic dates
This spec was broken with the old Date code handling for
versions < 1.9.3. Since that code has been removed this now
passes for all versions.
@dbussink dbussink skip_bundler is deprecated so don't use it b95ff5c
@dbussink dbussink Simplify create Date objects for JRuby
This also fixes the new spec for exotic dates on PostgreSQL
@dbussink dbussink Fix Date handling for sqlite3 on JRuby f12e2d8
Commits on Dec 28, 2011
@myabc myabc Merge pull request #13 from dariocravero/patch-1
You can install ruby-odbc from rubygems now :)
Commits on Feb 10, 2012
@dbussink dbussink Cleanup do_oracle so it works with 1.9.3 593b9a3
@dbussink dbussink Bump version number to 0.10.8 ed52ca1
@dbussink dbussink Fix crash when reading a reader twice
Also make error message consistent across adapters
@dbussink dbussink Don't display connection password on Connection#to_s
Fixes #18
@dbussink dbussink Properly fix closed reader issue with sqlite3 6e96dbe
@dbussink dbussink Update changelogs for 0.10.8 a2e2338
@dbussink dbussink New travis setup for 1.8 and 1.9 modes of Rubinius and JRuby 5e0c349
@dbussink dbussink Longer timeout for checking scavenger status 9cc1d27
Commits on Feb 20, 2012
@abevoelker abevoelker Fix spec_helper scoping in derby, h2, hsqldb be2f475
Commits on Feb 21, 2012
@mkristian mkristian Merge pull request #26 from abevoelker/fix-spec-helpers
Fix spec_helper scoping in derby, h2, hsqldb
Commits on May 08, 2012
@bbrowning bbrowning Add support for the upcoming JRuby 1.7
Two things have changed that impact DataObjects since JRuby 1.6:

1) Java exceptions no longer inherit from Ruby's

Because of this, the rescue clauses for loading the JDBC drivers all
now handle a java.lang.ClassNotFoundException in addition to

2) org.jruby.RubyBigDecimal was moved to

To keep from doing any runtime Java Reflection,
AbstractDriverDefinition and Sqlite3DriverDefinition were modified to
never reference RubyBigDecimal directly and instead take advantage of
JRuby numeric coercion to get java.math.BigDecimal values from
RubyBigDecimals and instantiate RubyBigDecimals via String values
inside the Ruby runtime instead of direct instantiation.

All specs were run and pass for do_derby, do_h2, do_hsqldb, and
do_sqlite3 which gives me confidence in the BigDecimal change.

For all other drivers, connection_spec was run to verify it at least
gets past the java.lang.ClassNotFoundException which was being thrown
as soon as the driver was required under JRuby 1.7.
Commits on May 10, 2012
@jwkoelewijn jwkoelewijn Fixed problem with Postgres 9.1 Writeable CTE's
Problem solved by rewriting code that checked whether the
query should be executed using PreparedStatement#executeQuery() or
using PreparedStatement#executeUpdate().
Original code checked for the existence of the word 'RETURNING',
where this is perfectly possible in Postgres 9.1, where a writable
CTE can be created with the word RETURNING in it, while not actually
returning any values (i.e. #executeQuery() should have been called)

Fix is to use the PreparedStatement#execute(), which returns a
boolean that indicates whether a result was returned, or that
existing rows were affected. Based on the value of this boolean
either a ResultSet is requested or the number of affected rows
is retrieved.
@dbussink dbussink Merge pull request #31 from jwkoelewijn/fix_writeable_ctes
Fixed problem with Postgres 9.1 Writeable CTE's
@bbrowning bbrowning Only rescue ClassNotFoundExceptions when using JDBC drivers 3859542
Commits on May 11, 2012
@jwkoelewijn jwkoelewijn Changed string casting spec
Changed spec regarding reader casting to String, was testing it based on
Float values, which is inherently imprecise, but acceptable behaviour
(JDBC already returns imprecise value), changed it to test on
@dbussink dbussink Merge pull request #32 from jwkoelewijn/fix_string_cast_spec
Changed string casting spec
@dbussink dbussink Merge pull request #30 from bbrowning/jruby-head
Add support for the upcoming JRuby 1.7
Commits on Jun 06, 2012
@abevoelker abevoelker Add Progress OpenEdge database adapter 94c8b0c
Commits on Jul 12, 2012
@cbandy cbandy Support bigint auto_increment columns
mysql_insert_id() returns an unsigned 64-bit integer, but INT2NUM does
not handle these correctly.
@cbandy cbandy Test insert_id on bigint columns b667220
Commits on Jul 24, 2012
@abevoelker abevoelker Get all tests to pass b91d77d
Commits on Aug 02, 2012
@flavio flavio Fix segmentation fault inside of do_oracle
A segmentation fault took place inside of the do_oracle adapter while converting
a `Time` object into a `DateTime` one. A long int value was given to the
`DateTime` constructor rather then the proper ruby data structure. This caused
the underlying ruby code to access a wrong portion of memory. The ruby vm
crashed inside of the `offset_to_sec` function (`ext/date/date_core.c:2304`).

This fix has been tested with ruby 1.9.3p194.
@dbussink dbussink Merge pull request #36 from openSUSE/fix_do_oracle_segfault
Fix segmentation fault inside of do_oracle
@dbussink dbussink Merge pull request #35 from cbandy/mysql_bigint_primary_key
MySQL bigint primary keys
Commits on Aug 09, 2012
@abevoelker abevoelker Clean up OpenEdge README and add it to main list of drivers 6a8083e
Commits on Aug 13, 2012
@dbussink dbussink Setup allowed failures for rbx 1.9 mode 9e85a02
@dbussink dbussink Remove specific Rake version dependency b90910d
@dbussink dbussink Fix segfaults in extension loading
Fixes #28
@dbussink dbussink Don't try to escape if no arguments are given
This is not really a proper solution for #29, but it's the easiest
workaround for now.

Fixes #29
@dbussink dbussink Use actually existing column names 918532c
@dbussink dbussink Bump version number for 0.10.9 723d15c
@dbussink dbussink Bump binary versions 788f9fa
@dbussink dbussink Update changelogs 16d1237
@dbussink dbussink Don't include do_jdbc in toplevel gemfile 2ee41d7
@dbussink dbussink Handle invalid MySQL dates
Older MySQL setups have the default setting where they accept invalid
dates and datetimes and just changes it to 0000-00-00. We treat them
here as nil, since that seems the most sensible thing to do.

Fixes #37
@dbussink dbussink Update changelog for MySQL 3dbad81
@dbussink dbussink Enable convert to null behavior for JRuby in specs 329b716
Commits on Sep 27, 2012
@dbussink dbussink Use non deprecated api b9be7c7
@dbussink dbussink Move spec into block for allowing empty database names 9e6119d
@dbussink dbussink Allow for empty database on MySQL and PostgreSQL
Fixes #15
@dbussink dbussink Update changelogs 012db27
@dbussink dbussink Merge branch 'abevoelker-add-openedge-adapter'
@dbussink dbussink Include do_openedge in release process and update version f889615
Commits on Oct 05, 2012
Patrick Cheng wrapped debug() with isDebug() so statementToString() is only called …
…when needed.
Commits on Oct 06, 2012
Patrick Cheng avoided dynamically creating class methods. Apparently, in JRuby at l…
…east, there is a lock on that.
Patrick Cheng Check if the Reader class is defined first, before defining it again.
Defining a class is pretty expensive. Only create if it's really needed.
Patrick Cheng only committed a partial change.
Now everything is there.
Commits on Oct 09, 2012
@bmatcuk bmatcuk Prevent Pooling from being included more than once 96a3629
Commits on Oct 11, 2012
@dbussink dbussink Merge pull request #43 from bmatcuk/master
Prevent "Pooling" from being included more than once.
@dbussink dbussink Merge pull request #42 from patcheng/only-create-reader-class-only
Check if the Reader class is defined first, before defining it again.
@dbussink dbussink Merge pull request #40 from patcheng/suppress-statementToString
wrapped debug() with isDebug() so statementToString() is only called when needed.
@dbussink dbussink Merge pull request #41 from patcheng/avoided-redefine-class
avoided dynamically creating class methods. Apparently, in JRuby at least, there is a lock on that.
@dbussink dbussink Implement reconnect logic like the C adapter for the java adapter
This mimics the behavior of the C code. If the connection hasn't been
explicitly closed by the user, we try to reconnect once if we find that
the connection is been closed, possibly for example due to a network
glitch or a server restart.

Fixes #21
@dbussink dbussink Add support for busy_timeout in C extension
This isn't added to the Java driver yet, since there isn't an easy to
put in there due to how the sqlite-jdbc driver is set up.

Fixes #24
@dbussink dbussink Update changelogs for 0.10.10 release 186a62e
@dbussink dbussink Add rake task for bumping version number 20272ca
@dbussink dbussink Increase version numbers b475c66
@dbussink dbussink Remove dates from gemspecs, only confuses Rubygems f72f507
Commits on Dec 28, 2012
@dbussink dbussink Namespace globals under DO_
Fixes #47
@dbussink dbussink Rubinius 1.9 mode works now too
Apparently something changed on Travis for JRuby, use allowed failures
for now.
Commits on Dec 29, 2012
@dbussink dbussink Update changelogs for new version 7a709eb
@dbussink dbussink Update version number to 0.10.11 7936d3a
Commits on Jan 20, 2013
@xertres xertres Only 4.1 and later supports setting sql_mode on a per session basis f9d03a6
Commits on Jan 21, 2013
@dbussink dbussink JDBC drivers need load_driver call for newer versions
Apparently the API here changed and load_driver needs to be called with
newer versions of jdbc-* gems. Only do this if the driver responds to
this method so it keeps working on older versions as well.
@dbussink dbussink jdbc-postgres doesn't allow for empty databases fd0a119
@dbussink dbussink sqlite3 needs special handling for JRuby 1ca67dd
@dbussink dbussink Newer versions of do_hsqldb need lengths for VARCHAR / VARBINARY 4f7f641
@dbussink dbussink JRuby is green again ec5901a
@dbussink dbussink Add Ruby 2.0 for testing ab308fb
@dbussink dbussink Ruby 2.0 seems to work fine c54d387
@dbussink dbussink Merge pull request #49 from xertres/sql_mode_problem
Only 4.1 and later supports setting sql_mode on a per session basis
@dbussink dbussink Add description for version bump task a2d1178
@dbussink dbussink Bump version to 0.10.12 9490d2d
@dbussink dbussink Update changelogs for 0.10.12 cab2e27
Commits on May 01, 2013
@parndt parndt Fixed do_postgres README indentation and added syntax highlighting c8e9afb
@dbussink dbussink Merge pull request #55 from parndt/patch-1
Fixed do_postgres README indentation and added syntax highlighting
@dbussink dbussink Update link for sqlite3 binary
Fixes #50
@dbussink dbussink Fix compilation for Ruby 2.0.0 for do_oracle
Fixes #52
Commits on May 22, 2013
@dbussink dbussink Fix segfault when running command through execute_reader
In this case we just return an empty reader, since that seems to be the
most sensible. Not all drivers support this distinction anyway, so
raising an exception here is hard. Also since the query does succeed,
the exception could be confusing as in that it actually executes while
that was not expected.

Related to #56
Commits on May 27, 2013
@dbussink dbussink Update Windows binary builds with Ruby 2.0 e63cd5d
@dbussink dbussink Bump version to 0.10.13 6f4b17f
@dbussink dbussink Update changelogs 191490c
Commits on Jun 12, 2013
@dbussink dbussink Fix Sqlite3 download and cross compile task
Fixes #57
Commits on Aug 28, 2013
@arthurpsmith arthurpsmith Set datestyle e52a60b
Commits on Feb 06, 2014
Todd Richmond Update transaction.rb
Do not lookup results of gethostname() in DNS as it often does not exist - either because it is a desktop or the external name is different
Commits on Feb 12, 2014
@sw17ch sw17ch Fix support for subsecond time on the Time object for sqlite3 52575b8
Commits on Feb 13, 2014
@dbussink dbussink Update Travis configuration 4f97ad4
@dbussink dbussink Use Rubygems over HTTPS fa4f664
@dbussink dbussink Remove problematic test because it tests Addressable, not DO b24a24a
@dbussink dbussink Disable test on JRuby 2bbdc30
@dbussink dbussink Allow JRuby for fail for now d530a52
@dbussink dbussink Merge pull request #62 from arthurpsmith/fix_datetype
Datestyle needs to be consistent for dataobjects date parsing
@dbussink dbussink Merge pull request #64 from todd-richmond/master
Update transaction.rb
@dbussink dbussink Merge pull request #65 from sw17ch/fix_sqlite_time_parsing
Fix support for subsecond time on the Time object for sqlite3
@dbussink dbussink Version bump to 0.10.14 ad2741f
Commits on May 01, 2014
@jeremyevans jeremyevans Fix use-after-free in do_postgres_raise_error
The char* returned by PQresultErrorField is freed by PQclear (see, so this is a use-after-free.  This causes a segfault on OpenBSD-current as free overwrites the memory with junk, both for security reasons and to detect programming errors like this.
Commits on May 12, 2014
@dbussink dbussink Install postgresql-server-dev for building do_postgres 7901632
@dbussink dbussink Workaround RVM / Rubinius issue 61abc19
@dbussink dbussink Merge pull request #68 from jeremyevans/patch-1
Fix use-after-free in do_postgres_raise_error
Commits on May 13, 2014
@dbussink dbussink Pass down Ruby string instead of C string
This fixes a use after free issue with the postgres driver.
Commits on Jan 21, 2015
@humanoid humanoid support for mysql utf8mb4 encoding 9046abd
Commits on Jan 24, 2015
@dxg dxg Ruby 2.2 fix for do_mysql & do_postgres. 4f5fbe8
@dbussink dbussink Merge pull request #76 from npeer2004/master
support for mysql utf8mb4 encoding
Commits on Jan 25, 2015
@dxg dxg Work around ruby 2.2 Time.parse change. 6dba8ca
@dbussink dbussink Merge pull request #77 from dxg/ruby2.2
Ruby 2.2 fix for do_mysql & do_postgres
Commits on Feb 15, 2015
@dbussink dbussink Add 2.1.5 and 2.2.0 to Windows cross compile builds 891850a
@dbussink dbussink Update to version 0.10.15 e192cf6
@dbussink dbussink Add changelog entries f2839f8
Commits on Apr 29, 2015
@alloy alloy [do_postgress] Get ext to build on Ruby 2.0.0 (stock OS X).
For some reason the c.h PG header is not being included when building on
older Rubies. Explicitely adding the base postgres.h header which
includes the c.h header fixes it.
Commits on Apr 30, 2015
@dbussink dbussink Merge pull request #82 from alloy/master
[do_postgress] Get ext to build on Ruby 2.0.0 (stock OS X).
Commits on May 17, 2015
@dbussink dbussink Bump to new version dae1bd5
@dbussink dbussink Update changelogs a0cb8bf
Commits on Jun 19, 2015
@Daniel-ltw Daniel-ltw The .utc_offset method returns the offset in seconds between the
timezone of the object and UTC.

The offset argument to is the offset from UTC as a fraction of a day.

Depending on the type of object provided, this offset will be adjusted
again,internally within the DateTime class:

If the offset is provided in seconds, and passed as a T_FIXNUM or
T_FLOAT type to, it will be multiplied by DAY_IN_SECONDS,
resulting in an unexpected timezone offset.

This change passes the timezone as a string to instead of
the gmt_offset.
Commits on Jan 24, 2016
@dbussink dbussink Allowed failures for 1.8.7 since it doesn't bundle anymore b27b3fa
@dbussink dbussink Add support for MySQL 5.7
This fails because the behavior for mysql_real_escape_string has changed
in 5.7. This is documented in in
the explicit Note there.

Because of this we need to switch to using
mysql_real_escape_string_quote on 5.7. Also adding a guard for the
failure code to return an exception that indicates people probably need
to recompile the extension agains a newer version.

Fixes #88
@dbussink dbussink Update to latest Rubies and add 2.3.0 fcc87e2
@dbussink dbussink Merge pull request #85 from Daniel-ltw/parse_date_time_timezone_fix
The .utc_offset method returns the offset in seconds between the
Dan Grunberg memory leak fix - rb_fd_term was missing 7a48d9f
@dbussink dbussink Add cleanup to error paths and remove comment 8dfbf4e
@dbussink dbussink Also fix memory leak for do_postgres driver similar to do_mysql
@dbussink dbussink Merge pull request #92 from datamapper/mysql-5-7
Add support for MySQL 5.7
@dbussink dbussink Fix warnings for gettimeofday 74b6c17
@dbussink dbussink Merge pull request #93 from datamapper/rb-fd-term-leak
Fix rb_init_fd leak for do_mysql and do_postgres
@dbussink dbussink Fix handling of UTF-8-MB4 with MySQL
This would not properly tag the returned string as UTF-8 since it would
not see UTF-8-MB4 as UTF-8 in Ruby land. Therefore it fell back to
binary instead of the proper encoding.

Fixes #89
@dbussink dbussink Merge pull request #94 from datamapper/mysql-utf8-mb4
Fix handling of UTF-8-MB4 with MySQL
@dbussink dbussink Fix compilation for JRuby 9000
@dbussink dbussink Guard failing specs on JRuby for now
@dbussink dbussink Fix h2 in memory URL
@dbussink dbussink Merge pull request #95 from datamapper/jruby-9000-compile
Fix compilation for JRuby 9000
@dbussink dbussink Only load sys/time.h on non Windows systems 5d82acb
@dbussink dbussink Add 2.3 to Windows builds e4a8ba8
@dbussink dbussink Update version and add changelogs 4f7335e