Search code examples
ruby-on-railsjrubyderbyjrubyonrailsactiverecord-jdbc

Active Record JDBC Derby Adapter interpreting smallint columns as boolean


I am using the activerecord-jdbcderby-adapter gem with jruby 1.7.9 and rails 4.0.2 with a legacy Derby database.

My Derby tables have several smallint fields.

These are all being interpreted by the adapter as boolean (i.e. the int value is lost).

Is there a workaround for this (other than changing the column types)?


Solution

  • currently not (no-one needed it so far) but it can be done with a few copy-pastes e.g. it's happening for the Firebird adapter (and a few others as well) :

    https://github.com/jruby/activerecord-jdbc-adapter/blob/master/lib/arjdbc/firebird/adapter.rb#L43

    so something like that needs to be added somewhere here :

    https://github.com/jruby/activerecord-jdbc-adapter/blob/master/lib/arjdbc/derby/adapter.rb#L56

    looking for a PR :)