Derby doesn’t support casting integer to varchar, only integer to char, and char(254) appears to have the widest support (with char(255) failing). This does add a bunch of extra spaces at the end, but those will be trimmed elsewhere.
# File lib/sequel/adapters/jdbc/derby.rb, line 29 def cast_type_literal(type) (type == String) ? 'CHAR(254)' : super end
Derby uses the :derby database type.
# File lib/sequel/adapters/jdbc/derby.rb, line 34 def database_type :derby end
# File lib/sequel/adapters/jdbc/derby.rb, line 38 def freeze svn_version super end
Derby uses an IDENTITY sequence for autoincrementing columns.
# File lib/sequel/adapters/jdbc/derby.rb, line 44 def serial_primary_key_options {:primary_key => true, :type => :integer, :identity=>true, :start_with=>1} end
Derby supports transaction DDL statements.
# File lib/sequel/adapters/jdbc/derby.rb, line 58 def supports_transactional_ddl? true end
The SVN version of the database.
# File lib/sequel/adapters/jdbc/derby.rb, line 49 def svn_version @svn_version ||= begin v = synchronize{|c| c.get_meta_data.get_database_product_version} v =~ /\((\d+)\)\z/ $1.to_i end end