saturnflyer-activerecord-jdbc-adapter 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. data/.gitignore +16 -0
  2. data/History.txt +225 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.txt +161 -0
  5. data/Rakefile +28 -0
  6. data/VERSION +1 -0
  7. data/activerecord-jdbc-adapter.gemspec +277 -0
  8. data/adapters/derby/LICENSE.txt +21 -0
  9. data/adapters/derby/README.txt +5 -0
  10. data/adapters/derby/Rakefile +31 -0
  11. data/adapters/derby/lib/active_record/connection_adapters/jdbcderby_adapter.rb +30 -0
  12. data/adapters/h2/History.txt +0 -0
  13. data/adapters/h2/LICENSE.txt +21 -0
  14. data/adapters/h2/README.txt +5 -0
  15. data/adapters/h2/Rakefile +31 -0
  16. data/adapters/h2/lib/active_record/connection_adapters/jdbch2_adapter.rb +30 -0
  17. data/adapters/hsqldb/History.txt +0 -0
  18. data/adapters/hsqldb/LICENSE.txt +21 -0
  19. data/adapters/hsqldb/README.txt +5 -0
  20. data/adapters/hsqldb/Rakefile +31 -0
  21. data/adapters/hsqldb/lib/active_record/connection_adapters/jdbchsqldb_adapter.rb +30 -0
  22. data/adapters/mysql/History.txt +0 -0
  23. data/adapters/mysql/LICENSE.txt +21 -0
  24. data/adapters/mysql/README.txt +5 -0
  25. data/adapters/mysql/Rakefile +31 -0
  26. data/adapters/mysql/lib/active_record/connection_adapters/jdbcmysql_adapter.rb +30 -0
  27. data/adapters/postgresql/History.txt +0 -0
  28. data/adapters/postgresql/LICENSE.txt +21 -0
  29. data/adapters/postgresql/README.txt +5 -0
  30. data/adapters/postgresql/Rakefile +31 -0
  31. data/adapters/postgresql/lib/active_record/connection_adapters/jdbcpostgresql_adapter.rb +30 -0
  32. data/adapters/sqlite3/LICENSE.txt +21 -0
  33. data/adapters/sqlite3/README.txt +5 -0
  34. data/adapters/sqlite3/Rakefile +31 -0
  35. data/adapters/sqlite3/lib/active_record/connection_adapters/jdbcsqlite3_adapter.rb +30 -0
  36. data/bench/bench_attributes.rb +13 -0
  37. data/bench/bench_attributes_new.rb +14 -0
  38. data/bench/bench_create.rb +12 -0
  39. data/bench/bench_find_all.rb +12 -0
  40. data/bench/bench_find_all_mt.rb +25 -0
  41. data/bench/bench_model.rb +85 -0
  42. data/bench/bench_new.rb +12 -0
  43. data/bench/bench_new_valid.rb +12 -0
  44. data/bench/bench_valid.rb +13 -0
  45. data/drivers/derby/LICENSE.txt +1 -0
  46. data/drivers/derby/README.txt +6 -0
  47. data/drivers/derby/Rakefile +26 -0
  48. data/drivers/derby/lib/derby-10.5.3.0.jar +0 -0
  49. data/drivers/derby/lib/jdbc/derby.rb +11 -0
  50. data/drivers/h2/History.txt +0 -0
  51. data/drivers/h2/LICENSE.txt +2 -0
  52. data/drivers/h2/README.txt +6 -0
  53. data/drivers/h2/Rakefile +26 -0
  54. data/drivers/h2/lib/h2-1.1.107.jar +0 -0
  55. data/drivers/h2/lib/jdbc/h2.rb +10 -0
  56. data/drivers/hsqldb/History.txt +0 -0
  57. data/drivers/hsqldb/LICENSE.txt +2 -0
  58. data/drivers/hsqldb/README.txt +6 -0
  59. data/drivers/hsqldb/Rakefile +26 -0
  60. data/drivers/hsqldb/lib/hsqldb-1.8.0.7.jar +0 -0
  61. data/drivers/hsqldb/lib/jdbc/hsqldb.rb +10 -0
  62. data/drivers/mysql/History.txt +0 -0
  63. data/drivers/mysql/LICENSE.txt +1 -0
  64. data/drivers/mysql/README.txt +6 -0
  65. data/drivers/mysql/Rakefile +26 -0
  66. data/drivers/mysql/lib/jdbc/mysql.rb +10 -0
  67. data/drivers/mysql/lib/mysql-connector-java-5.0.4-bin.jar +0 -0
  68. data/drivers/postgres/History.txt +7 -0
  69. data/drivers/postgres/LICENSE.txt +12 -0
  70. data/drivers/postgres/README.txt +5 -0
  71. data/drivers/postgres/Rakefile +27 -0
  72. data/drivers/postgres/lib/jdbc/postgres.rb +25 -0
  73. data/drivers/postgres/lib/postgresql-8.3-604.jdbc3.jar +0 -0
  74. data/drivers/postgres/lib/postgresql-8.3-604.jdbc4.jar +0 -0
  75. data/drivers/sqlite3/LICENSE.txt +13 -0
  76. data/drivers/sqlite3/README.txt +6 -0
  77. data/drivers/sqlite3/Rakefile +26 -0
  78. data/drivers/sqlite3/lib/jdbc/sqlite3.rb +10 -0
  79. data/drivers/sqlite3/lib/sqlitejdbc-3.6.3.054.jar +0 -0
  80. data/lib/active_record/connection_adapters/cachedb_adapter.rb +1 -0
  81. data/lib/active_record/connection_adapters/derby_adapter.rb +13 -0
  82. data/lib/active_record/connection_adapters/h2_adapter.rb +13 -0
  83. data/lib/active_record/connection_adapters/hsqldb_adapter.rb +13 -0
  84. data/lib/active_record/connection_adapters/informix_adapter.rb +1 -0
  85. data/lib/active_record/connection_adapters/jdbc_adapter.rb +637 -0
  86. data/lib/active_record/connection_adapters/jdbc_adapter_spec.rb +14 -0
  87. data/lib/active_record/connection_adapters/jndi_adapter.rb +1 -0
  88. data/lib/active_record/connection_adapters/mysql_adapter.rb +13 -0
  89. data/lib/active_record/connection_adapters/oracle_adapter.rb +1 -0
  90. data/lib/active_record/connection_adapters/postgresql_adapter.rb +13 -0
  91. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +13 -0
  92. data/lib/jdbc_adapter.rb +27 -0
  93. data/lib/jdbc_adapter/jdbc.rake +104 -0
  94. data/lib/jdbc_adapter/jdbc_cachedb.rb +33 -0
  95. data/lib/jdbc_adapter/jdbc_db2.rb +191 -0
  96. data/lib/jdbc_adapter/jdbc_derby.rb +421 -0
  97. data/lib/jdbc_adapter/jdbc_firebird.rb +109 -0
  98. data/lib/jdbc_adapter/jdbc_hsqldb.rb +210 -0
  99. data/lib/jdbc_adapter/jdbc_informix.rb +147 -0
  100. data/lib/jdbc_adapter/jdbc_mimer.rb +141 -0
  101. data/lib/jdbc_adapter/jdbc_mssql.rb +333 -0
  102. data/lib/jdbc_adapter/jdbc_mysql.rb +233 -0
  103. data/lib/jdbc_adapter/jdbc_oracle.rb +374 -0
  104. data/lib/jdbc_adapter/jdbc_postgre.rb +483 -0
  105. data/lib/jdbc_adapter/jdbc_sqlite3.rb +360 -0
  106. data/lib/jdbc_adapter/jdbc_sybase.rb +50 -0
  107. data/lib/jdbc_adapter/missing_functionality_helper.rb +85 -0
  108. data/lib/jdbc_adapter/rake_tasks.rb +10 -0
  109. data/lib/jdbc_adapter/tsql_helper.rb +60 -0
  110. data/lib/jdbc_adapter/version.rb +5 -0
  111. data/pom.xml +57 -0
  112. data/rakelib/compile.rake +23 -0
  113. data/rakelib/package.rake +73 -0
  114. data/rakelib/rails.rake +41 -0
  115. data/src/java/jdbc_adapter/JdbcAdapterInternalService.java +53 -0
  116. data/src/java/jdbc_adapter/JdbcConnectionFactory.java +36 -0
  117. data/src/java/jdbc_adapter/JdbcDerbySpec.java +293 -0
  118. data/src/java/jdbc_adapter/JdbcMySQLSpec.java +133 -0
  119. data/src/java/jdbc_adapter/MssqlRubyJdbcConnection.java +71 -0
  120. data/src/java/jdbc_adapter/PostgresRubyJdbcConnection.java +55 -0
  121. data/src/java/jdbc_adapter/RubyJdbcConnection.java +1163 -0
  122. data/src/java/jdbc_adapter/SQLBlock.java +27 -0
  123. data/src/java/jdbc_adapter/Sqlite3RubyJdbcConnection.java +41 -0
  124. data/test/activerecord/connection_adapters/type_conversion_test.rb +31 -0
  125. data/test/activerecord/connections/native_jdbc_mysql/connection.rb +25 -0
  126. data/test/activerecord/jall.sh +7 -0
  127. data/test/activerecord/jtest.sh +3 -0
  128. data/test/cachedb_simple_test.rb +6 -0
  129. data/test/db/cachedb.rb +9 -0
  130. data/test/db/db2.rb +9 -0
  131. data/test/db/derby.rb +14 -0
  132. data/test/db/h2.rb +11 -0
  133. data/test/db/hsqldb.rb +12 -0
  134. data/test/db/informix.rb +11 -0
  135. data/test/db/jdbc.rb +11 -0
  136. data/test/db/jndi_config.rb +30 -0
  137. data/test/db/logger.rb +3 -0
  138. data/test/db/mssql.rb +9 -0
  139. data/test/db/mysql.rb +10 -0
  140. data/test/db/oracle.rb +34 -0
  141. data/test/db/postgres.rb +9 -0
  142. data/test/db/sqlite3.rb +15 -0
  143. data/test/db2_simple_test.rb +10 -0
  144. data/test/derby_migration_test.rb +21 -0
  145. data/test/derby_multibyte_test.rb +12 -0
  146. data/test/derby_simple_test.rb +12 -0
  147. data/test/generic_jdbc_connection_test.rb +9 -0
  148. data/test/h2_simple_test.rb +6 -0
  149. data/test/has_many_through.rb +79 -0
  150. data/test/hsqldb_simple_test.rb +6 -0
  151. data/test/informix_simple_test.rb +48 -0
  152. data/test/jdbc_adapter/jdbc_db2_test.rb +26 -0
  153. data/test/jdbc_adapter/jdbc_sybase_test.rb +33 -0
  154. data/test/jdbc_common.rb +24 -0
  155. data/test/jndi_callbacks_test.rb +38 -0
  156. data/test/jndi_test.rb +35 -0
  157. data/test/manualTestDatabase.rb +191 -0
  158. data/test/minirunit.rb +109 -0
  159. data/test/minirunit/testConnect.rb +14 -0
  160. data/test/minirunit/testH2.rb +73 -0
  161. data/test/minirunit/testHsqldb.rb +73 -0
  162. data/test/minirunit/testLoadActiveRecord.rb +3 -0
  163. data/test/minirunit/testMysql.rb +83 -0
  164. data/test/minirunit/testRawSelect.rb +24 -0
  165. data/test/models/add_not_null_column_to_table.rb +12 -0
  166. data/test/models/auto_id.rb +18 -0
  167. data/test/models/data_types.rb +28 -0
  168. data/test/models/entry.rb +23 -0
  169. data/test/models/mixed_case.rb +20 -0
  170. data/test/models/reserved_word.rb +18 -0
  171. data/test/mssql_simple_test.rb +6 -0
  172. data/test/mysql_multibyte_test.rb +10 -0
  173. data/test/mysql_nonstandard_primary_key_test.rb +43 -0
  174. data/test/mysql_simple_test.rb +26 -0
  175. data/test/oracle_simple_test.rb +29 -0
  176. data/test/postgres_mixed_case_test.rb +19 -0
  177. data/test/postgres_nonseq_pkey_test.rb +40 -0
  178. data/test/postgres_reserved_test.rb +22 -0
  179. data/test/postgres_simple_test.rb +12 -0
  180. data/test/simple.rb +397 -0
  181. data/test/sqlite3_simple_test.rb +179 -0
  182. data/test/sybase_jtds_simple_test.rb +6 -0
  183. metadata +294 -0
@@ -0,0 +1,25 @@
1
+ require File.dirname(__FILE__) + '/bench_model'
2
+
3
+ Benchmark.bm do |make|
4
+ TIMES.times do
5
+ make.report do
6
+ thrs = []
7
+ errs = 0
8
+ 10.times do
9
+ thrs << Thread.new do
10
+ 1000.times do
11
+ begin
12
+ Widget.find(:all)
13
+ rescue Exception => e
14
+ errs += 1
15
+ Widget.logger.warn e.to_s
16
+ end
17
+ end
18
+ Widget.clear_active_connections!
19
+ end
20
+ end
21
+ thrs.each {|t| t.join}
22
+ puts "errors: #{errs}" if errs > 0
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,85 @@
1
+ =begin
2
+
3
+ * This scripts looks for an optional argv0 which is number of times to
4
+ execute the particular benchmark this file is getting required into. argv1
5
+ is an optional parameter which represents the number of rows to create.
6
+ * Use ENV['LOGGER'] (=severe|warn|info|debug) to turn on the logger
7
+ * Add ActiveRecord to load path to use a specific (non-gem version) for testing (e.g., edge).
8
+
9
+ +----------+------+-----+---------+-----------------+----------------+
10
+ | Field | Type | Null | Key | Default | Extra |
11
+ +-------------+--------------+------+-----+---------+----------------+
12
+ | id | int(11) | NO | PRI | NULL | auto_increment |
13
+ | name | varchar(255) | YES | | NULL | |
14
+ | description | text | YES | | NULL | |
15
+ | created_at | datetime | YES | | NULL | |
16
+ | updated_at | datetime | YES | | NULL | |
17
+ +-------------+--------------+------+-----+---------+----------------+
18
+ =end
19
+
20
+ TIMES = (ARGV[0] || 5).to_i
21
+ ROW_COUNT = (ARGV[1] || 10).to_i
22
+
23
+ ENV["RAILS_ENV"] = "production"
24
+ begin
25
+ print "Loading ActiveRecord w/o gems..."
26
+ require 'active_record'
27
+ require 'active_record/version'
28
+ puts "version #{ActiveRecord::VERSION::STRING}"
29
+ rescue LoadError
30
+ puts "FAILED."
31
+ print "Loading ActiveRecord with gems..."
32
+ require 'rubygems'
33
+ gem 'activerecord'
34
+ puts "version #{Gem.loaded_specs['activerecord'].version.version}"
35
+ require 'active_record'
36
+ end
37
+ require 'benchmark'
38
+
39
+ if defined? RUBY_ENGINE && RUBY_ENGINE == "jruby"
40
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
41
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/../drivers/mysql/lib'
42
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/../adapters/mysql/lib'
43
+ require 'active_record/connection_adapters/jdbcmysql_adapter'
44
+ end
45
+
46
+ if ENV['LOGGER']
47
+ require 'logger'
48
+ ActiveRecord::Base.logger = Logger.new(File.expand_path(File.dirname(__FILE__) + "/debug.log"))
49
+ lvl = %(DEBUG INFO WARN ERROR FATAL).detect {|s| s =~ /#{ENV['LOGGER'].upcase}/}
50
+ ActiveRecord::Base.logger.level = lvl && Logger.const_get(lvl) || Logger::INFO
51
+ else
52
+ ActiveRecord::Base.logger = Logger.new($stdout)
53
+ ActiveRecord::Base.logger.level = Logger::UNKNOWN
54
+ end
55
+
56
+ ActiveRecord::Base.establish_connection(
57
+ :adapter => "mysql",
58
+ :host => "localhost",
59
+ :username => "root",
60
+ :database => "ar_bench",
61
+ :pool => 10,
62
+ :wait_timeout => 0.5
63
+ )
64
+
65
+ class CreateWidgets < ActiveRecord::Migration
66
+ def self.up
67
+ create_table :widgets do |t|
68
+ t.string :name
69
+ t.text :description
70
+ t.timestamps
71
+ end
72
+ end
73
+ end
74
+
75
+ CreateWidgets.up unless ActiveRecord::Base.connection.tables.include?("widgets")
76
+
77
+ class Widget < ActiveRecord::Base; end
78
+ Widget.destroy_all if Widget.count > ROW_COUNT
79
+ count = Widget.count
80
+ while (count < ROW_COUNT)
81
+ Widget.create!(:name => "bench#{count}", :description => "Bench record#{count}")
82
+ count = Widget.count
83
+ end
84
+
85
+ ActiveRecord::Base.clear_active_connections!
@@ -0,0 +1,12 @@
1
+ require File.dirname(__FILE__) + '/bench_model'
2
+
3
+ puts "Widget.new"
4
+ Benchmark.bm do |make|
5
+ TIMES.times do
6
+ make.report do
7
+ 100_000.times do
8
+ Widget.new
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require File.dirname(__FILE__) + '/bench_model'
2
+
3
+ puts "Widget.new.valid?"
4
+ Benchmark.bm do |make|
5
+ TIMES.times do
6
+ make.report do
7
+ 100_000.times do
8
+ Widget.new.valid?
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ require File.dirname(__FILE__) + '/bench_model'
2
+
3
+ puts "Widget.new.valid?"
4
+ Benchmark.bm do |make|
5
+ TIMES.times do
6
+ make.report do
7
+ widget = Widget.new
8
+ 100_000.times do
9
+ widget.valid?
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1 @@
1
+ This gem bundles the Apache Derby database. Derby is available under the terms of the Apache Software License, version 2.0. See http://www.apache.org/licenses/LICENSE-2.0.txt for details.
@@ -0,0 +1,6 @@
1
+ This is a Derby JDBC driver gem for JRuby. Use
2
+
3
+ require 'jdbc/derby'
4
+
5
+ to make the driver accessible to JDBC and ActiveRecord code running in JRuby.
6
+
@@ -0,0 +1,26 @@
1
+ MANIFEST = FileList["Manifest.txt", "Rakefile", "README.txt", "LICENSE.txt", "lib/**/*"]
2
+
3
+ file "Manifest.txt" => :manifest
4
+ task :manifest do
5
+ File.open("Manifest.txt", "w") {|f| MANIFEST.each {|n| f << "#{n}\n"} }
6
+ end
7
+ Rake::Task['manifest'].invoke # Always regen manifest, so Hoe has up-to-date list of files
8
+
9
+ $LOAD_PATH << "lib"
10
+ require "jdbc/derby"
11
+ begin
12
+ require 'hoe'
13
+ Hoe.new("jdbc-derby", Jdbc::Derby::VERSION) do |p|
14
+ p.rubyforge_name = "jruby-extras"
15
+ p.url = "http://jruby-extras.rubyforge.org/ActiveRecord-JDBC"
16
+ p.author = "Nick Sieger, Ola Bini and JRuby contributors"
17
+ p.email = "nick@nicksieger.com, ola.bini@gmail.com"
18
+ p.summary = "Derby/JavaDB JDBC driver for Java and Derby/ActiveRecord-JDBC."
19
+ p.changes = "Updated to Derby version #{Jdbc::Derby::VERSION}."
20
+ p.description = "Install this gem and require 'derby' within JRuby to load the driver."
21
+ end.spec.dependencies.delete_if { |dep| dep.name == "hoe" }
22
+ rescue LoadError
23
+ puts "You really need Hoe installed to be able to package this gem"
24
+ rescue => e
25
+ puts "ignoring error while loading hoe: #{e.to_s}"
26
+ end
@@ -0,0 +1,11 @@
1
+ module Jdbc
2
+ module Derby
3
+ VERSION = "10.5.3.0"
4
+ end
5
+ end
6
+
7
+ if RUBY_PLATFORM =~ /java/
8
+ require "derby-#{Jdbc::Derby::VERSION}.jar"
9
+ else
10
+ warn "jdbc-derby is only for use with JRuby"
11
+ end
File without changes
@@ -0,0 +1,2 @@
1
+ This gem bundles the H2 driver for Java. H2 is available under the terms of the H2 license, see http://www.h2database.com/html/license.html for details.
2
+
@@ -0,0 +1,6 @@
1
+ This is a H2 JDBC driver gem for JRuby. Use
2
+
3
+ require 'jdbc/h2'
4
+
5
+ to make the driver accessible to JDBC and ActiveRecord code running in JRuby.
6
+
@@ -0,0 +1,26 @@
1
+ MANIFEST = FileList["Manifest.txt", "Rakefile", "README.txt", "LICENSE.txt", "lib/**/*"]
2
+
3
+ file "Manifest.txt" => :manifest
4
+ task :manifest do
5
+ File.open("Manifest.txt", "w") {|f| MANIFEST.each {|n| f << "#{n}\n"} }
6
+ end
7
+ Rake::Task['manifest'].invoke # Always regen manifest, so Hoe has up-to-date list of files
8
+
9
+ $LOAD_PATH << "lib"
10
+ require "jdbc/h2"
11
+ begin
12
+ require 'hoe'
13
+ Hoe.new("jdbc-h2", Jdbc::H2::VERSION) do |p|
14
+ p.rubyforge_name = "jruby-extras"
15
+ p.url = "http://jruby-extras.rubyforge.org/ActiveRecord-JDBC"
16
+ p.author = "Nick Sieger, Ola Bini and JRuby contributors"
17
+ p.email = "nick@nicksieger.com, ola.bini@gmail.com"
18
+ p.summary = "H2 JDBC driver for Java and H2/ActiveRecord-JDBC."
19
+ p.changes = "Updated to H2 version #{Jdbc::H2::VERSION}."
20
+ p.description = "Install this gem and require 'h2' within JRuby to load the driver."
21
+ end.spec.dependencies.delete_if { |dep| dep.name == "hoe" }
22
+ rescue LoadError
23
+ puts "You really need Hoe installed to be able to package this gem"
24
+ rescue => e
25
+ puts "ignoring error while loading hoe: #{e.to_s}"
26
+ end
Binary file
@@ -0,0 +1,10 @@
1
+ module Jdbc
2
+ module H2
3
+ VERSION = "1.1.107"
4
+ end
5
+ end
6
+ if RUBY_PLATFORM =~ /java/
7
+ require "h2-#{Jdbc::H2::VERSION}.jar"
8
+ else
9
+ warn "jdbc-h2 is only for use with JRuby"
10
+ end
File without changes
@@ -0,0 +1,2 @@
1
+ This gem bundles the HSQLDB driver for Java. HSQL is available under the terms of the Hypersonic SQL license, see http://hsqldb.org/web/hsqlLicense.html for details.
2
+
@@ -0,0 +1,6 @@
1
+ This is a HSQLDB JDBC driver gem for JRuby. Use
2
+
3
+ require 'jdbc/hsqldb'
4
+
5
+ to make the driver accessible to JDBC and ActiveRecord code running in JRuby.
6
+
@@ -0,0 +1,26 @@
1
+ MANIFEST = FileList["Manifest.txt", "Rakefile", "README.txt", "LICENSE.txt", "lib/**/*"]
2
+
3
+ file "Manifest.txt" => :manifest
4
+ task :manifest do
5
+ File.open("Manifest.txt", "w") {|f| MANIFEST.each {|n| f << "#{n}\n"} }
6
+ end
7
+ Rake::Task['manifest'].invoke # Always regen manifest, so Hoe has up-to-date list of files
8
+
9
+ $LOAD_PATH << "lib"
10
+ require "jdbc/hsqldb"
11
+ begin
12
+ require 'hoe'
13
+ Hoe.new("jdbc-hsqldb", Jdbc::HSQLDB::VERSION) do |p|
14
+ p.rubyforge_name = "jruby-extras"
15
+ p.url = "http://jruby-extras.rubyforge.org/ActiveRecord-JDBC"
16
+ p.author = "Nick Sieger, Ola Bini and JRuby contributors"
17
+ p.email = "nick@nicksieger.com, ola.bini@gmail.com"
18
+ p.summary = "HSQLDB JDBC driver for Java and HSQLDB/ActiveRecord-JDBC."
19
+ p.changes = "Updated to HSQLDB version #{Jdbc::HSQLDB::VERSION}."
20
+ p.description = "Install this gem and require 'hsqldb' within JRuby to load the driver."
21
+ end.spec.dependencies.delete_if { |dep| dep.name == "hoe" }
22
+ rescue LoadError
23
+ puts "You really need Hoe installed to be able to package this gem"
24
+ rescue => e
25
+ puts "ignoring error while loading hoe: #{e.to_s}"
26
+ end
@@ -0,0 +1,10 @@
1
+ module Jdbc
2
+ module HSQLDB
3
+ VERSION = "1.8.0.7"
4
+ end
5
+ end
6
+ if RUBY_PLATFORM =~ /java/
7
+ require "hsqldb-#{Jdbc::HSQLDB::VERSION}.jar"
8
+ else
9
+ warn "jdbc-hsqldb is only for use with JRuby"
10
+ end
File without changes
@@ -0,0 +1 @@
1
+ This gem bundles the MySQL JDBC driver/connector for Java. The MySQL connector is available from MySQL AB under the terms of the GPL, see http://www.gnu.org/copyleft/gpl.html for details.
@@ -0,0 +1,6 @@
1
+ This is a MySQL JDBC driver gem for JRuby. Use
2
+
3
+ require 'jdbc/mysql'
4
+
5
+ to make the driver accessible to JDBC and ActiveRecord code running in JRuby.
6
+
@@ -0,0 +1,26 @@
1
+ MANIFEST = FileList["Manifest.txt", "Rakefile", "README.txt", "LICENSE.txt", "lib/**/*"]
2
+
3
+ file "Manifest.txt" => :manifest
4
+ task :manifest do
5
+ File.open("Manifest.txt", "w") {|f| MANIFEST.each {|n| f << "#{n}\n"} }
6
+ end
7
+ Rake::Task['manifest'].invoke # Always regen manifest, so Hoe has up-to-date list of files
8
+
9
+ $LOAD_PATH << "lib"
10
+ require "jdbc/mysql"
11
+ begin
12
+ require 'hoe'
13
+ Hoe.new("jdbc-mysql", Jdbc::MySQL::VERSION) do |p|
14
+ p.rubyforge_name = "jruby-extras"
15
+ p.url = "http://jruby-extras.rubyforge.org/ActiveRecord-JDBC"
16
+ p.author = "Nick Sieger, Ola Bini and JRuby contributors"
17
+ p.email = "nick@nicksieger.com, ola.bini@gmail.com"
18
+ p.summary = "MySQL JDBC driver for Java and MySQL/ActiveRecord-JDBC."
19
+ p.changes = "Updated to MySQL connector version #{Jdbc::MySQL::VERSION}."
20
+ p.description = "Install this gem and require 'mysql' within JRuby to load the driver."
21
+ end.spec.dependencies.delete_if { |dep| dep.name == "hoe" }
22
+ rescue LoadError
23
+ puts "You really need Hoe installed to be able to package this gem"
24
+ rescue => e
25
+ puts "ignoring error while loading hoe: #{e.to_s}"
26
+ end
@@ -0,0 +1,10 @@
1
+ module Jdbc
2
+ module MySQL
3
+ VERSION = "5.0.4"
4
+ end
5
+ end
6
+ if RUBY_PLATFORM =~ /java/
7
+ require "mysql-connector-java-#{Jdbc::MySQL::VERSION}-bin.jar"
8
+ else
9
+ warn "jdbc-mysql is only for use with JRuby"
10
+ end
@@ -0,0 +1,7 @@
1
+ === 8.3.604
2
+ * Upgraded to 8.3-604 drivers
3
+ * Added runtime selection of either JDBC 3 or JDBC 4 (j2se 1.6+)
4
+ driver.
5
+
6
+ === 8.2
7
+ * Initial version
@@ -0,0 +1,12 @@
1
+ PostgreSQL Database Management System
2
+ (formerly known as Postgres, then as Postgres95)
3
+
4
+ Portions Copyright (c) 1996-2005, The PostgreSQL Global Development Group
5
+
6
+ Portions Copyright (c) 1994, The Regents of the University of California
7
+
8
+ Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.
9
+
10
+ IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
11
+
12
+ THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
@@ -0,0 +1,5 @@
1
+ This is a Postgres JDBC driver gem for JRuby. Use
2
+
3
+ require 'jdbc/postgres'
4
+
5
+ to make the driver accessible to JDBC and ActiveRecord code running in JRuby.
@@ -0,0 +1,27 @@
1
+ MANIFEST = FileList["Manifest.txt", "Rakefile", "README.txt", "LICENSE.txt",
2
+ "History.txt", "lib/**/*"].sort
3
+
4
+ file "Manifest.txt" => :manifest
5
+ task :manifest do
6
+ File.open("Manifest.txt", "w") {|f| MANIFEST.each {|n| f << "#{n}\n"} }
7
+ end
8
+ Rake::Task['manifest'].invoke # Always regen manifest, so Hoe has up-to-date list of files
9
+
10
+ $LOAD_PATH << "lib"
11
+ require "jdbc/postgres"
12
+ begin
13
+ require 'hoe'
14
+ Hoe.new("jdbc-postgres", Jdbc::Postgres::VERSION) do |p|
15
+ p.rubyforge_name = "jruby-extras"
16
+ p.url = "http://jruby-extras.rubyforge.org/ActiveRecord-JDBC"
17
+ p.author = "Nick Sieger, Ola Bini and JRuby contributors"
18
+ p.email = "nick@nicksieger.com, ola.bini@gmail.com"
19
+ p.summary = "PostgreSQL JDBC driver for Java and PostgreSQL/ActiveRecord-JDBC."
20
+ p.changes = "Updated to PostgreSQL version #{Jdbc::Postgres::VERSION}."
21
+ p.description = "Install this gem and require 'postgres' within JRuby to load the driver."
22
+ end.spec.dependencies.delete_if { |dep| dep.name == "hoe" }
23
+ rescue LoadError
24
+ puts "You really need Hoe installed to be able to package this gem"
25
+ rescue => e
26
+ puts "ignoring error while loading hoe: #{e.to_s}"
27
+ end
@@ -0,0 +1,25 @@
1
+ module Jdbc
2
+ module Postgres
3
+ VERSION = "8.3.604"
4
+
5
+ def self.require_driver_jar
6
+ vers = VERSION.split( '.' )
7
+ vers << jdbc_version
8
+ require( "postgresql-%s.%s-%s.jdbc%d.jar" % vers )
9
+ end
10
+
11
+ # JDBC version 4 if Java >=1.6, else 3
12
+ def self.jdbc_version
13
+ vers = Java::java.lang.System::get_property( "java.specification.version" )
14
+ vers = vers.split( '.' ).map { |v| v.to_i }
15
+ ( ( vers <=> [ 1, 6 ] ) >= 0 ) ? 4 : 3
16
+ end
17
+
18
+ end
19
+ end
20
+
21
+ if RUBY_PLATFORM =~ /java/
22
+ Jdbc::Postgres::require_driver_jar
23
+ else
24
+ warn "jdbc-postgres is only for use with JRuby"
25
+ end