ActiveRecord-JDBC 0.4 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. data/History.txt +12 -0
  2. data/Manifest.txt +13 -0
  3. data/Rakefile +18 -10
  4. data/lib/active_record/connection_adapters/derby_adapter.rb +1 -0
  5. data/lib/active_record/connection_adapters/h2_adapter.rb +1 -0
  6. data/lib/active_record/connection_adapters/hsqldb_adapter.rb +1 -0
  7. data/lib/active_record/connection_adapters/jdbc_adapter.rb +124 -56
  8. data/lib/active_record/connection_adapters/jndi_adapter.rb +1 -0
  9. data/lib/active_record/connection_adapters/mysql_adapter.rb +1 -0
  10. data/lib/active_record/connection_adapters/oracle_adapter.rb +1 -0
  11. data/lib/active_record/connection_adapters/postgresql_adapter.rb +1 -0
  12. data/lib/jdbc_adapter/jdbc_db2.rb +21 -0
  13. data/lib/jdbc_adapter/jdbc_derby.rb +22 -101
  14. data/lib/jdbc_adapter/jdbc_firebird.rb +5 -1
  15. data/lib/jdbc_adapter/jdbc_hsqldb.rb +23 -1
  16. data/lib/jdbc_adapter/jdbc_mimer.rb +4 -2
  17. data/lib/jdbc_adapter/jdbc_mssql.rb +149 -67
  18. data/lib/jdbc_adapter/jdbc_mysql.rb +22 -2
  19. data/lib/jdbc_adapter/jdbc_oracle.rb +80 -15
  20. data/lib/jdbc_adapter/jdbc_postgre.rb +132 -4
  21. data/lib/jdbc_adapter_internal.jar +0 -0
  22. data/src/java/JDBCDerbySpec.java +323 -0
  23. data/src/java/JDBCMySQLSpec.java +83 -0
  24. data/src/java/JdbcAdapterInternalService.java +802 -0
  25. data/test/activerecord/connection_adapters/type_conversion_test.rb +1 -0
  26. data/test/db/derby.rb +2 -5
  27. data/test/db/h2.rb +2 -5
  28. data/test/db/hsqldb.rb +2 -6
  29. data/test/db/jdbc.rb +9 -0
  30. data/test/db/mysql.rb +4 -15
  31. data/test/db/postgres.rb +2 -3
  32. data/test/generic_jdbc_connection_test.rb +9 -0
  33. data/test/jdbc_adapter/jdbc_db2_test.rb +21 -0
  34. data/test/simple.rb +6 -8
  35. metadata +15 -2
@@ -1,5 +1,6 @@
1
1
  require 'java'
2
2
  require 'models/data_types'
3
+ require 'active_record/connection_adapters/jdbc_adapter'
3
4
  require 'db/derby'
4
5
  require 'test/unit'
5
6
 
@@ -1,11 +1,8 @@
1
1
  require 'logger'
2
2
 
3
3
  config = {
4
- :adapter => 'jdbc',
5
- :username => 'sa',
6
- :password => '',
7
- :driver => 'org.apache.derby.jdbc.EmbeddedDriver',
8
- :url => 'jdbc:derby:derby-testdb;create=true'
4
+ :adapter => 'derby',
5
+ :database => "derby-testdb"
9
6
  }
10
7
 
11
8
  ActiveRecord::Base.establish_connection(config)
@@ -1,9 +1,6 @@
1
1
  config = {
2
- :adapter => 'jdbc',
3
- :username => 'sa',
4
- :password => '',
5
- :driver => 'org.h2.Driver',
6
- :url => 'jdbc:h2:test.db'
2
+ :adapter => 'h2',
3
+ :database => 'test.db'
7
4
  }
8
5
 
9
6
  ActiveRecord::Base.establish_connection(config)
@@ -1,10 +1,6 @@
1
1
  config = {
2
- :adapter => 'jdbc',
3
- :username => 'sa',
4
- :password => '',
5
- :driver => 'org.hsqldb.jdbcDriver',
6
- :url => 'jdbc:hsqldb:test.db'
7
- #:url => 'jdbc:hsqldb:mem:test'
2
+ :adapter => 'hsqldb',
3
+ :database => 'test.db'
8
4
  }
9
5
 
10
6
  ActiveRecord::Base.establish_connection(config)
@@ -0,0 +1,9 @@
1
+ config = {
2
+ :username => 'blog',
3
+ :password => '',
4
+ :adapter => 'jdbc',
5
+ :driver => 'com.mysql.jdbc.Driver',
6
+ :url => 'jdbc:mysql://localhost:3306/weblog_development'
7
+ }
8
+
9
+ ActiveRecord::Base.establish_connection(config)
@@ -1,20 +1,9 @@
1
1
  config = {
2
2
  :username => 'blog',
3
- :password => ''
3
+ :password => '',
4
+ :adapter => 'mysql',
5
+ :database => 'weblog_development',
6
+ :host => 'localhost'
4
7
  }
5
8
 
6
- if RUBY_PLATFORM =~ /java/
7
- config.update({
8
- :adapter => 'jdbc',
9
- :driver => 'com.mysql.jdbc.Driver',
10
- :url => 'jdbc:mysql://localhost:3306/weblog_development',
11
- })
12
- else
13
- config.update({
14
- :adapter => 'mysql',
15
- :database => 'weblog_development',
16
- :host => 'localhost'
17
- })
18
- end
19
-
20
9
  ActiveRecord::Base.establish_connection(config)
@@ -1,8 +1,7 @@
1
1
  config = {
2
- :adapter => 'jdbc',
2
+ :adapter => 'postgresql',
3
3
  :database => 'weblog_development',
4
- :url => 'jdbc:postgresql://localhost/weblog_development',
5
- :driver => 'org.postgresql.Driver',
4
+ :host => 'localhost',
6
5
  :username => 'blog',
7
6
  :password => ''
8
7
  }
@@ -0,0 +1,9 @@
1
+ require 'jdbc_common'
2
+ require 'db/jdbc'
3
+
4
+ class GenericJdbcConnectionTest < Test::Unit::TestCase
5
+ def test_connection_available_through_jdbc_adapter
6
+ ActiveRecord::Base.connection.execute("show databases");
7
+ assert ActiveRecord::Base.connected?
8
+ end
9
+ end
@@ -0,0 +1,21 @@
1
+ require 'java'
2
+ require 'lib/jdbc_adapter/jdbc_db2'
3
+ require 'test/unit'
4
+
5
+ class JdbcSpec::DB2Test < Test::Unit::TestCase
6
+ def setup
7
+ @inst = Object.new
8
+ @inst.extend JdbcSpec::DB2
9
+ @column = Object.new
10
+ class <<@column
11
+ attr_accessor :type
12
+ end
13
+ end
14
+
15
+ def test_quote_decimal
16
+ assert_equal %q{'123.45'}, @inst.quote("123.45")
17
+ @column.type = :decimal
18
+ assert_equal %q{123.45}, @inst.quote("123.45", @column), "decimal columns should not have quotes"
19
+ end
20
+
21
+ end
@@ -115,16 +115,12 @@ module SimpleTestMethods
115
115
 
116
116
  end
117
117
 
118
- class ActiveRecord::Base
119
- cattr_accessor :defined_connections
120
- end
121
-
122
118
  module MultibyteTestMethods
123
119
  include MigrationSetup
124
120
 
125
121
  def setup
126
122
  super
127
- config = ActiveRecord::Base.defined_connections["ActiveRecord::Base"].config
123
+ config = ActiveRecord::Base.connection.config
128
124
  props = java.util.Properties.new
129
125
  props.setProperty("user", config[:username])
130
126
  props.setProperty("password", config[:password])
@@ -138,16 +134,18 @@ module MultibyteTestMethods
138
134
  end
139
135
 
140
136
  def test_select_multibyte_string
141
- @java_con.createStatement().execute("insert into entries (title) values ('テスト')")
137
+ @java_con.createStatement().execute("insert into entries (title, content) values ('テスト', '本文')")
142
138
  entry = Entry.find(:first)
143
139
  assert_equal "テスト", entry.title
140
+ assert_equal "本文", entry.content
144
141
  assert_equal entry, Entry.find_by_title("テスト")
145
142
  end
146
143
 
147
144
  def test_update_multibyte_string
148
- Entry.create!(:title => "テスト")
149
- rs = @java_con.createStatement().executeQuery("select title from entries")
145
+ Entry.create!(:title => "テスト", :content => "本文")
146
+ rs = @java_con.createStatement().executeQuery("select title, content from entries")
150
147
  assert rs.next
151
148
  assert_equal "テスト", rs.getString(1)
149
+ assert_equal "本文", rs.getString(2)
152
150
  end
153
151
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: ActiveRecord-JDBC
5
5
  version: !ruby/object:Gem::Version
6
- version: "0.4"
7
- date: 2007-06-07 00:00:00 -07:00
6
+ version: "0.5"
7
+ date: 2007-08-24 00:00:00 -07:00
8
8
  summary: JDBC adapter for ActiveRecord, for use within JRuby on Rails.
9
9
  require_paths:
10
10
  - lib
@@ -34,8 +34,15 @@ files:
34
34
  - README.txt
35
35
  - Rakefile
36
36
  - LICENSE
37
+ - lib/active_record/connection_adapters/derby_adapter.rb
38
+ - lib/active_record/connection_adapters/h2_adapter.rb
39
+ - lib/active_record/connection_adapters/hsqldb_adapter.rb
37
40
  - lib/active_record/connection_adapters/jdbc_adapter.rb
38
41
  - lib/active_record/connection_adapters/jdbc_adapter_spec.rb
42
+ - lib/active_record/connection_adapters/jndi_adapter.rb
43
+ - lib/active_record/connection_adapters/mysql_adapter.rb
44
+ - lib/active_record/connection_adapters/oracle_adapter.rb
45
+ - lib/active_record/connection_adapters/postgresql_adapter.rb
39
46
  - lib/jdbc_adapter/jdbc_db2.rb
40
47
  - lib/jdbc_adapter/jdbc_derby.rb
41
48
  - lib/jdbc_adapter/jdbc_firebird.rb
@@ -53,14 +60,17 @@ files:
53
60
  - test/db/derby.rb
54
61
  - test/db/h2.rb
55
62
  - test/db/hsqldb.rb
63
+ - test/db/jdbc.rb
56
64
  - test/db/jndi_config.rb
57
65
  - test/db/logger.rb
58
66
  - test/db/mysql.rb
59
67
  - test/db/postgres.rb
60
68
  - test/derby_multibyte_test.rb
61
69
  - test/derby_simple_test.rb
70
+ - test/generic_jdbc_connection_test.rb
62
71
  - test/h2_simple_test.rb
63
72
  - test/hsqldb_simple_test.rb
73
+ - test/jdbc_adapter/jdbc_db2_test.rb
64
74
  - test/jdbc_common.rb
65
75
  - test/jndi_test.rb
66
76
  - test/manualTestDatabase.rb
@@ -78,6 +88,9 @@ files:
78
88
  - test/postgres_simple_test.rb
79
89
  - test/simple.rb
80
90
  - lib/tasks/jdbc_databases.rake
91
+ - src/java/JdbcAdapterInternalService.java
92
+ - src/java/JDBCDerbySpec.java
93
+ - src/java/JDBCMySQLSpec.java
81
94
  test_files: []
82
95
 
83
96
  rdoc_options: