tgbyte-activerecord-jdbc-adapter 1.2.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 (218) hide show
  1. data/.gitignore +22 -0
  2. data/.travis.yml +8 -0
  3. data/Gemfile +14 -0
  4. data/Gemfile.lock +40 -0
  5. data/History.txt +488 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.rdoc +199 -0
  8. data/Rakefile +60 -0
  9. data/activerecord-jdbc-adapter.gemspec +23 -0
  10. data/bench/bench_attributes.rb +13 -0
  11. data/bench/bench_attributes_new.rb +14 -0
  12. data/bench/bench_create.rb +12 -0
  13. data/bench/bench_find_all.rb +12 -0
  14. data/bench/bench_find_all_mt.rb +25 -0
  15. data/bench/bench_model.rb +85 -0
  16. data/bench/bench_new.rb +12 -0
  17. data/bench/bench_new_valid.rb +12 -0
  18. data/bench/bench_valid.rb +13 -0
  19. data/lib/active_record/connection_adapters/derby_adapter.rb +1 -0
  20. data/lib/active_record/connection_adapters/h2_adapter.rb +1 -0
  21. data/lib/active_record/connection_adapters/hsqldb_adapter.rb +1 -0
  22. data/lib/active_record/connection_adapters/informix_adapter.rb +1 -0
  23. data/lib/active_record/connection_adapters/jdbc_adapter.rb +1 -0
  24. data/lib/active_record/connection_adapters/jndi_adapter.rb +1 -0
  25. data/lib/active_record/connection_adapters/mssql_adapter.rb +1 -0
  26. data/lib/active_record/connection_adapters/mysql2_adapter.rb +1 -0
  27. data/lib/active_record/connection_adapters/mysql_adapter.rb +1 -0
  28. data/lib/active_record/connection_adapters/oracle_adapter.rb +1 -0
  29. data/lib/active_record/connection_adapters/postgresql_adapter.rb +1 -0
  30. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +1 -0
  31. data/lib/activerecord-jdbc-adapter.rb +8 -0
  32. data/lib/arel/engines/sql/compilers/db2_compiler.rb +9 -0
  33. data/lib/arel/engines/sql/compilers/derby_compiler.rb +6 -0
  34. data/lib/arel/engines/sql/compilers/h2_compiler.rb +6 -0
  35. data/lib/arel/engines/sql/compilers/hsqldb_compiler.rb +15 -0
  36. data/lib/arel/engines/sql/compilers/jdbc_compiler.rb +6 -0
  37. data/lib/arel/engines/sql/compilers/mssql_compiler.rb +46 -0
  38. data/lib/arel/visitors/compat.rb +13 -0
  39. data/lib/arel/visitors/db2.rb +17 -0
  40. data/lib/arel/visitors/derby.rb +32 -0
  41. data/lib/arel/visitors/firebird.rb +24 -0
  42. data/lib/arel/visitors/hsqldb.rb +26 -0
  43. data/lib/arel/visitors/sql_server.rb +46 -0
  44. data/lib/arjdbc.rb +24 -0
  45. data/lib/arjdbc/db2.rb +2 -0
  46. data/lib/arjdbc/db2/adapter.rb +510 -0
  47. data/lib/arjdbc/derby.rb +7 -0
  48. data/lib/arjdbc/derby/adapter.rb +358 -0
  49. data/lib/arjdbc/derby/connection_methods.rb +19 -0
  50. data/lib/arjdbc/discover.rb +92 -0
  51. data/lib/arjdbc/firebird.rb +2 -0
  52. data/lib/arjdbc/firebird/adapter.rb +136 -0
  53. data/lib/arjdbc/h2.rb +4 -0
  54. data/lib/arjdbc/h2/adapter.rb +54 -0
  55. data/lib/arjdbc/h2/connection_methods.rb +13 -0
  56. data/lib/arjdbc/hsqldb.rb +4 -0
  57. data/lib/arjdbc/hsqldb/adapter.rb +184 -0
  58. data/lib/arjdbc/hsqldb/connection_methods.rb +15 -0
  59. data/lib/arjdbc/informix.rb +3 -0
  60. data/lib/arjdbc/informix/adapter.rb +138 -0
  61. data/lib/arjdbc/informix/connection_methods.rb +11 -0
  62. data/lib/arjdbc/jdbc.rb +2 -0
  63. data/lib/arjdbc/jdbc/adapter.rb +356 -0
  64. data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
  65. data/lib/arjdbc/jdbc/base_ext.rb +15 -0
  66. data/lib/arjdbc/jdbc/callbacks.rb +44 -0
  67. data/lib/arjdbc/jdbc/column.rb +47 -0
  68. data/lib/arjdbc/jdbc/compatibility.rb +51 -0
  69. data/lib/arjdbc/jdbc/connection.rb +134 -0
  70. data/lib/arjdbc/jdbc/connection_methods.rb +16 -0
  71. data/lib/arjdbc/jdbc/core_ext.rb +24 -0
  72. data/lib/arjdbc/jdbc/discover.rb +18 -0
  73. data/lib/arjdbc/jdbc/driver.rb +35 -0
  74. data/lib/arjdbc/jdbc/extension.rb +47 -0
  75. data/lib/arjdbc/jdbc/java.rb +14 -0
  76. data/lib/arjdbc/jdbc/jdbc.rake +131 -0
  77. data/lib/arjdbc/jdbc/missing_functionality_helper.rb +88 -0
  78. data/lib/arjdbc/jdbc/quoted_primary_key.rb +28 -0
  79. data/lib/arjdbc/jdbc/railtie.rb +9 -0
  80. data/lib/arjdbc/jdbc/rake_tasks.rb +10 -0
  81. data/lib/arjdbc/jdbc/require_driver.rb +16 -0
  82. data/lib/arjdbc/jdbc/type_converter.rb +126 -0
  83. data/lib/arjdbc/mimer.rb +2 -0
  84. data/lib/arjdbc/mimer/adapter.rb +142 -0
  85. data/lib/arjdbc/mssql.rb +4 -0
  86. data/lib/arjdbc/mssql/adapter.rb +477 -0
  87. data/lib/arjdbc/mssql/connection_methods.rb +31 -0
  88. data/lib/arjdbc/mssql/limit_helpers.rb +101 -0
  89. data/lib/arjdbc/mssql/lock_helpers.rb +72 -0
  90. data/lib/arjdbc/mssql/tsql_helper.rb +61 -0
  91. data/lib/arjdbc/mysql.rb +4 -0
  92. data/lib/arjdbc/mysql/adapter.rb +505 -0
  93. data/lib/arjdbc/mysql/connection_methods.rb +28 -0
  94. data/lib/arjdbc/oracle.rb +3 -0
  95. data/lib/arjdbc/oracle/adapter.rb +428 -0
  96. data/lib/arjdbc/oracle/connection_methods.rb +12 -0
  97. data/lib/arjdbc/postgresql.rb +4 -0
  98. data/lib/arjdbc/postgresql/adapter.rb +825 -0
  99. data/lib/arjdbc/postgresql/connection_methods.rb +23 -0
  100. data/lib/arjdbc/sqlite3.rb +4 -0
  101. data/lib/arjdbc/sqlite3/adapter.rb +389 -0
  102. data/lib/arjdbc/sqlite3/connection_methods.rb +35 -0
  103. data/lib/arjdbc/sybase.rb +2 -0
  104. data/lib/arjdbc/sybase/adapter.rb +46 -0
  105. data/lib/arjdbc/version.rb +8 -0
  106. data/lib/generators/jdbc/USAGE +10 -0
  107. data/lib/generators/jdbc/jdbc_generator.rb +9 -0
  108. data/lib/jdbc_adapter.rb +2 -0
  109. data/lib/jdbc_adapter/rake_tasks.rb +3 -0
  110. data/lib/jdbc_adapter/version.rb +3 -0
  111. data/lib/pg.rb +26 -0
  112. data/pom.xml +57 -0
  113. data/rails_generators/jdbc_generator.rb +15 -0
  114. data/rails_generators/templates/config/initializers/jdbc.rb +7 -0
  115. data/rails_generators/templates/lib/tasks/jdbc.rake +8 -0
  116. data/rakelib/bundler_ext.rb +11 -0
  117. data/rakelib/compile.rake +23 -0
  118. data/rakelib/db.rake +39 -0
  119. data/rakelib/rails.rake +41 -0
  120. data/src/java/arjdbc/db2/DB2RubyJdbcConnection.java +62 -0
  121. data/src/java/arjdbc/derby/DerbyModule.java +324 -0
  122. data/src/java/arjdbc/h2/H2RubyJdbcConnection.java +70 -0
  123. data/src/java/arjdbc/informix/InformixRubyJdbcConnection.java +74 -0
  124. data/src/java/arjdbc/jdbc/AdapterJavaService.java +68 -0
  125. data/src/java/arjdbc/jdbc/JdbcConnectionFactory.java +36 -0
  126. data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +1326 -0
  127. data/src/java/arjdbc/jdbc/SQLBlock.java +48 -0
  128. data/src/java/arjdbc/mssql/MssqlRubyJdbcConnection.java +127 -0
  129. data/src/java/arjdbc/mysql/MySQLModule.java +134 -0
  130. data/src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java +161 -0
  131. data/src/java/arjdbc/oracle/OracleRubyJdbcConnection.java +85 -0
  132. data/src/java/arjdbc/postgresql/PostgresqlRubyJdbcConnection.java +82 -0
  133. data/src/java/arjdbc/sqlite3/Sqlite3RubyJdbcConnection.java +126 -0
  134. data/test/abstract_db_create.rb +135 -0
  135. data/test/activerecord/connection_adapters/type_conversion_test.rb +31 -0
  136. data/test/activerecord/connections/native_jdbc_mysql/connection.rb +25 -0
  137. data/test/activerecord/jall.sh +7 -0
  138. data/test/activerecord/jtest.sh +3 -0
  139. data/test/db/db2.rb +11 -0
  140. data/test/db/derby.rb +12 -0
  141. data/test/db/h2.rb +11 -0
  142. data/test/db/hsqldb.rb +13 -0
  143. data/test/db/informix.rb +11 -0
  144. data/test/db/jdbc.rb +12 -0
  145. data/test/db/jndi_config.rb +40 -0
  146. data/test/db/logger.rb +3 -0
  147. data/test/db/mssql.rb +9 -0
  148. data/test/db/mysql.rb +10 -0
  149. data/test/db/oracle.rb +34 -0
  150. data/test/db/postgres.rb +9 -0
  151. data/test/db/sqlite3.rb +11 -0
  152. data/test/db2_reset_column_information_test.rb +8 -0
  153. data/test/db2_simple_test.rb +66 -0
  154. data/test/derby_migration_test.rb +68 -0
  155. data/test/derby_multibyte_test.rb +12 -0
  156. data/test/derby_reset_column_information_test.rb +8 -0
  157. data/test/derby_row_locking_test.rb +9 -0
  158. data/test/derby_simple_test.rb +139 -0
  159. data/test/generic_jdbc_connection_test.rb +29 -0
  160. data/test/h2_change_column_test.rb +68 -0
  161. data/test/h2_simple_test.rb +41 -0
  162. data/test/has_many_through.rb +79 -0
  163. data/test/helper.rb +87 -0
  164. data/test/hsqldb_simple_test.rb +6 -0
  165. data/test/informix_simple_test.rb +48 -0
  166. data/test/jdbc_common.rb +28 -0
  167. data/test/jndi_callbacks_test.rb +36 -0
  168. data/test/jndi_test.rb +25 -0
  169. data/test/manualTestDatabase.rb +191 -0
  170. data/test/models/add_not_null_column_to_table.rb +9 -0
  171. data/test/models/auto_id.rb +15 -0
  172. data/test/models/data_types.rb +30 -0
  173. data/test/models/entry.rb +40 -0
  174. data/test/models/mixed_case.rb +22 -0
  175. data/test/models/reserved_word.rb +15 -0
  176. data/test/models/string_id.rb +17 -0
  177. data/test/models/thing.rb +16 -0
  178. data/test/models/validates_uniqueness_of_string.rb +19 -0
  179. data/test/mssql_db_create_test.rb +26 -0
  180. data/test/mssql_identity_insert_test.rb +19 -0
  181. data/test/mssql_ignore_system_views_test.rb +27 -0
  182. data/test/mssql_legacy_types_test.rb +58 -0
  183. data/test/mssql_limit_offset_test.rb +136 -0
  184. data/test/mssql_multibyte_test.rb +18 -0
  185. data/test/mssql_null_test.rb +14 -0
  186. data/test/mssql_reset_column_information_test.rb +8 -0
  187. data/test/mssql_row_locking_sql_test.rb +159 -0
  188. data/test/mssql_row_locking_test.rb +9 -0
  189. data/test/mssql_simple_test.rb +55 -0
  190. data/test/mysql_db_create_test.rb +27 -0
  191. data/test/mysql_index_length_test.rb +58 -0
  192. data/test/mysql_info_test.rb +123 -0
  193. data/test/mysql_multibyte_test.rb +10 -0
  194. data/test/mysql_nonstandard_primary_key_test.rb +42 -0
  195. data/test/mysql_reset_column_information_test.rb +8 -0
  196. data/test/mysql_simple_test.rb +125 -0
  197. data/test/oracle_reset_column_information_test.rb +8 -0
  198. data/test/oracle_simple_test.rb +18 -0
  199. data/test/oracle_specific_test.rb +83 -0
  200. data/test/postgres_db_create_test.rb +32 -0
  201. data/test/postgres_drop_db_test.rb +16 -0
  202. data/test/postgres_information_schema_leak_test.rb +29 -0
  203. data/test/postgres_mixed_case_test.rb +29 -0
  204. data/test/postgres_native_type_mapping_test.rb +89 -0
  205. data/test/postgres_nonseq_pkey_test.rb +38 -0
  206. data/test/postgres_reserved_test.rb +22 -0
  207. data/test/postgres_reset_column_information_test.rb +8 -0
  208. data/test/postgres_schema_search_path_test.rb +48 -0
  209. data/test/postgres_simple_test.rb +167 -0
  210. data/test/postgres_table_alias_length_test.rb +15 -0
  211. data/test/postgres_type_conversion_test.rb +34 -0
  212. data/test/row_locking.rb +90 -0
  213. data/test/simple.rb +717 -0
  214. data/test/sqlite3_reset_column_information_test.rb +8 -0
  215. data/test/sqlite3_simple_test.rb +316 -0
  216. data/test/sybase_jtds_simple_test.rb +28 -0
  217. data/test/sybase_reset_column_information_test.rb +8 -0
  218. metadata +275 -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,275 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tgbyte-activerecord-jdbc-adapter
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.2.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Nick Sieger, Ola Bini and JRuby contributors
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-10-24 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: ! 'activerecord-jdbc-adapter is a database adapter for Rails\'' ActiveRecord
15
+
16
+ component that can be used with JRuby[http://www.jruby.org/]. It allows use of
17
+
18
+ virtually any JDBC-compliant database with your JRuby on Rails application.'
19
+ email: nick@nicksieger.com, ola.bini@gmail.com
20
+ executables: []
21
+ extensions: []
22
+ extra_rdoc_files: []
23
+ files:
24
+ - .gitignore
25
+ - .travis.yml
26
+ - Gemfile
27
+ - Gemfile.lock
28
+ - History.txt
29
+ - LICENSE.txt
30
+ - README.rdoc
31
+ - Rakefile
32
+ - activerecord-jdbc-adapter.gemspec
33
+ - bench/bench_attributes.rb
34
+ - bench/bench_attributes_new.rb
35
+ - bench/bench_create.rb
36
+ - bench/bench_find_all.rb
37
+ - bench/bench_find_all_mt.rb
38
+ - bench/bench_model.rb
39
+ - bench/bench_new.rb
40
+ - bench/bench_new_valid.rb
41
+ - bench/bench_valid.rb
42
+ - lib/active_record/connection_adapters/derby_adapter.rb
43
+ - lib/active_record/connection_adapters/h2_adapter.rb
44
+ - lib/active_record/connection_adapters/hsqldb_adapter.rb
45
+ - lib/active_record/connection_adapters/informix_adapter.rb
46
+ - lib/active_record/connection_adapters/jdbc_adapter.rb
47
+ - lib/active_record/connection_adapters/jndi_adapter.rb
48
+ - lib/active_record/connection_adapters/mssql_adapter.rb
49
+ - lib/active_record/connection_adapters/mysql2_adapter.rb
50
+ - lib/active_record/connection_adapters/mysql_adapter.rb
51
+ - lib/active_record/connection_adapters/oracle_adapter.rb
52
+ - lib/active_record/connection_adapters/postgresql_adapter.rb
53
+ - lib/active_record/connection_adapters/sqlite3_adapter.rb
54
+ - lib/activerecord-jdbc-adapter.rb
55
+ - lib/arel/engines/sql/compilers/db2_compiler.rb
56
+ - lib/arel/engines/sql/compilers/derby_compiler.rb
57
+ - lib/arel/engines/sql/compilers/h2_compiler.rb
58
+ - lib/arel/engines/sql/compilers/hsqldb_compiler.rb
59
+ - lib/arel/engines/sql/compilers/jdbc_compiler.rb
60
+ - lib/arel/engines/sql/compilers/mssql_compiler.rb
61
+ - lib/arel/visitors/compat.rb
62
+ - lib/arel/visitors/db2.rb
63
+ - lib/arel/visitors/derby.rb
64
+ - lib/arel/visitors/firebird.rb
65
+ - lib/arel/visitors/hsqldb.rb
66
+ - lib/arel/visitors/sql_server.rb
67
+ - lib/arjdbc.rb
68
+ - lib/arjdbc/db2.rb
69
+ - lib/arjdbc/db2/adapter.rb
70
+ - lib/arjdbc/derby.rb
71
+ - lib/arjdbc/derby/adapter.rb
72
+ - lib/arjdbc/derby/connection_methods.rb
73
+ - lib/arjdbc/discover.rb
74
+ - lib/arjdbc/firebird.rb
75
+ - lib/arjdbc/firebird/adapter.rb
76
+ - lib/arjdbc/h2.rb
77
+ - lib/arjdbc/h2/adapter.rb
78
+ - lib/arjdbc/h2/connection_methods.rb
79
+ - lib/arjdbc/hsqldb.rb
80
+ - lib/arjdbc/hsqldb/adapter.rb
81
+ - lib/arjdbc/hsqldb/connection_methods.rb
82
+ - lib/arjdbc/informix.rb
83
+ - lib/arjdbc/informix/adapter.rb
84
+ - lib/arjdbc/informix/connection_methods.rb
85
+ - lib/arjdbc/jdbc.rb
86
+ - lib/arjdbc/jdbc/adapter.rb
87
+ - lib/arjdbc/jdbc/adapter_java.jar
88
+ - lib/arjdbc/jdbc/base_ext.rb
89
+ - lib/arjdbc/jdbc/callbacks.rb
90
+ - lib/arjdbc/jdbc/column.rb
91
+ - lib/arjdbc/jdbc/compatibility.rb
92
+ - lib/arjdbc/jdbc/connection.rb
93
+ - lib/arjdbc/jdbc/connection_methods.rb
94
+ - lib/arjdbc/jdbc/core_ext.rb
95
+ - lib/arjdbc/jdbc/discover.rb
96
+ - lib/arjdbc/jdbc/driver.rb
97
+ - lib/arjdbc/jdbc/extension.rb
98
+ - lib/arjdbc/jdbc/java.rb
99
+ - lib/arjdbc/jdbc/jdbc.rake
100
+ - lib/arjdbc/jdbc/missing_functionality_helper.rb
101
+ - lib/arjdbc/jdbc/quoted_primary_key.rb
102
+ - lib/arjdbc/jdbc/railtie.rb
103
+ - lib/arjdbc/jdbc/rake_tasks.rb
104
+ - lib/arjdbc/jdbc/require_driver.rb
105
+ - lib/arjdbc/jdbc/type_converter.rb
106
+ - lib/arjdbc/mimer.rb
107
+ - lib/arjdbc/mimer/adapter.rb
108
+ - lib/arjdbc/mssql.rb
109
+ - lib/arjdbc/mssql/adapter.rb
110
+ - lib/arjdbc/mssql/connection_methods.rb
111
+ - lib/arjdbc/mssql/limit_helpers.rb
112
+ - lib/arjdbc/mssql/lock_helpers.rb
113
+ - lib/arjdbc/mssql/tsql_helper.rb
114
+ - lib/arjdbc/mysql.rb
115
+ - lib/arjdbc/mysql/adapter.rb
116
+ - lib/arjdbc/mysql/connection_methods.rb
117
+ - lib/arjdbc/oracle.rb
118
+ - lib/arjdbc/oracle/adapter.rb
119
+ - lib/arjdbc/oracle/connection_methods.rb
120
+ - lib/arjdbc/postgresql.rb
121
+ - lib/arjdbc/postgresql/adapter.rb
122
+ - lib/arjdbc/postgresql/connection_methods.rb
123
+ - lib/arjdbc/sqlite3.rb
124
+ - lib/arjdbc/sqlite3/adapter.rb
125
+ - lib/arjdbc/sqlite3/connection_methods.rb
126
+ - lib/arjdbc/sybase.rb
127
+ - lib/arjdbc/sybase/adapter.rb
128
+ - lib/arjdbc/version.rb
129
+ - lib/generators/jdbc/USAGE
130
+ - lib/generators/jdbc/jdbc_generator.rb
131
+ - lib/jdbc_adapter.rb
132
+ - lib/jdbc_adapter/rake_tasks.rb
133
+ - lib/jdbc_adapter/version.rb
134
+ - lib/pg.rb
135
+ - pom.xml
136
+ - rails_generators/jdbc_generator.rb
137
+ - rails_generators/templates/config/initializers/jdbc.rb
138
+ - rails_generators/templates/lib/tasks/jdbc.rake
139
+ - rakelib/bundler_ext.rb
140
+ - rakelib/compile.rake
141
+ - rakelib/db.rake
142
+ - rakelib/rails.rake
143
+ - rakelib/test.rake
144
+ - src/java/arjdbc/db2/DB2RubyJdbcConnection.java
145
+ - src/java/arjdbc/derby/DerbyModule.java
146
+ - src/java/arjdbc/h2/H2RubyJdbcConnection.java
147
+ - src/java/arjdbc/informix/InformixRubyJdbcConnection.java
148
+ - src/java/arjdbc/jdbc/AdapterJavaService.java
149
+ - src/java/arjdbc/jdbc/JdbcConnectionFactory.java
150
+ - src/java/arjdbc/jdbc/RubyJdbcConnection.java
151
+ - src/java/arjdbc/jdbc/SQLBlock.java
152
+ - src/java/arjdbc/mssql/MssqlRubyJdbcConnection.java
153
+ - src/java/arjdbc/mysql/MySQLModule.java
154
+ - src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java
155
+ - src/java/arjdbc/oracle/OracleRubyJdbcConnection.java
156
+ - src/java/arjdbc/postgresql/PostgresqlRubyJdbcConnection.java
157
+ - src/java/arjdbc/sqlite3/Sqlite3RubyJdbcConnection.java
158
+ - test/abstract_db_create.rb
159
+ - test/activerecord/connection_adapters/type_conversion_test.rb
160
+ - test/activerecord/connections/native_jdbc_mysql/connection.rb
161
+ - test/activerecord/jall.sh
162
+ - test/activerecord/jtest.sh
163
+ - test/db/db2.rb
164
+ - test/db/derby.rb
165
+ - test/db/h2.rb
166
+ - test/db/hsqldb.rb
167
+ - test/db/informix.rb
168
+ - test/db/jdbc.rb
169
+ - test/db/jndi_config.rb
170
+ - test/db/logger.rb
171
+ - test/db/mssql.rb
172
+ - test/db/mysql.rb
173
+ - test/db/oracle.rb
174
+ - test/db/postgres.rb
175
+ - test/db/sqlite3.rb
176
+ - test/db2_reset_column_information_test.rb
177
+ - test/db2_simple_test.rb
178
+ - test/derby_migration_test.rb
179
+ - test/derby_multibyte_test.rb
180
+ - test/derby_reset_column_information_test.rb
181
+ - test/derby_row_locking_test.rb
182
+ - test/derby_simple_test.rb
183
+ - test/generic_jdbc_connection_test.rb
184
+ - test/h2_change_column_test.rb
185
+ - test/h2_simple_test.rb
186
+ - test/has_many_through.rb
187
+ - test/helper.rb
188
+ - test/hsqldb_simple_test.rb
189
+ - test/informix_simple_test.rb
190
+ - test/jdbc_common.rb
191
+ - test/jndi_callbacks_test.rb
192
+ - test/jndi_test.rb
193
+ - test/manualTestDatabase.rb
194
+ - test/models/add_not_null_column_to_table.rb
195
+ - test/models/auto_id.rb
196
+ - test/models/data_types.rb
197
+ - test/models/entry.rb
198
+ - test/models/mixed_case.rb
199
+ - test/models/reserved_word.rb
200
+ - test/models/string_id.rb
201
+ - test/models/thing.rb
202
+ - test/models/validates_uniqueness_of_string.rb
203
+ - test/mssql_db_create_test.rb
204
+ - test/mssql_identity_insert_test.rb
205
+ - test/mssql_ignore_system_views_test.rb
206
+ - test/mssql_legacy_types_test.rb
207
+ - test/mssql_limit_offset_test.rb
208
+ - test/mssql_multibyte_test.rb
209
+ - test/mssql_null_test.rb
210
+ - test/mssql_reset_column_information_test.rb
211
+ - test/mssql_row_locking_sql_test.rb
212
+ - test/mssql_row_locking_test.rb
213
+ - test/mssql_simple_test.rb
214
+ - test/mysql_db_create_test.rb
215
+ - test/mysql_index_length_test.rb
216
+ - test/mysql_info_test.rb
217
+ - test/mysql_multibyte_test.rb
218
+ - test/mysql_nonstandard_primary_key_test.rb
219
+ - test/mysql_reset_column_information_test.rb
220
+ - test/mysql_simple_test.rb
221
+ - test/oracle_reset_column_information_test.rb
222
+ - test/oracle_simple_test.rb
223
+ - test/oracle_specific_test.rb
224
+ - test/postgres_db_create_test.rb
225
+ - test/postgres_drop_db_test.rb
226
+ - test/postgres_information_schema_leak_test.rb
227
+ - test/postgres_mixed_case_test.rb
228
+ - test/postgres_native_type_mapping_test.rb
229
+ - test/postgres_nonseq_pkey_test.rb
230
+ - test/postgres_reserved_test.rb
231
+ - test/postgres_reset_column_information_test.rb
232
+ - test/postgres_schema_search_path_test.rb
233
+ - test/postgres_simple_test.rb
234
+ - test/postgres_table_alias_length_test.rb
235
+ - test/postgres_type_conversion_test.rb
236
+ - test/row_locking.rb
237
+ - test/simple.rb
238
+ - test/sqlite3_reset_column_information_test.rb
239
+ - test/sqlite3_simple_test.rb
240
+ - test/sybase_jtds_simple_test.rb
241
+ - test/sybase_reset_column_information_test.rb
242
+ homepage: https://github.com/tgbyte/activerecord-jdbc-adapter
243
+ licenses: []
244
+ post_install_message:
245
+ rdoc_options:
246
+ - --main
247
+ - README.txt
248
+ - -SHN
249
+ - -f
250
+ - darkfish
251
+ require_paths:
252
+ - lib
253
+ required_ruby_version: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ! '>='
256
+ - !ruby/object:Gem::Version
257
+ segments:
258
+ - 0
259
+ version: '0'
260
+ hash: 2
261
+ none: false
262
+ required_rubygems_version: !ruby/object:Gem::Requirement
263
+ requirements:
264
+ - - ! '>='
265
+ - !ruby/object:Gem::Version
266
+ version: '0'
267
+ none: false
268
+ requirements: []
269
+ rubyforge_project: jruby-extras
270
+ rubygems_version: 1.8.24
271
+ signing_key:
272
+ specification_version: 3
273
+ summary: JDBC adapter for ActiveRecord, for use within JRuby on Rails.
274
+ test_files: []
275
+ ...