activerecord-jdbc-adapter 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
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