Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

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

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
...
Checking mergeability… Don't worry, you can still create the pull request.
Commits on Feb 10, 2012
@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
8a53915
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
StandardError.

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

2) org.jruby.RubyBigDecimal was moved to
org.jruby.ext.bigdecimal.RubyBigDecimal.

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.
3fb2883
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.
1a974de
@dbussink dbussink Merge pull request #31 from jwkoelewijn/fix_writeable_ctes
Fixed problem with Postgres 9.1 Writeable CTE's
246b665
@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
Integer
63ae1bd
@dbussink dbussink Merge pull request #32 from jwkoelewijn/fix_string_cast_spec
Changed string casting spec
b5ca85e
@dbussink dbussink Merge pull request #30 from bbrowning/jruby-head
Add support for the upcoming JRuby 1.7
bcfbdf4
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.
1a49010
@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.
8d4debd
@dbussink dbussink Merge pull request #36 from openSUSE/fix_do_oracle_segfault
Fix segmentation fault inside of do_oracle
564b24c
@dbussink dbussink Merge pull request #35 from cbandy/mysql_bigint_primary_key
MySQL bigint primary keys
f3eec33
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
9715f39
@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
2952d07
@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
bbcbeb5
@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
0677c2f
@dbussink dbussink Update changelogs 012db27
@dbussink dbussink Merge branch 'abevoelker-add-openedge-adapter'
Conflicts:
	data_objects/lib/data_objects/spec/shared/connection_spec.rb
55c3b84
@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.
47d8558
Commits on Oct 06, 2012
Patrick Cheng avoided dynamically creating class methods. Apparently, in JRuby at l…
…east, there is a lock on that.
3d0cd74
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.
6b4cf0f
Patrick Cheng only committed a partial change.
Now everything is there.
efd4095
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.
75bd01e
@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.
5afa62e
@dbussink dbussink Merge pull request #40 from patcheng/suppress-statementToString
wrapped debug() with isDebug() so statementToString() is only called when needed.
6c010d9
@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.
cf4a1a4
@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
cf7fee8
@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
e7d2a56
@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
0bff373
@dbussink dbussink Rubinius 1.9 mode works now too
Apparently something changed on Travis for JRuby, use allowed failures
for now.
c223a9f
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.
e120100
@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
da7fb05
@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
120ac5d
@dbussink dbussink Update link for sqlite3 binary
Fixes #50
3ec7cd1
@dbussink dbussink Fix compilation for Ruby 2.0.0 for do_oracle
Fixes #52
8a55ade
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
b7ba9a8
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
6d4236f
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
29d0c7a
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
50a6cd7
@dbussink dbussink Merge pull request #64 from todd-richmond/master
Update transaction.rb
6fe1b47
@dbussink dbussink Merge pull request #65 from sw17ch/fix_sqlite_time_parsing
Fix support for subsecond time on the Time object for sqlite3
6f72887
@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 http://www.postgresql.org/docs/9.3/static/libpq-exec.html), 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.
5cec3c5
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
99f11b8
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.
23cea14
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
a48a04d
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
67abb95
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.
16465d1
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).
d7c0628
Commits on May 17, 2015
@dbussink dbussink Bump to new version dae1bd5
@dbussink dbussink Update changelogs a0cb8bf