activerecord-jdbc-adapter 0.7.1 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/History.txt CHANGED
@@ -1,3 +1,20 @@
1
+ == 0.7.2
2
+
3
+ - JRUBY-1905: add_column for derby, hsqldb, and postgresql (Stephen Bannasch)
4
+ - Fix db:create for JDBC
5
+ - Support Rails 2 with the old "require 'jdbc_adapter'" approach
6
+ - JRUBY-1966: Instead of searching for just tables, search for views and tables.
7
+ - JRUBY-1583: DB2 numeric quoting (Ryan Shillington)
8
+ - JRUBY-1634: Oracle DATE type mapping (Daniel Wintschel)
9
+ - JRUBY-1543: rename_column issue with more recent MySQL drivers (Oliver Schmelzle)
10
+ - Rubyforge #15074: ConnectionAdapters::JdbcAdapter.indexes is missing name and
11
+ schema_name parameters in the method signature (Igor Minar)
12
+ - Rubyforge #13558: definition for the indexes method (T Meyarivan)
13
+ - JRUBY-2051: handle schemaname and tablename more correctly for columns
14
+ - JRUBY-2102: Postgres Adapter cannot handle datetime type (Rainer Hahnekamp)
15
+ - JRUBY-2018: Oracle behind ActiveRecord-JDBC fails with "Invalid column index" (K Venkatasubramaniyan)
16
+ - JRUBY-2012: jdbc_mysql structure dump fails for mysql views (Tyler Jennings)
17
+
1
18
  == 0.7.1
2
19
 
3
20
  - Add adapter and driver for H2 courtesy of Caleb Land
data/Manifest.txt CHANGED
@@ -28,6 +28,7 @@ lib/jdbc_adapter.rb
28
28
  lib/jdbc_adapter/jdbc_adapter_internal.jar
29
29
  test/activerecord/connection_adapters/type_conversion_test.rb
30
30
  test/activerecord/connections/native_jdbc_mysql/connection.rb
31
+ test/db/db2.rb
31
32
  test/db/derby.rb
32
33
  test/db/h2.rb
33
34
  test/db/hsqldb.rb
@@ -35,7 +36,9 @@ test/db/jdbc.rb
35
36
  test/db/jndi_config.rb
36
37
  test/db/logger.rb
37
38
  test/db/mysql.rb
39
+ test/db/oracle.rb
38
40
  test/db/postgres.rb
41
+ test/db2_simple_test.rb
39
42
  test/derby_multibyte_test.rb
40
43
  test/derby_simple_test.rb
41
44
  test/generic_jdbc_connection_test.rb
@@ -53,11 +56,13 @@ test/minirunit/testLoadActiveRecord.rb
53
56
  test/minirunit/testMysql.rb
54
57
  test/minirunit/testRawSelect.rb
55
58
  test/minirunit.rb
59
+ test/models/add_not_null_column_to_table.rb
56
60
  test/models/auto_id.rb
57
61
  test/models/data_types.rb
58
62
  test/models/entry.rb
59
63
  test/mysql_multibyte_test.rb
60
64
  test/mysql_simple_test.rb
65
+ test/oracle_simple_test.rb
61
66
  test/postgres_simple_test.rb
62
67
  test/simple.rb
63
68
  src/java/jdbc_adapter/JdbcAdapterInternalService.java
data/Rakefile CHANGED
@@ -5,9 +5,8 @@ task :default => [:java_compile, :test]
5
5
 
6
6
  def java_classpath_arg # myriad of ways to discover JRuby classpath
7
7
  begin
8
- require 'java' # already running in a JRuby JVM
9
8
  jruby_cpath = Java::java.lang.System.getProperty('java.class.path')
10
- rescue LoadError
9
+ rescue => e
11
10
  end
12
11
  unless jruby_cpath
13
12
  jruby_cpath = ENV['JRUBY_PARENT_CLASSPATH'] || ENV['JRUBY_HOME'] &&
@@ -74,6 +73,19 @@ end
74
73
  task :test_postgresql => [:test_postgres]
75
74
  task :test_pgsql => [:test_postgres]
76
75
 
76
+ # Ensure oracle driver is on your classpath before launching rake
77
+ Rake::TestTask.new(:test_oracle) do |t|
78
+ t.test_files = FileList['test/oracle_simple_test.rb']
79
+ t.libs << 'test'
80
+ end
81
+
82
+ # Ensure DB2 driver is on your classpath before launching rake
83
+ Rake::TestTask.new(:test_db2) do |t|
84
+ t.test_files = FileList['test/db2_simple_test.rb']
85
+ t.libs << 'test'
86
+ end
87
+
88
+
77
89
  MANIFEST = FileList["History.txt", "Manifest.txt", "README.txt",
78
90
  "Rakefile", "LICENSE", "lib/**/*.rb", "lib/jdbc_adapter/jdbc_adapter_internal.jar", "test/**/*.rb",
79
91
  "lib/**/*.rake", "src/**/*.java"]
@@ -61,10 +61,10 @@ module ActiveRecord
61
61
  extend JdbcSpec::ActiveRecordExtensions
62
62
 
63
63
  alias :attributes_with_quotes_pre_oracle :attributes_with_quotes
64
- def attributes_with_quotes(*args) #:nodoc:
65
- aq = attributes_with_quotes_pre_oracle(*args)
64
+ def attributes_with_quotes(include_primary_key = true, *args) #:nodoc:
65
+ aq = attributes_with_quotes_pre_oracle(include_primary_key, *args)
66
66
  if connection.class == ConnectionAdapters::JdbcAdapter && (connection.is_a?(JdbcSpec::Oracle) || connection.is_a?(JdbcSpec::Mimer))
67
- aq[self.class.primary_key] = "?" if args.first && aq[self.class.primary_key].nil?
67
+ aq[self.class.primary_key] = "?" if include_primary_key && aq[self.class.primary_key].nil?
68
68
  end
69
69
  aq
70
70
  end
@@ -201,6 +201,10 @@ module ActiveRecord
201
201
  types = @types
202
202
  procs.each do |p|
203
203
  new_types = types.select(&p)
204
+ new_types = new_types.inject([]) do |typs,t|
205
+ typs << t unless typs.detect {|el| el['type_name'] == t['type_name']}
206
+ typs
207
+ end
204
208
  return new_types.first if new_types.length == 1
205
209
  types = new_types if new_types.length > 0
206
210
  end
@@ -536,8 +540,8 @@ module ActiveRecord
536
540
  @connection.tables
537
541
  end
538
542
 
539
- def indexes(table_name)
540
- @connection.indexes(table_name)
543
+ def indexes(table_name, name = nil, schema_name = nil)
544
+ @connection.indexes(table_name, name, schema_name)
541
545
  end
542
546
 
543
547
  def begin_db_transaction
data/lib/jdbc_adapter.rb CHANGED
@@ -18,6 +18,9 @@ if RUBY_PLATFORM =~ /java/
18
18
  if ActiveRecord::VERSION::MAJOR == 1 && ActiveRecord::VERSION::MINOR == 14
19
19
  require 'active_record/connection_adapters/jdbc_adapter'
20
20
  end
21
+ else
22
+ require 'active_record'
23
+ require 'active_record/connection_adapters/jdbc_adapter'
21
24
  end
22
25
  else
23
26
  warn "ActiveRecord-JDBC is for use with JRuby only"
@@ -75,7 +75,7 @@ module JdbcSpec
75
75
  if column && column.type == :primary_key
76
76
  return value.to_s
77
77
  end
78
- if column && column.type == :decimal && value
78
+ if column && (column.type == :decimal || column.type == :integer) && value
79
79
  return value.to_s
80
80
  end
81
81
  case value
@@ -195,7 +195,21 @@ module ::JdbcSpec
195
195
  end
196
196
  ""
197
197
  end
198
-
198
+
199
+
200
+ def add_column(table_name, column_name, type, options = {})
201
+ if option_not_null = options[:null] == false
202
+ option_not_null = options.delete(:null)
203
+ end
204
+ add_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ADD #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}"
205
+ add_column_options!(add_column_sql, options)
206
+ execute(add_column_sql)
207
+ if option_not_null
208
+ alter_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ALTER #{quote_column_name(column_name)} NOT NULL"
209
+ end
210
+ end
211
+
212
+ # I don't think this method is ever called ??? (stepheneb)
199
213
  def create_column(name, refid, colno)
200
214
  stmt = COLUMN_TYPE_STMT % [refid, strip_quotes(name)]
201
215
  coldef = ""
@@ -117,6 +117,18 @@ module ::JdbcSpec
117
117
  '0'
118
118
  end
119
119
 
120
+ def add_column(table_name, column_name, type, options = {})
121
+ if option_not_null = options[:null] == false
122
+ option_not_null = options.delete(:null)
123
+ end
124
+ add_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ADD #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}"
125
+ add_column_options!(add_column_sql, options)
126
+ execute(add_column_sql)
127
+ if option_not_null
128
+ alter_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ALTER #{quote_column_name(column_name)} NOT NULL"
129
+ end
130
+ end
131
+
120
132
  def change_column(table_name, column_name, type, options = {}) #:nodoc:
121
133
  execute "ALTER TABLE #{table_name} ALTER COLUMN #{column_name} #{type_to_sql(type, options[:limit])}"
122
134
  end
@@ -1,6 +1,9 @@
1
1
  require 'active_record/connection_adapters/abstract/schema_definitions'
2
2
 
3
3
  module ::JdbcSpec
4
+ # Don't need to load native mysql adapter
5
+ $LOADED_FEATURES << "active_record/connection_adapters/mysql_adapter.rb"
6
+
4
7
  module ActiveRecordExtensions
5
8
  def mysql_connection(config)
6
9
  if config[:socket]
@@ -128,7 +131,14 @@ module ::JdbcSpec
128
131
 
129
132
  select_all(sql).inject("") do |structure, table|
130
133
  table.delete('Table_type')
131
- structure += select_one("SHOW CREATE TABLE #{quote_table_name(table.to_a.first.last)}")["Create Table"] + ";\n\n"
134
+
135
+ hash = select_one("SHOW CREATE TABLE #{quote_table_name(table.to_a.first.last)}")
136
+
137
+ if(table = hash["Create Table"])
138
+ structure += table + ";\n\n"
139
+ elsif(view = hash["Create View"])
140
+ structure += view + ";\n\n"
141
+ end
132
142
  end
133
143
  end
134
144
 
@@ -178,7 +188,8 @@ module ::JdbcSpec
178
188
  end
179
189
 
180
190
  def rename_column(table_name, column_name, new_column_name) #:nodoc:
181
- current_type = select_one("SHOW COLUMNS FROM #{quote_table_name(table_name)} LIKE '#{column_name}'")["Type"]
191
+ cols = select_one("SHOW COLUMNS FROM #{quote_table_name(table_name)} LIKE '#{column_name}'")
192
+ current_type = cols["Type"] || cols["COLUMN_TYPE"]
182
193
  execute "ALTER TABLE #{quote_table_name(table_name)} CHANGE #{quote_table_name(column_name)} #{quote_column_name(new_column_name)} #{current_type}"
183
194
  end
184
195
 
@@ -1,6 +1,10 @@
1
1
  module ::JdbcSpec
2
+ # Don't need to load native postgres adapter
3
+ $LOADED_FEATURES << "active_record/connection_adapters/postgresql_adapter.rb"
4
+
2
5
  module ActiveRecordExtensions
3
6
  def postgresql_connection(config)
7
+ config[:host] ||= "localhost"
4
8
  config[:port] ||= 5432
5
9
  config[:url] ||= "jdbc:postgresql://#{config[:host]}:#{config[:port]}/#{config[:database]}"
6
10
  config[:driver] ||= "org.postgresql.Driver"
@@ -288,7 +292,7 @@ module ::JdbcSpec
288
292
  end
289
293
 
290
294
  def quoted_date(value)
291
- value.strftime("%Y-%m-%d %H:%M:%S.#{sprintf("%06d", value.usec)}")
295
+ value.strftime("%Y-%m-%d %H:%M:%S")
292
296
  end
293
297
 
294
298
  def rename_table(name, new_name)
@@ -297,8 +301,11 @@ module ::JdbcSpec
297
301
 
298
302
  def add_column(table_name, column_name, type, options = {})
299
303
  execute("ALTER TABLE #{table_name} ADD #{column_name} #{type_to_sql(type, options[:limit])}")
300
- execute("ALTER TABLE #{table_name} ALTER #{column_name} SET NOT NULL") if options[:null] == false
301
304
  change_column_default(table_name, column_name, options[:default]) unless options[:default].nil?
305
+ if options[:null] == false
306
+ execute("UPDATE #{table_name} SET #{column_name} = '#{options[:default]}'") if options[:default]
307
+ execute("ALTER TABLE #{table_name} ALTER #{column_name} SET NOT NULL")
308
+ end
302
309
  end
303
310
 
304
311
  def change_column(table_name, column_name, type, options = {}) #:nodoc:
@@ -1,14 +1,46 @@
1
1
  if defined?(namespace) && RUBY_PLATFORM =~ /java/ && ENV["SKIP_AR_JDBC_RAKE_REDEFINES"].nil?
2
2
  def redefine_task(*args, &block)
3
3
  task_name = Hash === args.first ? args.first.keys[0] : args.first
4
- existing_task = Rake::Task[task_name]
5
- class << existing_task; public :instance_variable_set; end
6
- existing_task.instance_variable_set "@prerequisites", FileList[]
7
- existing_task.instance_variable_set "@actions", []
4
+ existing_task = Rake.application.lookup task_name
5
+ if existing_task
6
+ class << existing_task; public :instance_variable_set; end
7
+ existing_task.instance_variable_set "@prerequisites", FileList[]
8
+ existing_task.instance_variable_set "@actions", []
9
+ end
8
10
  task(*args, &block)
9
11
  end
10
12
 
11
13
  namespace :db do
14
+ redefine_task :create => :environment do
15
+ create_database(ActiveRecord::Base.configurations[RAILS_ENV])
16
+ end
17
+
18
+ def create_database(config)
19
+ begin
20
+ ActiveRecord::Base.establish_connection(config)
21
+ ActiveRecord::Base.connection
22
+ rescue
23
+ begin
24
+ url = config['url']
25
+ if url
26
+ if url =~ /^(.*\/)/
27
+ url = $1
28
+ end
29
+ end
30
+
31
+ ActiveRecord::Base.establish_connection(config.merge({'database' => nil, 'url' => url}))
32
+ ActiveRecord::Base.connection.create_database(config['database'])
33
+ ActiveRecord::Base.establish_connection(config)
34
+ rescue
35
+ if (config['driver'] || config['adapter']) =~ /postgr/
36
+ `createdb "#{config['database']}" -E utf8`
37
+ else
38
+ warn "couldn't create database #{config['database']}"
39
+ end
40
+ end
41
+ end
42
+ end
43
+
12
44
  redefine_task :drop => :environment do
13
45
  begin
14
46
  config = ActiveRecord::Base.configurations[environment_name]
@@ -1,5 +1,5 @@
1
1
  module JdbcAdapter
2
2
  module Version
3
- VERSION = "0.7.1"
3
+ VERSION = "0.7.2"
4
4
  end
5
5
  end
@@ -312,7 +312,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
312
312
  String name = rs.getString(3).toLowerCase();
313
313
  // Handle stupid Oracle 10g RecycleBin feature
314
314
  if (!isOracle || !name.startsWith("bin$")) {
315
- arr.add(runtime.newString(name));
315
+ arr.add(RubyString.newUnicodeString(runtime, name));
316
316
  }
317
317
  }
318
318
  return runtime.newArray(arr);
@@ -424,11 +424,17 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
424
424
  ResultSet results = null;
425
425
  try {
426
426
  String table_name = rubyApi.convertToRubyString(args[0]).getUnicodeValue();
427
+ String schemaName = null;
428
+
429
+ if(table_name.indexOf(".") != -1) {
430
+ schemaName = table_name.substring(table_name.indexOf(".")+1);
431
+ table_name = table_name.substring(0, table_name.indexOf(".")+1);
432
+ }
433
+
427
434
  DatabaseMetaData metadata = c.getMetaData();
428
435
  String clzName = metadata.getClass().getName().toLowerCase();
429
436
  boolean isDerby = clzName.indexOf("derby") != -1;
430
437
  boolean isOracle = clzName.indexOf("oracle") != -1 || clzName.indexOf("oci") != -1;
431
- String schemaName = null;
432
438
 
433
439
  if(args.length>2) {
434
440
  schemaName = args[2].toString();
@@ -453,7 +459,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
453
459
  }
454
460
 
455
461
  RubyArray matchingTables = (RubyArray) tableLookupBlock(recv.getRuntime(),
456
- c.getCatalog(), schemaName, table_name, getTypes(null)).call(c);
462
+ c.getCatalog(), schemaName, table_name, new String[]{"TABLE","VIEW"}).call(c);
457
463
  if (matchingTables.isEmpty()) {
458
464
  throw new SQLException("Table " + table_name + " does not exist");
459
465
  }
@@ -516,13 +522,13 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
516
522
  if((isDerby || isOracle) && def.length() > 0 && def.charAt(0) == '\'') {
517
523
  def = def.substring(1, def.length()-1);
518
524
  }
519
- _def = runtime.newString(def);
525
+ _def = RubyString.newUnicodeString(runtime, def);
520
526
  }
521
527
  IRubyObject config = rubyApi.getInstanceVariable(recv, "@config");
522
528
  IRubyObject c = rubyApi.callMethod(jdbcCol, "new",
523
529
  new IRubyObject[]{
524
- config, runtime.newString(column_name),
525
- _def, runtime.newString(type),
530
+ config, RubyString.newUnicodeString(runtime, column_name),
531
+ _def, RubyString.newUnicodeString(runtime, type),
526
532
  runtime.newBoolean(!rs.getString(18).trim().equals("NO"))
527
533
  });
528
534
  columns.add(c);
@@ -561,7 +567,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
561
567
  if (metadata.storesUpperCaseIdentifiers() && !HAS_SMALL.matcher(s1).find()) {
562
568
  s1 = s1.toLowerCase();
563
569
  }
564
- keyNames.add(runtime.newString(s1));
570
+ keyNames.add(RubyString.newUnicodeString(runtime,s1));
565
571
  }
566
572
 
567
573
  try {
@@ -668,7 +674,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
668
674
  int[] col_scale = new int[col_count];
669
675
 
670
676
  for(int i=0;i<col_count;i++) {
671
- col_names[i] = RubyString.newUnicodeString(runtime, metadata.getColumnName(i+1).toLowerCase());
677
+ col_names[i] = RubyString.newUnicodeString(runtime, metadata.getColumnLabel(i+1).toLowerCase());
672
678
  col_types[i] = metadata.getColumnType(i+1);
673
679
  col_scale[i] = metadata.getScale(i+1);
674
680
  }
@@ -703,7 +709,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
703
709
  int[] col_scale = new int[col_count];
704
710
 
705
711
  for(int i=0;i<col_count;i++) {
706
- String s1 = metadata.getColumnName(i+1);
712
+ String s1 = metadata.getColumnLabel(i+1);
707
713
  if(storesUpper && !HAS_SMALL.matcher(s1).find()) {
708
714
  s1 = s1.toLowerCase();
709
715
  }
@@ -741,7 +747,7 @@ public class JdbcAdapterInternalService implements BasicLibraryService {
741
747
  int[] col_scale = new int[col_count];
742
748
 
743
749
  for (int i=0;i<col_count;i++) {
744
- col_names[i] = RubyString.newUnicodeString(runtime, metadata.getColumnName(i+1));
750
+ col_names[i] = RubyString.newUnicodeString(runtime, metadata.getColumnLabel(i+1));
745
751
  col_types[i] = metadata.getColumnType(i+1);
746
752
  col_scale[i] = metadata.getScale(i+1);
747
753
  }
data/test/db/db2.rb ADDED
@@ -0,0 +1,9 @@
1
+ config = {
2
+ :username => "blog",
3
+ :password => "",
4
+ :adapter => "jdbc",
5
+ :driver => "com.ibm.db2.jcc.DB2Driver",
6
+ :url => "jdbc:db2:weblog_development"
7
+ }
8
+
9
+ ActiveRecord::Base.establish_connection(config)
data/test/db/oracle.rb ADDED
@@ -0,0 +1,9 @@
1
+ config = {
2
+ :username => 'blog',
3
+ :password => '',
4
+ :adapter => 'oracle',
5
+ :host => ENV["ORACLE_HOST"] || 'localhost',
6
+ :database => ENV["ORACLE_SID"] || 'weblog_development'
7
+ }
8
+
9
+ ActiveRecord::Base.establish_connection(config)
@@ -0,0 +1,6 @@
1
+ require 'jdbc_common'
2
+ require 'db/db2'
3
+
4
+ class DB2SimpleTest < Test::Unit::TestCase
5
+ include SimpleTestMethods
6
+ end
data/test/jdbc_common.rb CHANGED
@@ -2,6 +2,7 @@ require 'jdbc_adapter'
2
2
  require 'rubygems'
3
3
  require 'models/auto_id'
4
4
  require 'models/entry'
5
+ require 'models/add_not_null_column_to_table'
5
6
  require 'simple'
6
7
  require 'has_many_through'
7
8
  require 'test/unit'
@@ -0,0 +1,12 @@
1
+ require 'rubygems'
2
+ require 'active_record'
3
+
4
+ class AddNotNullColumnToTable < ActiveRecord::Migration
5
+ def self.up
6
+ add_column :entries, :color, :string, :null => false, :default => "blue"
7
+ end
8
+
9
+ def self.down
10
+ remove_column :entries, :color
11
+ end
12
+ end
@@ -0,0 +1,6 @@
1
+ require 'jdbc_common'
2
+ require 'db/oracle'
3
+
4
+ class OracleSimpleTest < Test::Unit::TestCase
5
+ include SimpleTestMethods
6
+ end
data/test/simple.rb CHANGED
@@ -142,6 +142,11 @@ module SimpleTestMethods
142
142
  assert ActiveRecord::Base.connected?
143
143
  end
144
144
 
145
+ def test_add_not_null_column_to_table
146
+ AddNotNullColumnToTable.up
147
+ AddNotNullColumnToTable.down
148
+ end
149
+
145
150
  class Animal < ActiveRecord::Base; end
146
151
  def test_fetching_columns_for_nonexistent_table_should_raise
147
152
  assert_raises(ActiveRecord::ActiveRecordError) do
metadata CHANGED
@@ -1,33 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: activerecord-jdbc-adapter
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.7.1
7
- date: 2008-01-06 00:00:00 -06:00
8
- summary: JDBC adapter for ActiveRecord, for use within JRuby on Rails.
9
- require_paths:
10
- - lib
11
- email: nick@nicksieger.com, ola.bini@gmail.com
12
- homepage: http://jruby-extras.rubyforge.org/activerecord-jdbc-adapter
13
- rubyforge_project: jruby-extras
14
- description: ActiveRecord-JDBC is a database adapter for Rails' ActiveRecord component that can be used with JRuby[http://www.jruby.org/]. It allows use of virtually any JDBC-compliant database with your JRuby on Rails application.
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: 0.7.2
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
7
  - Nick Sieger, Ola Bini and JRuby contributors
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-02-12 00:00:00 -06:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: ActiveRecord-JDBC is a database adapter for Rails' ActiveRecord component that can be used with JRuby[http://www.jruby.org/]. It allows use of virtually any JDBC-compliant database with your JRuby on Rails application.
17
+ email: nick@nicksieger.com, ola.bini@gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - History.txt
24
+ - Manifest.txt
25
+ - README.txt
31
26
  files:
32
27
  - History.txt
33
28
  - Manifest.txt
@@ -59,6 +54,7 @@ files:
59
54
  - lib/jdbc_adapter/jdbc_adapter_internal.jar
60
55
  - test/activerecord/connection_adapters/type_conversion_test.rb
61
56
  - test/activerecord/connections/native_jdbc_mysql/connection.rb
57
+ - test/db/db2.rb
62
58
  - test/db/derby.rb
63
59
  - test/db/h2.rb
64
60
  - test/db/hsqldb.rb
@@ -66,7 +62,9 @@ files:
66
62
  - test/db/jndi_config.rb
67
63
  - test/db/logger.rb
68
64
  - test/db/mysql.rb
65
+ - test/db/oracle.rb
69
66
  - test/db/postgres.rb
67
+ - test/db2_simple_test.rb
70
68
  - test/derby_multibyte_test.rb
71
69
  - test/derby_simple_test.rb
72
70
  - test/generic_jdbc_connection_test.rb
@@ -84,11 +82,13 @@ files:
84
82
  - test/minirunit/testMysql.rb
85
83
  - test/minirunit/testRawSelect.rb
86
84
  - test/minirunit.rb
85
+ - test/models/add_not_null_column_to_table.rb
87
86
  - test/models/auto_id.rb
88
87
  - test/models/data_types.rb
89
88
  - test/models/entry.rb
90
89
  - test/mysql_multibyte_test.rb
91
90
  - test/mysql_simple_test.rb
91
+ - test/oracle_simple_test.rb
92
92
  - test/postgres_simple_test.rb
93
93
  - test/simple.rb
94
94
  - src/java/jdbc_adapter/JdbcAdapterInternalService.java
@@ -96,20 +96,32 @@ files:
96
96
  - src/java/jdbc_adapter/JdbcDerbySpec.java
97
97
  - src/java/jdbc_adapter/JdbcMySQLSpec.java
98
98
  - src/java/jdbc_adapter/SQLBlock.java
99
- test_files: []
100
-
99
+ has_rdoc: true
100
+ homepage: http://jruby-extras.rubyforge.org/activerecord-jdbc-adapter
101
+ post_install_message:
101
102
  rdoc_options:
102
103
  - --main
103
104
  - README.txt
104
- extra_rdoc_files:
105
- - History.txt
106
- - Manifest.txt
107
- - README.txt
108
- executables: []
109
-
110
- extensions: []
111
-
105
+ require_paths:
106
+ - lib
107
+ required_ruby_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: "0"
112
+ version:
113
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: "0"
118
+ version:
112
119
  requirements: []
113
120
 
114
- dependencies: []
121
+ rubyforge_project: jruby-extras
122
+ rubygems_version: 1.0.1
123
+ signing_key:
124
+ specification_version: 2
125
+ summary: JDBC adapter for ActiveRecord, for use within JRuby on Rails.
126
+ test_files: []
115
127