activerecord-jdbc-adapter-onsite 1.2.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.
Files changed (228) hide show
  1. data/.gitignore +22 -0
  2. data/.travis.yml +14 -0
  3. data/Appraisals +16 -0
  4. data/Gemfile +11 -0
  5. data/Gemfile.lock +45 -0
  6. data/History.txt +488 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.rdoc +214 -0
  9. data/Rakefile +62 -0
  10. data/activerecord-jdbc-adapter.gemspec +23 -0
  11. data/bench/bench_attributes.rb +13 -0
  12. data/bench/bench_attributes_new.rb +14 -0
  13. data/bench/bench_create.rb +12 -0
  14. data/bench/bench_find_all.rb +12 -0
  15. data/bench/bench_find_all_mt.rb +25 -0
  16. data/bench/bench_model.rb +85 -0
  17. data/bench/bench_new.rb +12 -0
  18. data/bench/bench_new_valid.rb +12 -0
  19. data/bench/bench_valid.rb +13 -0
  20. data/gemfiles/rails23.gemfile +10 -0
  21. data/gemfiles/rails23.gemfile.lock +38 -0
  22. data/gemfiles/rails30.gemfile +9 -0
  23. data/gemfiles/rails30.gemfile.lock +33 -0
  24. data/gemfiles/rails31.gemfile +9 -0
  25. data/gemfiles/rails31.gemfile.lock +35 -0
  26. data/gemfiles/rails32.gemfile +9 -0
  27. data/gemfiles/rails32.gemfile.lock +35 -0
  28. data/lib/active_record/connection_adapters/derby_adapter.rb +1 -0
  29. data/lib/active_record/connection_adapters/h2_adapter.rb +1 -0
  30. data/lib/active_record/connection_adapters/hsqldb_adapter.rb +1 -0
  31. data/lib/active_record/connection_adapters/informix_adapter.rb +1 -0
  32. data/lib/active_record/connection_adapters/jdbc_adapter.rb +1 -0
  33. data/lib/active_record/connection_adapters/jndi_adapter.rb +1 -0
  34. data/lib/active_record/connection_adapters/mssql_adapter.rb +1 -0
  35. data/lib/active_record/connection_adapters/mysql2_adapter.rb +1 -0
  36. data/lib/active_record/connection_adapters/mysql_adapter.rb +1 -0
  37. data/lib/active_record/connection_adapters/oracle_adapter.rb +1 -0
  38. data/lib/active_record/connection_adapters/postgresql_adapter.rb +1 -0
  39. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +1 -0
  40. data/lib/activerecord-jdbc-adapter.rb +8 -0
  41. data/lib/arel/engines/sql/compilers/db2_compiler.rb +9 -0
  42. data/lib/arel/engines/sql/compilers/derby_compiler.rb +6 -0
  43. data/lib/arel/engines/sql/compilers/h2_compiler.rb +6 -0
  44. data/lib/arel/engines/sql/compilers/hsqldb_compiler.rb +15 -0
  45. data/lib/arel/engines/sql/compilers/jdbc_compiler.rb +6 -0
  46. data/lib/arel/engines/sql/compilers/mssql_compiler.rb +46 -0
  47. data/lib/arel/visitors/compat.rb +13 -0
  48. data/lib/arel/visitors/db2.rb +17 -0
  49. data/lib/arel/visitors/derby.rb +32 -0
  50. data/lib/arel/visitors/firebird.rb +24 -0
  51. data/lib/arel/visitors/hsqldb.rb +26 -0
  52. data/lib/arel/visitors/sql_server.rb +46 -0
  53. data/lib/arjdbc.rb +24 -0
  54. data/lib/arjdbc/db2.rb +2 -0
  55. data/lib/arjdbc/db2/adapter.rb +541 -0
  56. data/lib/arjdbc/derby.rb +7 -0
  57. data/lib/arjdbc/derby/adapter.rb +358 -0
  58. data/lib/arjdbc/derby/connection_methods.rb +19 -0
  59. data/lib/arjdbc/discover.rb +92 -0
  60. data/lib/arjdbc/firebird.rb +2 -0
  61. data/lib/arjdbc/firebird/adapter.rb +140 -0
  62. data/lib/arjdbc/h2.rb +4 -0
  63. data/lib/arjdbc/h2/adapter.rb +54 -0
  64. data/lib/arjdbc/h2/connection_methods.rb +13 -0
  65. data/lib/arjdbc/hsqldb.rb +4 -0
  66. data/lib/arjdbc/hsqldb/adapter.rb +184 -0
  67. data/lib/arjdbc/hsqldb/connection_methods.rb +15 -0
  68. data/lib/arjdbc/informix.rb +3 -0
  69. data/lib/arjdbc/informix/adapter.rb +142 -0
  70. data/lib/arjdbc/informix/connection_methods.rb +11 -0
  71. data/lib/arjdbc/jdbc.rb +2 -0
  72. data/lib/arjdbc/jdbc/adapter.rb +356 -0
  73. data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
  74. data/lib/arjdbc/jdbc/base_ext.rb +15 -0
  75. data/lib/arjdbc/jdbc/callbacks.rb +44 -0
  76. data/lib/arjdbc/jdbc/column.rb +47 -0
  77. data/lib/arjdbc/jdbc/compatibility.rb +51 -0
  78. data/lib/arjdbc/jdbc/connection.rb +134 -0
  79. data/lib/arjdbc/jdbc/connection_methods.rb +16 -0
  80. data/lib/arjdbc/jdbc/core_ext.rb +24 -0
  81. data/lib/arjdbc/jdbc/discover.rb +18 -0
  82. data/lib/arjdbc/jdbc/driver.rb +35 -0
  83. data/lib/arjdbc/jdbc/extension.rb +47 -0
  84. data/lib/arjdbc/jdbc/java.rb +14 -0
  85. data/lib/arjdbc/jdbc/jdbc.rake +131 -0
  86. data/lib/arjdbc/jdbc/missing_functionality_helper.rb +88 -0
  87. data/lib/arjdbc/jdbc/quoted_primary_key.rb +28 -0
  88. data/lib/arjdbc/jdbc/railtie.rb +9 -0
  89. data/lib/arjdbc/jdbc/rake_tasks.rb +10 -0
  90. data/lib/arjdbc/jdbc/require_driver.rb +16 -0
  91. data/lib/arjdbc/jdbc/type_converter.rb +126 -0
  92. data/lib/arjdbc/mimer.rb +2 -0
  93. data/lib/arjdbc/mimer/adapter.rb +142 -0
  94. data/lib/arjdbc/mssql.rb +4 -0
  95. data/lib/arjdbc/mssql/adapter.rb +477 -0
  96. data/lib/arjdbc/mssql/connection_methods.rb +31 -0
  97. data/lib/arjdbc/mssql/limit_helpers.rb +101 -0
  98. data/lib/arjdbc/mssql/lock_helpers.rb +72 -0
  99. data/lib/arjdbc/mssql/tsql_helper.rb +61 -0
  100. data/lib/arjdbc/mysql.rb +4 -0
  101. data/lib/arjdbc/mysql/adapter.rb +505 -0
  102. data/lib/arjdbc/mysql/connection_methods.rb +28 -0
  103. data/lib/arjdbc/oracle.rb +3 -0
  104. data/lib/arjdbc/oracle/adapter.rb +432 -0
  105. data/lib/arjdbc/oracle/connection_methods.rb +12 -0
  106. data/lib/arjdbc/postgresql.rb +4 -0
  107. data/lib/arjdbc/postgresql/adapter.rb +861 -0
  108. data/lib/arjdbc/postgresql/connection_methods.rb +23 -0
  109. data/lib/arjdbc/sqlite3.rb +4 -0
  110. data/lib/arjdbc/sqlite3/adapter.rb +389 -0
  111. data/lib/arjdbc/sqlite3/connection_methods.rb +35 -0
  112. data/lib/arjdbc/sybase.rb +2 -0
  113. data/lib/arjdbc/sybase/adapter.rb +46 -0
  114. data/lib/arjdbc/version.rb +8 -0
  115. data/lib/generators/jdbc/USAGE +10 -0
  116. data/lib/generators/jdbc/jdbc_generator.rb +9 -0
  117. data/lib/jdbc_adapter.rb +2 -0
  118. data/lib/jdbc_adapter/rake_tasks.rb +3 -0
  119. data/lib/jdbc_adapter/version.rb +3 -0
  120. data/lib/pg.rb +26 -0
  121. data/pom.xml +57 -0
  122. data/rails_generators/jdbc_generator.rb +15 -0
  123. data/rails_generators/templates/config/initializers/jdbc.rb +7 -0
  124. data/rails_generators/templates/lib/tasks/jdbc.rake +8 -0
  125. data/rakelib/bundler_ext.rb +11 -0
  126. data/rakelib/compile.rake +23 -0
  127. data/rakelib/db.rake +39 -0
  128. data/rakelib/rails.rake +41 -0
  129. data/src/java/arjdbc/db2/DB2RubyJdbcConnection.java +69 -0
  130. data/src/java/arjdbc/derby/DerbyModule.java +324 -0
  131. data/src/java/arjdbc/h2/H2RubyJdbcConnection.java +70 -0
  132. data/src/java/arjdbc/informix/InformixRubyJdbcConnection.java +74 -0
  133. data/src/java/arjdbc/jdbc/AdapterJavaService.java +68 -0
  134. data/src/java/arjdbc/jdbc/JdbcConnectionFactory.java +36 -0
  135. data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +1346 -0
  136. data/src/java/arjdbc/jdbc/SQLBlock.java +48 -0
  137. data/src/java/arjdbc/mssql/MssqlRubyJdbcConnection.java +127 -0
  138. data/src/java/arjdbc/mysql/MySQLModule.java +134 -0
  139. data/src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java +161 -0
  140. data/src/java/arjdbc/oracle/OracleRubyJdbcConnection.java +85 -0
  141. data/src/java/arjdbc/postgresql/PostgresqlRubyJdbcConnection.java +82 -0
  142. data/src/java/arjdbc/sqlite3/Sqlite3RubyJdbcConnection.java +126 -0
  143. data/test/abstract_db_create.rb +135 -0
  144. data/test/activerecord/connection_adapters/type_conversion_test.rb +31 -0
  145. data/test/activerecord/connections/native_jdbc_mysql/connection.rb +25 -0
  146. data/test/activerecord/jall.sh +7 -0
  147. data/test/activerecord/jtest.sh +3 -0
  148. data/test/db/db2.rb +11 -0
  149. data/test/db/derby.rb +12 -0
  150. data/test/db/h2.rb +11 -0
  151. data/test/db/hsqldb.rb +13 -0
  152. data/test/db/informix.rb +11 -0
  153. data/test/db/jdbc.rb +12 -0
  154. data/test/db/jndi_config.rb +40 -0
  155. data/test/db/logger.rb +3 -0
  156. data/test/db/mssql.rb +9 -0
  157. data/test/db/mysql.rb +10 -0
  158. data/test/db/oracle.rb +34 -0
  159. data/test/db/postgres.rb +18 -0
  160. data/test/db/sqlite3.rb +11 -0
  161. data/test/db2_reset_column_information_test.rb +8 -0
  162. data/test/db2_simple_test.rb +66 -0
  163. data/test/derby_migration_test.rb +68 -0
  164. data/test/derby_multibyte_test.rb +12 -0
  165. data/test/derby_reset_column_information_test.rb +8 -0
  166. data/test/derby_row_locking_test.rb +9 -0
  167. data/test/derby_simple_test.rb +139 -0
  168. data/test/generic_jdbc_connection_test.rb +29 -0
  169. data/test/h2_change_column_test.rb +68 -0
  170. data/test/h2_simple_test.rb +41 -0
  171. data/test/has_many_through.rb +79 -0
  172. data/test/helper.rb +108 -0
  173. data/test/hsqldb_simple_test.rb +6 -0
  174. data/test/informix_simple_test.rb +48 -0
  175. data/test/jdbc_common.rb +28 -0
  176. data/test/jndi_callbacks_test.rb +36 -0
  177. data/test/jndi_test.rb +25 -0
  178. data/test/manualTestDatabase.rb +191 -0
  179. data/test/models/add_not_null_column_to_table.rb +9 -0
  180. data/test/models/auto_id.rb +15 -0
  181. data/test/models/custom_pk_name.rb +14 -0
  182. data/test/models/data_types.rb +30 -0
  183. data/test/models/entry.rb +40 -0
  184. data/test/models/mixed_case.rb +22 -0
  185. data/test/models/reserved_word.rb +15 -0
  186. data/test/models/string_id.rb +17 -0
  187. data/test/models/thing.rb +16 -0
  188. data/test/models/validates_uniqueness_of_string.rb +19 -0
  189. data/test/mssql_db_create_test.rb +26 -0
  190. data/test/mssql_identity_insert_test.rb +19 -0
  191. data/test/mssql_ignore_system_views_test.rb +27 -0
  192. data/test/mssql_legacy_types_test.rb +58 -0
  193. data/test/mssql_limit_offset_test.rb +136 -0
  194. data/test/mssql_multibyte_test.rb +18 -0
  195. data/test/mssql_null_test.rb +14 -0
  196. data/test/mssql_reset_column_information_test.rb +8 -0
  197. data/test/mssql_row_locking_sql_test.rb +159 -0
  198. data/test/mssql_row_locking_test.rb +9 -0
  199. data/test/mssql_simple_test.rb +55 -0
  200. data/test/mysql_db_create_test.rb +27 -0
  201. data/test/mysql_index_length_test.rb +58 -0
  202. data/test/mysql_info_test.rb +123 -0
  203. data/test/mysql_multibyte_test.rb +10 -0
  204. data/test/mysql_nonstandard_primary_key_test.rb +42 -0
  205. data/test/mysql_reset_column_information_test.rb +8 -0
  206. data/test/mysql_simple_test.rb +125 -0
  207. data/test/oracle_reset_column_information_test.rb +8 -0
  208. data/test/oracle_simple_test.rb +18 -0
  209. data/test/oracle_specific_test.rb +83 -0
  210. data/test/postgres_db_create_test.rb +32 -0
  211. data/test/postgres_drop_db_test.rb +16 -0
  212. data/test/postgres_information_schema_leak_test.rb +29 -0
  213. data/test/postgres_mixed_case_test.rb +29 -0
  214. data/test/postgres_native_type_mapping_test.rb +93 -0
  215. data/test/postgres_nonseq_pkey_test.rb +38 -0
  216. data/test/postgres_reserved_test.rb +22 -0
  217. data/test/postgres_reset_column_information_test.rb +8 -0
  218. data/test/postgres_schema_search_path_test.rb +48 -0
  219. data/test/postgres_simple_test.rb +168 -0
  220. data/test/postgres_table_alias_length_test.rb +15 -0
  221. data/test/postgres_type_conversion_test.rb +34 -0
  222. data/test/row_locking.rb +90 -0
  223. data/test/simple.rb +731 -0
  224. data/test/sqlite3_reset_column_information_test.rb +8 -0
  225. data/test/sqlite3_simple_test.rb +316 -0
  226. data/test/sybase_jtds_simple_test.rb +28 -0
  227. data/test/sybase_reset_column_information_test.rb +8 -0
  228. metadata +288 -0
@@ -0,0 +1,8 @@
1
+ #! /usr/bin/env jruby
2
+
3
+ require 'jdbc_common'
4
+ require 'db/sqlite3'
5
+
6
+ class Sqlite3ResetColumnInformationTest < Test::Unit::TestCase
7
+ include ResetColumnInformationTestMethods
8
+ end
@@ -0,0 +1,316 @@
1
+ require 'jdbc_common'
2
+ require 'db/sqlite3'
3
+ require 'models/data_types'
4
+ require 'models/validates_uniqueness_of_string'
5
+
6
+ class SQLite3SimpleTest < Test::Unit::TestCase
7
+ include SimpleTestMethods
8
+ include ActiveRecord3TestMethods
9
+ include ColumnNameQuotingTests
10
+ include DirtyAttributeTests
11
+
12
+ def test_recreate_database
13
+ assert @connection.tables.include?(Entry.table_name)
14
+ db = @connection.database_name
15
+ @connection.recreate_database(db)
16
+ assert !@connection.tables.include?(Entry.table_name)
17
+ self.setup # avoid teardown complaining
18
+ end
19
+
20
+ def test_execute_insert
21
+ assert_equal 1, Entry.count
22
+ id = @connection.execute "INSERT INTO entries (title, content) VALUES ('Execute Insert', 'This now works with SQLite3')"
23
+ assert_equal Entry.last.id, id
24
+ assert_equal 2, Entry.count
25
+ end
26
+
27
+ def test_execute_update
28
+ affected_rows = @connection.execute "UPDATE entries SET title = 'Execute Update' WHERE id = #{Entry.first.id}"
29
+ assert_equal 1, affected_rows
30
+ assert_equal 'Execute Update', Entry.first.title
31
+ end
32
+
33
+ def test_columns
34
+ cols = ActiveRecord::Base.connection.columns("entries")
35
+ assert cols.find {|col| col.name == "title"}
36
+ end
37
+
38
+ def test_remove_column
39
+ assert_nothing_raised do
40
+ ActiveRecord::Schema.define do
41
+ add_column "entries", "test_remove_column", :string
42
+ end
43
+ end
44
+
45
+ cols = ActiveRecord::Base.connection.columns("entries")
46
+ assert cols.find {|col| col.name == "test_remove_column"}
47
+
48
+ assert_nothing_raised do
49
+ ActiveRecord::Schema.define do
50
+ remove_column "entries", "test_remove_column"
51
+ end
52
+ end
53
+
54
+ cols = ActiveRecord::Base.connection.columns("entries")
55
+ assert !cols.find {|col| col.name == "test_remove_column"}
56
+ end
57
+
58
+ def test_rename_column
59
+ assert_nothing_raised do
60
+ ActiveRecord::Schema.define do
61
+ rename_column "entries", "title", "name"
62
+ end
63
+ end
64
+
65
+ cols = ActiveRecord::Base.connection.columns("entries")
66
+ assert cols.find {|col| col.name == "name"}
67
+ assert !cols.find {|col| col.name == "title"}
68
+
69
+ assert_nothing_raised do
70
+ ActiveRecord::Schema.define do
71
+ rename_column "entries", "name", "title"
72
+ end
73
+ end
74
+
75
+ cols = ActiveRecord::Base.connection.columns("entries")
76
+ assert cols.find {|col| col.name == "title"}
77
+ assert !cols.find {|col| col.name == "name"}
78
+ end
79
+
80
+ def test_rename_column_preserves_content
81
+ post = Entry.find(:first)
82
+ assert_equal @title, post.title
83
+ assert_equal @content, post.content
84
+ assert_equal @rating, post.rating
85
+
86
+ assert_nothing_raised do
87
+ ActiveRecord::Schema.define do
88
+ rename_column "entries", "title", "name"
89
+ end
90
+ end
91
+
92
+ post = Entry.find(:first)
93
+ assert_equal @title, post.name
94
+ assert_equal @content, post.content
95
+ assert_equal @rating, post.rating
96
+ end
97
+
98
+ def test_rename_column_preserves_index
99
+ assert_equal(0, @connection.indexes(:entries).size)
100
+
101
+ index_name = "entries_index"
102
+
103
+ assert_nothing_raised do
104
+ ActiveRecord::Schema.define do
105
+ add_index "entries", "title", :name => index_name
106
+ end
107
+ end
108
+
109
+ indexes = @connection.indexes(:entries)
110
+ assert_equal(1, indexes.size)
111
+ assert_equal "entries", indexes.first.table.to_s
112
+ assert_equal index_name, indexes.first.name
113
+ assert !indexes.first.unique
114
+ assert_equal ["title"], indexes.first.columns
115
+
116
+ assert_nothing_raised do
117
+ ActiveRecord::Schema.define do
118
+ rename_column "entries", "title", "name"
119
+ end
120
+ end
121
+
122
+ indexes = @connection.indexes(:entries)
123
+ assert_equal(1, indexes.size)
124
+ assert_equal "entries", indexes.first.table.to_s
125
+ assert_equal index_name, indexes.first.name
126
+ assert !indexes.first.unique
127
+ assert_equal ["name"], indexes.first.columns
128
+ end
129
+
130
+ def test_column_default
131
+ assert_nothing_raised do
132
+ ActiveRecord::Schema.define do
133
+ add_column "entries", "test_column_default", :string
134
+ end
135
+ end
136
+
137
+ cols = ActiveRecord::Base.connection.columns("entries")
138
+ col = cols.find{|col| col.name == "test_column_default"}
139
+ assert col
140
+ assert_equal col.default, nil
141
+
142
+ end
143
+
144
+ def test_change_column_default
145
+ assert_nothing_raised do
146
+ ActiveRecord::Schema.define do
147
+ add_column "entries", "test_change_column_default", :string, :default => "unchanged"
148
+ end
149
+ end
150
+
151
+ cols = ActiveRecord::Base.connection.columns("entries")
152
+ col = cols.find{|col| col.name == "test_change_column_default"}
153
+ assert col
154
+ assert_equal col.default, 'unchanged'
155
+
156
+ assert_nothing_raised do
157
+ ActiveRecord::Schema.define do
158
+ change_column_default "entries", "test_change_column_default", "changed"
159
+ end
160
+ end
161
+
162
+ cols = ActiveRecord::Base.connection.columns("entries")
163
+ col = cols.find{|col| col.name == "test_change_column_default"}
164
+ assert col
165
+ assert_equal col.default, 'changed'
166
+ end
167
+
168
+ def test_change_column
169
+ assert_nothing_raised do
170
+ ActiveRecord::Schema.define do
171
+ add_column "entries", "test_change_column", :string
172
+ end
173
+ end
174
+
175
+ cols = ActiveRecord::Base.connection.columns("entries")
176
+ col = cols.find{|col| col.name == "test_change_column"}
177
+ assert col
178
+ assert_equal col.type, :string
179
+
180
+ assert_nothing_raised do
181
+ ActiveRecord::Schema.define do
182
+ change_column "entries", "test_change_column", :integer
183
+ end
184
+ end
185
+
186
+ cols = ActiveRecord::Base.connection.columns("entries")
187
+ col = cols.find{|col| col.name == "test_change_column"}
188
+ assert col
189
+ assert_equal col.type, :integer
190
+ end
191
+
192
+ def test_change_column_with_new_precision_and_scale
193
+ Entry.delete_all
194
+ Entry.
195
+ connection.
196
+ change_column "entries", "rating", :decimal, :precision => 9, :scale => 7
197
+ Entry.reset_column_information
198
+ change_column = Entry.columns_hash["rating"]
199
+ assert_equal 9, change_column.precision
200
+ assert_equal 7, change_column.scale
201
+ end
202
+
203
+ def test_change_column_preserve_other_column_precision_and_scale
204
+ Entry.delete_all
205
+ Entry.
206
+ connection.
207
+ change_column "entries", "rating", :decimal, :precision => 9, :scale => 7
208
+ Entry.reset_column_information
209
+
210
+ rating_column = Entry.columns_hash["rating"]
211
+ assert_equal 9, rating_column.precision
212
+ assert_equal 7, rating_column.scale
213
+
214
+ Entry.
215
+ connection.
216
+ change_column "entries", "title", :string, :null => false
217
+ Entry.reset_column_information
218
+
219
+ rating_column = Entry.columns_hash["rating"]
220
+ assert_equal 9, rating_column.precision
221
+ assert_equal 7, rating_column.scale
222
+ end
223
+
224
+ def test_create_xml_column
225
+ assert_nothing_raised do
226
+ @connection.create_table :xml_testings do |t|
227
+ t.xml :xml_test
228
+ end
229
+ end
230
+
231
+ xml_test = @connection.columns(:xml_testings).detect do |c|
232
+ c.name == "xml_test"
233
+ end
234
+
235
+ assert_equal "text", xml_test.sql_type
236
+ ensure
237
+ @connection.drop_table :xml_testings rescue nil
238
+ end
239
+ end
240
+
241
+ # assert_raise ActiveRecord::RecordInvalid do
242
+
243
+ class SQLite3HasManyThroughTest < Test::Unit::TestCase
244
+ include HasManyThroughMethods
245
+ end
246
+
247
+ if jruby?
248
+ JInteger = java.lang.Integer
249
+ else
250
+ JInteger = Fixnum
251
+ class Fixnum
252
+ # Arbitrary value...we could pick
253
+ MAX_VALUE = 2
254
+ end
255
+ end
256
+
257
+ class SQLite3TypeConversionTest < Test::Unit::TestCase
258
+ TEST_TIME = Time.at(1169964202)
259
+ TEST_BINARY = "Some random binary data % \0 and then some"
260
+ def setup
261
+ DbTypeMigration.up
262
+ DbType.create(
263
+ :sample_timestamp => TEST_TIME,
264
+ :sample_datetime => TEST_TIME,
265
+ :sample_time => TEST_TIME,
266
+ :sample_date => TEST_TIME,
267
+ :sample_decimal => JInteger::MAX_VALUE + 1,
268
+ :sample_small_decimal => 3.14,
269
+ :sample_binary => TEST_BINARY)
270
+ DbType.create(
271
+ :sample_timestamp => TEST_TIME,
272
+ :sample_datetime => TEST_TIME,
273
+ :sample_time => TEST_TIME,
274
+ :sample_date => TEST_TIME,
275
+ :sample_decimal => JInteger::MAX_VALUE + 1,
276
+ :sample_small_decimal => 1.0,
277
+ :sample_binary => TEST_BINARY)
278
+ end
279
+
280
+ def teardown
281
+ DbTypeMigration.down
282
+ end
283
+
284
+ def test_decimal
285
+ types = DbType.find(:first)
286
+ assert_equal((JInteger::MAX_VALUE + 1), types.sample_decimal)
287
+ end
288
+
289
+ def test_decimal_scale
290
+ types = DbType.find(:first)
291
+ assert_equal(2, DbType.columns_hash["sample_small_decimal"].scale)
292
+ end
293
+
294
+ def test_decimal_precision
295
+ types = DbType.find(:first)
296
+ assert_equal(3, DbType.columns_hash["sample_small_decimal"].precision)
297
+ end
298
+
299
+ def test_binary
300
+ types = DbType.find(:first)
301
+ assert_equal(TEST_BINARY, types.sample_binary)
302
+ end
303
+
304
+ def test_small_decimal
305
+ types = DbType.find(:all, :order => ["sample_small_decimal desc"])
306
+ assert_equal(3.14, types[0].sample_small_decimal)
307
+ assert_equal(1.0, types[1].sample_small_decimal)
308
+ end
309
+
310
+ def test_small_decimal_with_ordering
311
+ types = DbType.find(:all, :order => ["sample_small_decimal asc"])
312
+ types[1].sample_small_decimal
313
+ assert_equal(1.0, types[0].sample_small_decimal)
314
+ assert_equal(3.14, types[1].sample_small_decimal)
315
+ end
316
+ end
@@ -0,0 +1,28 @@
1
+ require 'jdbc_common'
2
+ require 'db/sybase_jtds'
3
+
4
+ class SybaseJtdsSimpleTest < Test::Unit::TestCase
5
+ include SimpleTestMethods
6
+ end
7
+
8
+ class SybaseAdapterSelectionTest < Test::Unit::TestCase
9
+ class MockConnection
10
+ def adapter=(adapt)
11
+ end
12
+ end
13
+
14
+ def test_jtds_selection_using_dialect
15
+ config = {
16
+ :driver => 'net.sourceforge.jtds.Driver',
17
+ :dialect => 'sybase'
18
+ }
19
+ adapt = JdbcAdapter.new(MockConnection.new, nil, config)
20
+ assert adapt.kind_of?(ArJdbc::Sybase), "Should be a sybase adapter"
21
+ end
22
+
23
+ def test_jtds_selection_not_using_dialect
24
+ config = { :driver => 'net.sourceforge.jtds.Driver' }
25
+ adapt = JdbcAdapter.new(MockConnection.new, nil, config)
26
+ assert adapt.kind_of?(ArJdbc::MsSQL), "Should be a MsSQL apdater"
27
+ end
28
+ end
@@ -0,0 +1,8 @@
1
+ #! /usr/bin/env jruby
2
+
3
+ require 'jdbc_common'
4
+ require 'db/sybase'
5
+
6
+ class SybaseResetColumnInformationTest < Test::Unit::TestCase
7
+ include ResetColumnInformationTestMethods
8
+ end
metadata ADDED
@@ -0,0 +1,288 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: activerecord-jdbc-adapter-onsite
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 1.2.2
6
+ platform: ruby
7
+ authors:
8
+ - Nick Sieger, Ola Bini and JRuby contributors
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2012-05-10 00:00:00 Z
14
+ dependencies: []
15
+
16
+ description: |-
17
+ activerecord-jdbc-adapter is a database adapter for Rails\' ActiveRecord
18
+ component that can be used with JRuby[http://www.jruby.org/]. It allows use of
19
+ virtually any JDBC-compliant database with your JRuby on Rails application.
20
+ email: nick@nicksieger.com, ola.bini@gmail.com
21
+ executables: []
22
+
23
+ extensions: []
24
+
25
+ extra_rdoc_files: []
26
+
27
+ files:
28
+ - .gitignore
29
+ - .travis.yml
30
+ - Appraisals
31
+ - Gemfile
32
+ - Gemfile.lock
33
+ - History.txt
34
+ - LICENSE.txt
35
+ - README.rdoc
36
+ - Rakefile
37
+ - activerecord-jdbc-adapter.gemspec
38
+ - bench/bench_attributes.rb
39
+ - bench/bench_attributes_new.rb
40
+ - bench/bench_create.rb
41
+ - bench/bench_find_all.rb
42
+ - bench/bench_find_all_mt.rb
43
+ - bench/bench_model.rb
44
+ - bench/bench_new.rb
45
+ - bench/bench_new_valid.rb
46
+ - bench/bench_valid.rb
47
+ - gemfiles/rails23.gemfile
48
+ - gemfiles/rails23.gemfile.lock
49
+ - gemfiles/rails30.gemfile
50
+ - gemfiles/rails30.gemfile.lock
51
+ - gemfiles/rails31.gemfile
52
+ - gemfiles/rails31.gemfile.lock
53
+ - gemfiles/rails32.gemfile
54
+ - gemfiles/rails32.gemfile.lock
55
+ - lib/active_record/connection_adapters/derby_adapter.rb
56
+ - lib/active_record/connection_adapters/h2_adapter.rb
57
+ - lib/active_record/connection_adapters/hsqldb_adapter.rb
58
+ - lib/active_record/connection_adapters/informix_adapter.rb
59
+ - lib/active_record/connection_adapters/jdbc_adapter.rb
60
+ - lib/active_record/connection_adapters/jndi_adapter.rb
61
+ - lib/active_record/connection_adapters/mssql_adapter.rb
62
+ - lib/active_record/connection_adapters/mysql2_adapter.rb
63
+ - lib/active_record/connection_adapters/mysql_adapter.rb
64
+ - lib/active_record/connection_adapters/oracle_adapter.rb
65
+ - lib/active_record/connection_adapters/postgresql_adapter.rb
66
+ - lib/active_record/connection_adapters/sqlite3_adapter.rb
67
+ - lib/activerecord-jdbc-adapter.rb
68
+ - lib/arel/engines/sql/compilers/db2_compiler.rb
69
+ - lib/arel/engines/sql/compilers/derby_compiler.rb
70
+ - lib/arel/engines/sql/compilers/h2_compiler.rb
71
+ - lib/arel/engines/sql/compilers/hsqldb_compiler.rb
72
+ - lib/arel/engines/sql/compilers/jdbc_compiler.rb
73
+ - lib/arel/engines/sql/compilers/mssql_compiler.rb
74
+ - lib/arel/visitors/compat.rb
75
+ - lib/arel/visitors/db2.rb
76
+ - lib/arel/visitors/derby.rb
77
+ - lib/arel/visitors/firebird.rb
78
+ - lib/arel/visitors/hsqldb.rb
79
+ - lib/arel/visitors/sql_server.rb
80
+ - lib/arjdbc.rb
81
+ - lib/arjdbc/db2.rb
82
+ - lib/arjdbc/db2/adapter.rb
83
+ - lib/arjdbc/derby.rb
84
+ - lib/arjdbc/derby/adapter.rb
85
+ - lib/arjdbc/derby/connection_methods.rb
86
+ - lib/arjdbc/discover.rb
87
+ - lib/arjdbc/firebird.rb
88
+ - lib/arjdbc/firebird/adapter.rb
89
+ - lib/arjdbc/h2.rb
90
+ - lib/arjdbc/h2/adapter.rb
91
+ - lib/arjdbc/h2/connection_methods.rb
92
+ - lib/arjdbc/hsqldb.rb
93
+ - lib/arjdbc/hsqldb/adapter.rb
94
+ - lib/arjdbc/hsqldb/connection_methods.rb
95
+ - lib/arjdbc/informix.rb
96
+ - lib/arjdbc/informix/adapter.rb
97
+ - lib/arjdbc/informix/connection_methods.rb
98
+ - lib/arjdbc/jdbc.rb
99
+ - lib/arjdbc/jdbc/adapter.rb
100
+ - lib/arjdbc/jdbc/adapter_java.jar
101
+ - lib/arjdbc/jdbc/base_ext.rb
102
+ - lib/arjdbc/jdbc/callbacks.rb
103
+ - lib/arjdbc/jdbc/column.rb
104
+ - lib/arjdbc/jdbc/compatibility.rb
105
+ - lib/arjdbc/jdbc/connection.rb
106
+ - lib/arjdbc/jdbc/connection_methods.rb
107
+ - lib/arjdbc/jdbc/core_ext.rb
108
+ - lib/arjdbc/jdbc/discover.rb
109
+ - lib/arjdbc/jdbc/driver.rb
110
+ - lib/arjdbc/jdbc/extension.rb
111
+ - lib/arjdbc/jdbc/java.rb
112
+ - lib/arjdbc/jdbc/jdbc.rake
113
+ - lib/arjdbc/jdbc/missing_functionality_helper.rb
114
+ - lib/arjdbc/jdbc/quoted_primary_key.rb
115
+ - lib/arjdbc/jdbc/railtie.rb
116
+ - lib/arjdbc/jdbc/rake_tasks.rb
117
+ - lib/arjdbc/jdbc/require_driver.rb
118
+ - lib/arjdbc/jdbc/type_converter.rb
119
+ - lib/arjdbc/mimer.rb
120
+ - lib/arjdbc/mimer/adapter.rb
121
+ - lib/arjdbc/mssql.rb
122
+ - lib/arjdbc/mssql/adapter.rb
123
+ - lib/arjdbc/mssql/connection_methods.rb
124
+ - lib/arjdbc/mssql/limit_helpers.rb
125
+ - lib/arjdbc/mssql/lock_helpers.rb
126
+ - lib/arjdbc/mssql/tsql_helper.rb
127
+ - lib/arjdbc/mysql.rb
128
+ - lib/arjdbc/mysql/adapter.rb
129
+ - lib/arjdbc/mysql/connection_methods.rb
130
+ - lib/arjdbc/oracle.rb
131
+ - lib/arjdbc/oracle/adapter.rb
132
+ - lib/arjdbc/oracle/connection_methods.rb
133
+ - lib/arjdbc/postgresql.rb
134
+ - lib/arjdbc/postgresql/adapter.rb
135
+ - lib/arjdbc/postgresql/connection_methods.rb
136
+ - lib/arjdbc/sqlite3.rb
137
+ - lib/arjdbc/sqlite3/adapter.rb
138
+ - lib/arjdbc/sqlite3/connection_methods.rb
139
+ - lib/arjdbc/sybase.rb
140
+ - lib/arjdbc/sybase/adapter.rb
141
+ - lib/arjdbc/version.rb
142
+ - lib/generators/jdbc/USAGE
143
+ - lib/generators/jdbc/jdbc_generator.rb
144
+ - lib/jdbc_adapter.rb
145
+ - lib/jdbc_adapter/rake_tasks.rb
146
+ - lib/jdbc_adapter/version.rb
147
+ - lib/pg.rb
148
+ - pom.xml
149
+ - rails_generators/jdbc_generator.rb
150
+ - rails_generators/templates/config/initializers/jdbc.rb
151
+ - rails_generators/templates/lib/tasks/jdbc.rake
152
+ - rakelib/bundler_ext.rb
153
+ - rakelib/compile.rake
154
+ - rakelib/db.rake
155
+ - rakelib/rails.rake
156
+ - rakelib/test.rake
157
+ - src/java/arjdbc/db2/DB2RubyJdbcConnection.java
158
+ - src/java/arjdbc/derby/DerbyModule.java
159
+ - src/java/arjdbc/h2/H2RubyJdbcConnection.java
160
+ - src/java/arjdbc/informix/InformixRubyJdbcConnection.java
161
+ - src/java/arjdbc/jdbc/AdapterJavaService.java
162
+ - src/java/arjdbc/jdbc/JdbcConnectionFactory.java
163
+ - src/java/arjdbc/jdbc/RubyJdbcConnection.java
164
+ - src/java/arjdbc/jdbc/SQLBlock.java
165
+ - src/java/arjdbc/mssql/MssqlRubyJdbcConnection.java
166
+ - src/java/arjdbc/mysql/MySQLModule.java
167
+ - src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java
168
+ - src/java/arjdbc/oracle/OracleRubyJdbcConnection.java
169
+ - src/java/arjdbc/postgresql/PostgresqlRubyJdbcConnection.java
170
+ - src/java/arjdbc/sqlite3/Sqlite3RubyJdbcConnection.java
171
+ - test/abstract_db_create.rb
172
+ - test/activerecord/connection_adapters/type_conversion_test.rb
173
+ - test/activerecord/connections/native_jdbc_mysql/connection.rb
174
+ - test/activerecord/jall.sh
175
+ - test/activerecord/jtest.sh
176
+ - test/db/db2.rb
177
+ - test/db/derby.rb
178
+ - test/db/h2.rb
179
+ - test/db/hsqldb.rb
180
+ - test/db/informix.rb
181
+ - test/db/jdbc.rb
182
+ - test/db/jndi_config.rb
183
+ - test/db/logger.rb
184
+ - test/db/mssql.rb
185
+ - test/db/mysql.rb
186
+ - test/db/oracle.rb
187
+ - test/db/postgres.rb
188
+ - test/db/sqlite3.rb
189
+ - test/db2_reset_column_information_test.rb
190
+ - test/db2_simple_test.rb
191
+ - test/derby_migration_test.rb
192
+ - test/derby_multibyte_test.rb
193
+ - test/derby_reset_column_information_test.rb
194
+ - test/derby_row_locking_test.rb
195
+ - test/derby_simple_test.rb
196
+ - test/generic_jdbc_connection_test.rb
197
+ - test/h2_change_column_test.rb
198
+ - test/h2_simple_test.rb
199
+ - test/has_many_through.rb
200
+ - test/helper.rb
201
+ - test/hsqldb_simple_test.rb
202
+ - test/informix_simple_test.rb
203
+ - test/jdbc_common.rb
204
+ - test/jndi_callbacks_test.rb
205
+ - test/jndi_test.rb
206
+ - test/manualTestDatabase.rb
207
+ - test/models/add_not_null_column_to_table.rb
208
+ - test/models/auto_id.rb
209
+ - test/models/custom_pk_name.rb
210
+ - test/models/data_types.rb
211
+ - test/models/entry.rb
212
+ - test/models/mixed_case.rb
213
+ - test/models/reserved_word.rb
214
+ - test/models/string_id.rb
215
+ - test/models/thing.rb
216
+ - test/models/validates_uniqueness_of_string.rb
217
+ - test/mssql_db_create_test.rb
218
+ - test/mssql_identity_insert_test.rb
219
+ - test/mssql_ignore_system_views_test.rb
220
+ - test/mssql_legacy_types_test.rb
221
+ - test/mssql_limit_offset_test.rb
222
+ - test/mssql_multibyte_test.rb
223
+ - test/mssql_null_test.rb
224
+ - test/mssql_reset_column_information_test.rb
225
+ - test/mssql_row_locking_sql_test.rb
226
+ - test/mssql_row_locking_test.rb
227
+ - test/mssql_simple_test.rb
228
+ - test/mysql_db_create_test.rb
229
+ - test/mysql_index_length_test.rb
230
+ - test/mysql_info_test.rb
231
+ - test/mysql_multibyte_test.rb
232
+ - test/mysql_nonstandard_primary_key_test.rb
233
+ - test/mysql_reset_column_information_test.rb
234
+ - test/mysql_simple_test.rb
235
+ - test/oracle_reset_column_information_test.rb
236
+ - test/oracle_simple_test.rb
237
+ - test/oracle_specific_test.rb
238
+ - test/postgres_db_create_test.rb
239
+ - test/postgres_drop_db_test.rb
240
+ - test/postgres_information_schema_leak_test.rb
241
+ - test/postgres_mixed_case_test.rb
242
+ - test/postgres_native_type_mapping_test.rb
243
+ - test/postgres_nonseq_pkey_test.rb
244
+ - test/postgres_reserved_test.rb
245
+ - test/postgres_reset_column_information_test.rb
246
+ - test/postgres_schema_search_path_test.rb
247
+ - test/postgres_simple_test.rb
248
+ - test/postgres_table_alias_length_test.rb
249
+ - test/postgres_type_conversion_test.rb
250
+ - test/row_locking.rb
251
+ - test/simple.rb
252
+ - test/sqlite3_reset_column_information_test.rb
253
+ - test/sqlite3_simple_test.rb
254
+ - test/sybase_jtds_simple_test.rb
255
+ - test/sybase_reset_column_information_test.rb
256
+ homepage: https://github.com/jruby/activerecord-jdbc-adapter
257
+ licenses: []
258
+
259
+ post_install_message:
260
+ rdoc_options:
261
+ - --main
262
+ - README.rdoc
263
+ - -SHN
264
+ - -f
265
+ - darkfish
266
+ require_paths:
267
+ - lib
268
+ required_ruby_version: !ruby/object:Gem::Requirement
269
+ none: false
270
+ requirements:
271
+ - - ">="
272
+ - !ruby/object:Gem::Version
273
+ version: "0"
274
+ required_rubygems_version: !ruby/object:Gem::Requirement
275
+ none: false
276
+ requirements:
277
+ - - ">="
278
+ - !ruby/object:Gem::Version
279
+ version: "0"
280
+ requirements: []
281
+
282
+ rubyforge_project: jruby-extras
283
+ rubygems_version: 1.8.15
284
+ signing_key:
285
+ specification_version: 3
286
+ summary: JDBC adapter for ActiveRecord, for use within JRuby on Rails.
287
+ test_files: []
288
+