activerecord-jdbc-adapter 1.0.3-java → 50.1-java

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 (268) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +33 -0
  3. data/.travis.yml +79 -0
  4. data/.yardopts +4 -0
  5. data/CONTRIBUTING.md +50 -0
  6. data/Gemfile +91 -0
  7. data/History.md +1191 -0
  8. data/LICENSE.txt +22 -17
  9. data/README.md +169 -0
  10. data/RUNNING_TESTS.md +127 -0
  11. data/Rakefile +294 -5
  12. data/Rakefile.jdbc +20 -0
  13. data/activerecord-jdbc-adapter.gemspec +55 -0
  14. data/lib/active_record/connection_adapters/as400_adapter.rb +2 -0
  15. data/lib/active_record/connection_adapters/db2_adapter.rb +1 -0
  16. data/lib/active_record/connection_adapters/firebird_adapter.rb +1 -0
  17. data/lib/active_record/connection_adapters/mariadb_adapter.rb +1 -0
  18. data/lib/active_record/connection_adapters/sqlserver_adapter.rb +1 -0
  19. data/lib/activerecord-jdbc-adapter.rb +0 -5
  20. data/lib/arel/visitors/compat.rb +60 -0
  21. data/lib/arel/visitors/db2.rb +128 -6
  22. data/lib/arel/visitors/derby.rb +103 -10
  23. data/lib/arel/visitors/firebird.rb +79 -0
  24. data/lib/arel/visitors/h2.rb +25 -0
  25. data/lib/arel/visitors/hsqldb.rb +18 -10
  26. data/lib/arel/visitors/postgresql_jdbc.rb +6 -0
  27. data/lib/arel/visitors/sql_server.rb +225 -0
  28. data/lib/arel/visitors/sql_server/ng42.rb +293 -0
  29. data/lib/arjdbc.rb +11 -21
  30. data/lib/arjdbc/abstract/connection_management.rb +35 -0
  31. data/lib/arjdbc/abstract/core.rb +64 -0
  32. data/lib/arjdbc/abstract/database_statements.rb +64 -0
  33. data/lib/arjdbc/abstract/statement_cache.rb +58 -0
  34. data/lib/arjdbc/abstract/transaction_support.rb +86 -0
  35. data/lib/arjdbc/db2.rb +3 -1
  36. data/lib/arjdbc/db2/adapter.rb +630 -250
  37. data/lib/arjdbc/db2/as400.rb +130 -0
  38. data/lib/arjdbc/db2/column.rb +167 -0
  39. data/lib/arjdbc/db2/connection_methods.rb +44 -0
  40. data/lib/arjdbc/derby.rb +1 -5
  41. data/lib/arjdbc/derby/active_record_patch.rb +13 -0
  42. data/lib/arjdbc/derby/adapter.rb +409 -217
  43. data/lib/arjdbc/derby/connection_methods.rb +16 -14
  44. data/lib/arjdbc/derby/schema_creation.rb +15 -0
  45. data/lib/arjdbc/discover.rb +62 -50
  46. data/lib/arjdbc/firebird.rb +3 -1
  47. data/lib/arjdbc/firebird/adapter.rb +365 -62
  48. data/lib/arjdbc/firebird/connection_methods.rb +23 -0
  49. data/lib/arjdbc/h2.rb +2 -3
  50. data/lib/arjdbc/h2/adapter.rb +273 -6
  51. data/lib/arjdbc/h2/connection_methods.rb +23 -8
  52. data/lib/arjdbc/hsqldb.rb +2 -3
  53. data/lib/arjdbc/hsqldb/adapter.rb +204 -77
  54. data/lib/arjdbc/hsqldb/connection_methods.rb +24 -10
  55. data/lib/arjdbc/hsqldb/explain_support.rb +35 -0
  56. data/lib/arjdbc/hsqldb/schema_creation.rb +11 -0
  57. data/lib/arjdbc/informix.rb +4 -2
  58. data/lib/arjdbc/informix/adapter.rb +78 -54
  59. data/lib/arjdbc/informix/connection_methods.rb +8 -9
  60. data/lib/arjdbc/jdbc.rb +59 -2
  61. data/lib/arjdbc/jdbc/adapter.rb +356 -166
  62. data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
  63. data/lib/arjdbc/jdbc/adapter_require.rb +46 -0
  64. data/lib/arjdbc/jdbc/base_ext.rb +15 -0
  65. data/lib/arjdbc/jdbc/callbacks.rb +27 -18
  66. data/lib/arjdbc/jdbc/column.rb +79 -20
  67. data/lib/arjdbc/jdbc/connection.rb +5 -119
  68. data/lib/arjdbc/jdbc/connection_methods.rb +32 -4
  69. data/lib/arjdbc/jdbc/error.rb +65 -0
  70. data/lib/arjdbc/jdbc/extension.rb +41 -29
  71. data/lib/arjdbc/jdbc/java.rb +5 -6
  72. data/lib/arjdbc/jdbc/jdbc.rake +3 -126
  73. data/lib/arjdbc/jdbc/railtie.rb +2 -9
  74. data/lib/arjdbc/jdbc/rake_tasks.rb +3 -10
  75. data/lib/arjdbc/jdbc/serialized_attributes_helper.rb +3 -0
  76. data/lib/arjdbc/jdbc/type_cast.rb +166 -0
  77. data/lib/arjdbc/jdbc/type_converter.rb +35 -19
  78. data/lib/arjdbc/mssql.rb +6 -3
  79. data/lib/arjdbc/mssql/adapter.rb +630 -298
  80. data/lib/arjdbc/mssql/column.rb +200 -0
  81. data/lib/arjdbc/mssql/connection_methods.rb +66 -17
  82. data/lib/arjdbc/mssql/explain_support.rb +99 -0
  83. data/lib/arjdbc/mssql/limit_helpers.rb +189 -50
  84. data/lib/arjdbc/mssql/lock_methods.rb +77 -0
  85. data/lib/arjdbc/mssql/types.rb +343 -0
  86. data/lib/arjdbc/mssql/utils.rb +82 -0
  87. data/lib/arjdbc/mysql.rb +2 -3
  88. data/lib/arjdbc/mysql/adapter.rb +86 -356
  89. data/lib/arjdbc/mysql/connection_methods.rb +159 -23
  90. data/lib/arjdbc/oracle/adapter.rb +714 -263
  91. data/lib/arjdbc/postgresql.rb +2 -3
  92. data/lib/arjdbc/postgresql/_bc_time_cast_patch.rb +24 -0
  93. data/lib/arjdbc/postgresql/adapter.rb +570 -400
  94. data/lib/arjdbc/postgresql/base/array_decoder.rb +26 -0
  95. data/lib/arjdbc/postgresql/base/array_encoder.rb +25 -0
  96. data/lib/arjdbc/postgresql/base/array_parser.rb +95 -0
  97. data/lib/arjdbc/postgresql/base/pgconn.rb +11 -0
  98. data/lib/arjdbc/postgresql/column.rb +51 -0
  99. data/lib/arjdbc/postgresql/connection_methods.rb +57 -18
  100. data/lib/arjdbc/postgresql/name.rb +24 -0
  101. data/lib/arjdbc/postgresql/oid_types.rb +192 -0
  102. data/lib/arjdbc/railtie.rb +11 -0
  103. data/lib/arjdbc/sqlite3.rb +2 -3
  104. data/lib/arjdbc/sqlite3/adapter.rb +518 -198
  105. data/lib/arjdbc/sqlite3/connection_methods.rb +49 -24
  106. data/lib/arjdbc/sybase.rb +2 -2
  107. data/lib/arjdbc/sybase/adapter.rb +7 -6
  108. data/lib/arjdbc/tasks.rb +13 -0
  109. data/lib/arjdbc/tasks/database_tasks.rb +52 -0
  110. data/lib/arjdbc/tasks/databases.rake +91 -0
  111. data/lib/arjdbc/tasks/databases3.rake +215 -0
  112. data/lib/arjdbc/tasks/databases4.rake +39 -0
  113. data/lib/arjdbc/tasks/db2_database_tasks.rb +104 -0
  114. data/lib/arjdbc/tasks/derby_database_tasks.rb +95 -0
  115. data/lib/arjdbc/tasks/h2_database_tasks.rb +31 -0
  116. data/lib/arjdbc/tasks/hsqldb_database_tasks.rb +70 -0
  117. data/lib/arjdbc/tasks/jdbc_database_tasks.rb +169 -0
  118. data/lib/arjdbc/tasks/mssql_database_tasks.rb +46 -0
  119. data/lib/arjdbc/util/quoted_cache.rb +60 -0
  120. data/lib/arjdbc/util/serialized_attributes.rb +98 -0
  121. data/lib/arjdbc/util/table_copier.rb +110 -0
  122. data/lib/arjdbc/version.rb +1 -6
  123. data/lib/generators/jdbc/USAGE +9 -0
  124. data/lib/generators/jdbc/jdbc_generator.rb +8 -0
  125. data/lib/jdbc_adapter.rb +1 -1
  126. data/lib/jdbc_adapter/rake_tasks.rb +3 -2
  127. data/lib/jdbc_adapter/version.rb +2 -1
  128. data/pom.xml +114 -0
  129. data/rails_generators/jdbc_generator.rb +1 -1
  130. data/rails_generators/templates/config/initializers/jdbc.rb +8 -5
  131. data/rails_generators/templates/lib/tasks/jdbc.rake +7 -4
  132. data/rakelib/01-tomcat.rake +51 -0
  133. data/rakelib/02-test.rake +132 -0
  134. data/rakelib/bundler_ext.rb +11 -0
  135. data/rakelib/compile.rake +67 -22
  136. data/rakelib/db.rake +61 -0
  137. data/rakelib/rails.rake +204 -29
  138. data/src/java/arjdbc/ArJdbcModule.java +286 -0
  139. data/src/java/arjdbc/db2/DB2Module.java +76 -0
  140. data/src/java/arjdbc/db2/DB2RubyJdbcConnection.java +126 -0
  141. data/src/java/arjdbc/derby/DerbyModule.java +99 -243
  142. data/src/java/arjdbc/derby/DerbyRubyJdbcConnection.java +152 -0
  143. data/src/java/arjdbc/firebird/FirebirdRubyJdbcConnection.java +174 -0
  144. data/src/java/arjdbc/{jdbc/JdbcConnectionFactory.java → h2/H2Module.java} +20 -6
  145. data/src/java/arjdbc/h2/H2RubyJdbcConnection.java +27 -12
  146. data/src/java/arjdbc/hsqldb/HSQLDBModule.java +73 -0
  147. data/src/java/arjdbc/informix/InformixRubyJdbcConnection.java +7 -6
  148. data/src/java/arjdbc/jdbc/AdapterJavaService.java +7 -29
  149. data/src/java/arjdbc/jdbc/Callable.java +44 -0
  150. data/src/java/arjdbc/jdbc/ConnectionFactory.java +132 -0
  151. data/src/java/arjdbc/jdbc/DataSourceConnectionFactory.java +157 -0
  152. data/src/java/arjdbc/jdbc/DriverConnectionFactory.java +63 -0
  153. data/src/java/arjdbc/jdbc/DriverWrapper.java +119 -0
  154. data/src/java/arjdbc/jdbc/JdbcResult.java +130 -0
  155. data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +3622 -948
  156. data/src/java/arjdbc/mssql/MSSQLModule.java +90 -0
  157. data/src/java/arjdbc/mssql/MSSQLRubyJdbcConnection.java +181 -0
  158. data/src/java/arjdbc/mysql/MySQLModule.java +99 -81
  159. data/src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java +294 -0
  160. data/src/java/arjdbc/oracle/OracleModule.java +80 -0
  161. data/src/java/arjdbc/oracle/OracleRubyJdbcConnection.java +387 -17
  162. data/src/java/arjdbc/postgresql/ByteaUtils.java +157 -0
  163. data/src/java/arjdbc/postgresql/PgResultSetMetaDataWrapper.java +23 -0
  164. data/src/java/arjdbc/postgresql/PostgreSQLModule.java +77 -0
  165. data/src/java/arjdbc/postgresql/PostgreSQLResult.java +184 -0
  166. data/src/java/arjdbc/postgresql/PostgreSQLRubyJdbcConnection.java +952 -0
  167. data/src/java/arjdbc/sqlite3/SQLite3Module.java +73 -0
  168. data/src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java +525 -0
  169. data/src/java/arjdbc/util/CallResultSet.java +826 -0
  170. data/src/java/arjdbc/util/DateTimeUtils.java +580 -0
  171. data/src/java/arjdbc/util/ObjectSupport.java +65 -0
  172. data/src/java/arjdbc/util/QuotingUtils.java +138 -0
  173. data/src/java/arjdbc/util/StringCache.java +63 -0
  174. data/src/java/arjdbc/util/StringHelper.java +159 -0
  175. metadata +245 -268
  176. data/History.txt +0 -369
  177. data/Manifest.txt +0 -180
  178. data/README.txt +0 -181
  179. data/lib/active_record/connection_adapters/oracle_adapter.rb +0 -1
  180. data/lib/arel/engines/sql/compilers/db2_compiler.rb +0 -9
  181. data/lib/arel/engines/sql/compilers/derby_compiler.rb +0 -6
  182. data/lib/arel/engines/sql/compilers/h2_compiler.rb +0 -6
  183. data/lib/arel/engines/sql/compilers/hsqldb_compiler.rb +0 -15
  184. data/lib/arel/engines/sql/compilers/jdbc_compiler.rb +0 -6
  185. data/lib/arel/engines/sql/compilers/mssql_compiler.rb +0 -46
  186. data/lib/arel/visitors/mssql.rb +0 -44
  187. data/lib/arjdbc/jdbc/compatibility.rb +0 -51
  188. data/lib/arjdbc/jdbc/core_ext.rb +0 -24
  189. data/lib/arjdbc/jdbc/discover.rb +0 -18
  190. data/lib/arjdbc/jdbc/driver.rb +0 -44
  191. data/lib/arjdbc/jdbc/missing_functionality_helper.rb +0 -87
  192. data/lib/arjdbc/jdbc/quoted_primary_key.rb +0 -28
  193. data/lib/arjdbc/jdbc/require_driver.rb +0 -16
  194. data/lib/arjdbc/mimer.rb +0 -2
  195. data/lib/arjdbc/mimer/adapter.rb +0 -142
  196. data/lib/arjdbc/mssql/tsql_helper.rb +0 -61
  197. data/lib/arjdbc/oracle.rb +0 -3
  198. data/lib/arjdbc/oracle/connection_methods.rb +0 -11
  199. data/lib/pg.rb +0 -4
  200. data/rakelib/package.rake +0 -92
  201. data/rakelib/test.rake +0 -81
  202. data/src/java/arjdbc/jdbc/SQLBlock.java +0 -48
  203. data/src/java/arjdbc/mssql/MssqlRubyJdbcConnection.java +0 -127
  204. data/src/java/arjdbc/postgresql/PostgresqlRubyJdbcConnection.java +0 -57
  205. data/src/java/arjdbc/sqlite3/Sqlite3RubyJdbcConnection.java +0 -64
  206. data/test/abstract_db_create.rb +0 -117
  207. data/test/activerecord/connection_adapters/type_conversion_test.rb +0 -31
  208. data/test/activerecord/connections/native_jdbc_mysql/connection.rb +0 -25
  209. data/test/db/db2.rb +0 -11
  210. data/test/db/derby.rb +0 -12
  211. data/test/db/h2.rb +0 -11
  212. data/test/db/hsqldb.rb +0 -13
  213. data/test/db/informix.rb +0 -11
  214. data/test/db/jdbc.rb +0 -11
  215. data/test/db/jndi_config.rb +0 -40
  216. data/test/db/logger.rb +0 -3
  217. data/test/db/mssql.rb +0 -9
  218. data/test/db/mysql.rb +0 -10
  219. data/test/db/oracle.rb +0 -34
  220. data/test/db/postgres.rb +0 -9
  221. data/test/db/sqlite3.rb +0 -11
  222. data/test/db2_simple_test.rb +0 -66
  223. data/test/derby_migration_test.rb +0 -68
  224. data/test/derby_multibyte_test.rb +0 -12
  225. data/test/derby_simple_test.rb +0 -99
  226. data/test/generic_jdbc_connection_test.rb +0 -29
  227. data/test/h2_simple_test.rb +0 -41
  228. data/test/has_many_through.rb +0 -79
  229. data/test/helper.rb +0 -5
  230. data/test/hsqldb_simple_test.rb +0 -6
  231. data/test/informix_simple_test.rb +0 -48
  232. data/test/jdbc_common.rb +0 -25
  233. data/test/jndi_callbacks_test.rb +0 -40
  234. data/test/jndi_test.rb +0 -25
  235. data/test/manualTestDatabase.rb +0 -191
  236. data/test/models/add_not_null_column_to_table.rb +0 -12
  237. data/test/models/auto_id.rb +0 -18
  238. data/test/models/data_types.rb +0 -28
  239. data/test/models/entry.rb +0 -43
  240. data/test/models/mixed_case.rb +0 -25
  241. data/test/models/reserved_word.rb +0 -18
  242. data/test/models/string_id.rb +0 -18
  243. data/test/models/validates_uniqueness_of_string.rb +0 -19
  244. data/test/mssql_db_create_test.rb +0 -26
  245. data/test/mssql_identity_insert_test.rb +0 -19
  246. data/test/mssql_legacy_types_test.rb +0 -58
  247. data/test/mssql_limit_offset_test.rb +0 -136
  248. data/test/mssql_multibyte_test.rb +0 -18
  249. data/test/mssql_simple_test.rb +0 -55
  250. data/test/mysql_db_create_test.rb +0 -27
  251. data/test/mysql_info_test.rb +0 -113
  252. data/test/mysql_multibyte_test.rb +0 -10
  253. data/test/mysql_nonstandard_primary_key_test.rb +0 -42
  254. data/test/mysql_simple_test.rb +0 -49
  255. data/test/oracle_simple_test.rb +0 -18
  256. data/test/oracle_specific_test.rb +0 -83
  257. data/test/pick_rails_version.rb +0 -3
  258. data/test/postgres_db_create_test.rb +0 -32
  259. data/test/postgres_drop_db_test.rb +0 -16
  260. data/test/postgres_mixed_case_test.rb +0 -29
  261. data/test/postgres_nonseq_pkey_test.rb +0 -38
  262. data/test/postgres_reserved_test.rb +0 -22
  263. data/test/postgres_schema_search_path_test.rb +0 -44
  264. data/test/postgres_simple_test.rb +0 -51
  265. data/test/postgres_table_alias_length_test.rb +0 -15
  266. data/test/simple.rb +0 -546
  267. data/test/sqlite3_simple_test.rb +0 -233
  268. data/test/sybase_jtds_simple_test.rb +0 -28
@@ -0,0 +1,65 @@
1
+
2
+ package arjdbc.util;
3
+
4
+ import java.util.List;
5
+ import org.jruby.Ruby;
6
+ import org.jruby.RubyBasicObject;
7
+ import org.jruby.RubyString;
8
+ import org.jruby.runtime.ThreadContext;
9
+ import org.jruby.runtime.builtin.IRubyObject;
10
+ import org.jruby.runtime.builtin.Variable;
11
+
12
+ public abstract class ObjectSupport {
13
+
14
+ @SuppressWarnings("unchecked")
15
+ public static RubyString inspect(final RubyBasicObject self) {
16
+ return inspect(self, (List) self.getInstanceVariableList());
17
+ }
18
+
19
+ public static RubyString inspect(final RubyBasicObject self, final List<Variable> variableList) {
20
+ final Ruby runtime = self.getRuntime();
21
+ return RubyString.newString(runtime, inspect(runtime, self, variableList));
22
+ }
23
+
24
+ private static StringBuilder inspect(final Ruby runtime, final RubyBasicObject self,
25
+ final List<Variable> variableList) {
26
+ final StringBuilder part = new StringBuilder();
27
+ String cname = self.getMetaClass().getRealClass().getName();
28
+ part.append("#<").append(cname).append(":0x");
29
+ part.append(Integer.toHexString(System.identityHashCode(self)));
30
+
31
+ if (runtime.isInspecting(self)) {
32
+ /* 6:tags 16:addr 1:eos */
33
+ part.append(" ...>");
34
+ return part;
35
+ }
36
+ try {
37
+ runtime.registerInspecting(self);
38
+ final ThreadContext context = runtime.getCurrentContext();
39
+ return inspectObj(context, variableList, part);
40
+ } finally {
41
+ runtime.unregisterInspecting(self);
42
+ }
43
+ }
44
+
45
+ private static StringBuilder inspectObj(final ThreadContext context,
46
+ final List<Variable> variableList,
47
+ final StringBuilder part) {
48
+ String sep = "";
49
+
50
+ for ( final Variable ivar : variableList ) {
51
+ part.append(sep).append(' ').append( ivar.getName() ).append('=');
52
+ final Object ival = ivar.getValue();
53
+ if ( ival instanceof IRubyObject ) {
54
+ part.append( ((IRubyObject) ival).callMethod(context, "inspect") );
55
+ }
56
+ else { // allow the variable to come formatted (as is) already :
57
+ part.append( ival ); // ival == null ? "nil" : ival.toString()
58
+ }
59
+ sep = ",";
60
+ }
61
+ part.append('>');
62
+ return part;
63
+ }
64
+
65
+ }
@@ -0,0 +1,138 @@
1
+ /*
2
+ * The MIT License
3
+ *
4
+ * Copyright 2013 Karol Bucek.
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in
14
+ * all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ * THE SOFTWARE.
23
+ */
24
+ package arjdbc.util;
25
+
26
+ import org.jruby.RubyString;
27
+ import org.jruby.runtime.Helpers;
28
+ import org.jruby.runtime.ThreadContext;
29
+ import org.jruby.runtime.builtin.IRubyObject;
30
+ import org.jruby.util.ByteList;
31
+
32
+ /**
33
+ * Shared (common) quoting helpers.
34
+ *
35
+ * <br>
36
+ * NOTE: This is internal API !
37
+ * <br>
38
+ *
39
+ * @author kares
40
+ */
41
+ public abstract class QuotingUtils {
42
+
43
+ public static final ByteList BYTES_0 = new ByteList(new byte[] { '0' }, false);
44
+
45
+ public static final ByteList BYTES_1 = new ByteList(new byte[] { '1' }, false);
46
+
47
+ // e.g. string.gsub("'", "''") -> quoteCharWith(string, '\'', '\'');
48
+ public static RubyString quoteCharWith(
49
+ final ThreadContext context,
50
+ final RubyString string,
51
+ final char value, final char quote) {
52
+ return quoteCharWith(context, string, value, quote, 0, 8);
53
+ }
54
+
55
+ @SuppressWarnings("deprecation")
56
+ public static RubyString quoteCharWith(
57
+ final ThreadContext context,
58
+ final RubyString string,
59
+ final char value, final char quote,
60
+ final int newOffset, final int newSizeDiff) {
61
+
62
+ final ByteList stringBytes = string.getByteList();
63
+ final byte[] bytes = stringBytes.unsafeBytes();
64
+ final int begin = stringBytes.getBegin();
65
+ final int realSize = stringBytes.getRealSize();
66
+
67
+ ByteList quotedBytes = null; int appendFrom = begin;
68
+ for ( int i = begin; i < begin + realSize; i++ ) {
69
+ if ( bytes[i] == value ) {
70
+ if ( quotedBytes == null ) {
71
+ quotedBytes = new ByteList(
72
+ new byte[realSize + newOffset + newSizeDiff],
73
+ stringBytes.getEncoding(), false
74
+ );
75
+ quotedBytes.begin = newOffset;
76
+ quotedBytes.realSize = 0;
77
+ }
78
+ quotedBytes.append(bytes, appendFrom, i - appendFrom);
79
+ quotedBytes.append(quote).append(value); // e.g. "'" => "''"
80
+ appendFrom = i + 1;
81
+ }
82
+ }
83
+ if ( quotedBytes != null ) { // append what's left in the end :
84
+ quotedBytes.append(bytes, appendFrom, begin + realSize - appendFrom);
85
+ }
86
+ else return string; // nothing changed, can return original
87
+
88
+ return context.runtime.newString(quotedBytes);
89
+ }
90
+
91
+ @SuppressWarnings("deprecation")
92
+ public static RubyString quoteCharAndDecorateWith(
93
+ final ThreadContext context, final RubyString string,
94
+ final char value, final char quote,
95
+ final byte prefix, final byte suffix) {
96
+
97
+ final ByteList str = string.getByteList();
98
+ final RubyString quotedString = // part.gsub('v', 'vv')
99
+ quoteCharWith(context, string, value, quote, 1, 4 + 1);
100
+ if ( quotedString == string ) {
101
+ final int realSize = str.getRealSize();
102
+ final ByteList quoted = new ByteList(
103
+ new byte[realSize + 2], string.getEncoding(), false
104
+ );
105
+ quoted.begin = 0; quoted.realSize = 0;
106
+ quoted.append(prefix);
107
+ quoted.append(str.unsafeBytes(), str.getBegin(), realSize);
108
+ quoted.append(suffix);
109
+ return context.runtime.newString(quoted);
110
+ }
111
+ // we got a new string with a reserve of 1 byte front and back :
112
+ final ByteList quoted = quotedString.getByteList();
113
+ quoted.begin = 0; // setBegin invalidates
114
+ quoted.bytes[0] = prefix; quoted.realSize++;
115
+ quoted.append(suffix);
116
+ return quotedString;
117
+ }
118
+
119
+ public static final ByteList BYTES_SINGLE_Q = new ByteList(new byte[] { '\'' }, false);
120
+ public static final ByteList BYTES_SINGLE_Q_x2 = new ByteList(new byte[] { '\'', '\'' }, false);
121
+
122
+ // string.gsub("'", "''") :
123
+ public static IRubyObject quoteSingleQuotesWithFallback(
124
+ final ThreadContext context, final IRubyObject string) {
125
+ // string.gsub("'", "''") :
126
+ if ( string instanceof RubyString ) {
127
+ final char single = '\'';
128
+ return quoteCharWith(context, (RubyString) string, single, single);
129
+ }
130
+ else { // ActiveSupport::Multibyte::Chars
131
+ return Helpers.invoke(context, string, "gsub",
132
+ context.runtime.newString(BYTES_SINGLE_Q),
133
+ context.runtime.newString(BYTES_SINGLE_Q_x2)
134
+ );
135
+ }
136
+ }
137
+
138
+ }
@@ -0,0 +1,63 @@
1
+ /*
2
+ * The MIT License
3
+ *
4
+ * Copyright 2014 Karol Bucek.
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in
14
+ * all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ * THE SOFTWARE.
23
+ */
24
+ package arjdbc.util;
25
+
26
+ import java.lang.ref.SoftReference;
27
+ import java.util.concurrent.ConcurrentHashMap;
28
+
29
+ import org.jruby.Ruby;
30
+ import org.jruby.RubyString;
31
+ import org.jruby.runtime.ThreadContext;
32
+ import org.jruby.util.ByteList;
33
+
34
+ /**
35
+ * Cache of _unicode_ strings.
36
+ *
37
+ * @author kares
38
+ */
39
+ public final class StringCache {
40
+
41
+ final ConcurrentHashMap<String, SoftReference<ByteList>> cache = new ConcurrentHashMap<>(64);
42
+
43
+ public RubyString get(final ThreadContext context, final String key) {
44
+ final ByteList bytes;
45
+ final SoftReference<ByteList> ref = cache.get(key);
46
+ if ( ref == null || (bytes = ref.get()) == null ) return store(context, key);
47
+ return (RubyString) RubyString.newUnicodeString(context.runtime, bytes).freeze(context);
48
+ }
49
+
50
+ private RubyString store(final ThreadContext context, final String key) {
51
+ final Ruby runtime = context.runtime;
52
+ final RubyString str = RubyString.newUnicodeString(runtime, key);
53
+ cache.putIfAbsent(key, new SoftReference<>(str.getByteList()));
54
+ // not clearing up orphans - but since its to be used for column/table names ...
55
+ // should be fine - DB drivers tend do also cache some meta-data information
56
+ return (RubyString) str.freeze(context);
57
+ }
58
+
59
+ public void clear() {
60
+ cache.clear();
61
+ }
62
+
63
+ }
@@ -0,0 +1,159 @@
1
+ /*
2
+ * The MIT License
3
+ *
4
+ * Copyright 2014 Karol Bucek.
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in
14
+ * all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ * THE SOFTWARE.
23
+ */
24
+ package arjdbc.util;
25
+
26
+ import java.io.IOException;
27
+ import java.io.InputStream;
28
+ import java.nio.charset.Charset;
29
+
30
+ import org.jcodings.Encoding;
31
+ import org.jcodings.specific.UTF8Encoding;
32
+ import org.jruby.Ruby;
33
+ import org.jruby.RubyEncoding;
34
+ import org.jruby.RubyString;
35
+ import org.jruby.util.ByteList;
36
+
37
+ /**
38
+ * Some (Ruby) byte string helpers.
39
+ *
40
+ * @author kares
41
+ */
42
+ public abstract class StringHelper {
43
+
44
+ public static byte decByte(final int digit) {
45
+ switch (digit) {
46
+ case 0 : return '0';
47
+ case 1 : return '1';
48
+ case 2 : return '2';
49
+ case 3 : return '3';
50
+ case 4 : return '4';
51
+ case 5 : return '5';
52
+ case 6 : return '6';
53
+ case 7 : return '7';
54
+ case 8 : return '8';
55
+ case 9 : return '9';
56
+ }
57
+ throw new IllegalStateException("unexpected digit: " + digit);
58
+ }
59
+
60
+ public static RubyString newString(final Ruby runtime, final byte[] bytes) {
61
+ return RubyString.newString(runtime, new ByteList(bytes, false));
62
+ }
63
+
64
+ private static final Charset ASCII_CHARSET = Charset.forName("ISO-8859-1");
65
+
66
+ public static RubyString newASCIIString(final Ruby runtime, final String str) {
67
+ final ByteList byteList = new ByteList(str.getBytes(ASCII_CHARSET), false);
68
+ return RubyString.newString(runtime, byteList);
69
+ }
70
+
71
+ public static RubyString newUTF8String(final Ruby runtime, final byte[] bytes) {
72
+ final ByteList byteList = new ByteList(bytes, false);
73
+ return RubyString.newString(runtime, byteList, UTF8Encoding.INSTANCE);
74
+ }
75
+
76
+ public static RubyString newDefaultInternalString(final Ruby runtime, final byte[] bytes) {
77
+ final ByteList byteList = new ByteList(bytes, false);
78
+ Encoding enc = runtime.getDefaultInternalEncoding();
79
+ if (enc == null) enc = runtime.getEncodingService().getJavaDefault();
80
+ return RubyString.newString(runtime, byteList, enc);
81
+ }
82
+
83
+ public static RubyString newDefaultInternalString(final Ruby runtime, final CharSequence str) {
84
+ Encoding enc = runtime.getDefaultInternalEncoding();
85
+ if (enc == null) enc = runtime.getEncodingService().getJavaDefault();
86
+ return RubyString.newString(runtime, new ByteList(RubyEncoding.encode(str, enc.getCharset()), enc));
87
+ }
88
+
89
+ public static RubyString newDefaultInternalString(final Ruby runtime, final String str) {
90
+ return RubyString.newInternalFromJavaExternal(runtime, str);
91
+ }
92
+
93
+ public static int readBytes(final ByteList output, final InputStream input)
94
+ throws IOException {
95
+ @SuppressWarnings("deprecation") // capacity :
96
+ final int buffSize = output.bytes.length - output.begin;
97
+ return readBytes(output, input, buffSize);
98
+ }
99
+
100
+ public static int readBytes(final ByteList output, final InputStream input, int buffSize)
101
+ throws IOException {
102
+ int read = 0;
103
+ while ( true ) {
104
+ output.ensure( output.getRealSize() + buffSize );
105
+ final int begin = output.getBegin();
106
+ final int size = output.getRealSize();
107
+ int n = input.read(output.unsafeBytes(), begin + size, buffSize);
108
+ if ( n == -1 ) break;
109
+ output.setRealSize( size + n ); read += n;
110
+ }
111
+ return read;
112
+ }
113
+
114
+ public static boolean startsWithIgnoreCase(final ByteList bytes, final byte[] start) {
115
+ int p = nonWhitespaceIndex(bytes, bytes.getBegin());
116
+ final byte[] stringBytes = bytes.unsafeBytes();
117
+ if ( stringBytes[p] == '(' ) {
118
+ p = nonWhitespaceIndex(bytes, p + 1);
119
+ }
120
+
121
+ for ( int i = 0; i < bytes.getRealSize() && i < start.length; i++ ) {
122
+ if ( Character.toLowerCase(stringBytes[p + i]) != start[i] ) return false;
123
+ }
124
+ return true;
125
+ }
126
+
127
+ public static int nonWhitespaceIndex(final ByteList string, final int off) {
128
+ final int end = string.getBegin() + string.getRealSize();
129
+ final byte[] stringBytes = string.unsafeBytes();
130
+ for ( int i = off; i < end; i++ ) {
131
+ if ( ! Character.isWhitespace( stringBytes[i] ) ) return i;
132
+ }
133
+ return end;
134
+ }
135
+
136
+ @SuppressWarnings("deprecation")
137
+ private static int nonSpaceIndex(final byte[] str, int beg, int len) {
138
+ for ( int i = beg; i < len; i++ ) {
139
+ if ( ! Character.isSpace( (char) str[i] ) ) return i;
140
+ }
141
+ return len;
142
+ }
143
+
144
+ private static int nonDigitIndex(final byte[] str, int beg, int len) {
145
+ for ( int i = beg; i < len; i++ ) {
146
+ if ( ! Character.isDigit( (char) str[i] ) ) return i;
147
+ }
148
+ return len;
149
+ }
150
+
151
+ private static int extractIntValue(final byte[] str, int beg, int end) {
152
+ int n = 0;
153
+ for ( int i = beg; i < end; i++ ) {
154
+ n = 10 * n + ( str[i] - '0' );
155
+ }
156
+ return n;
157
+ }
158
+
159
+ }
metadata CHANGED
@@ -1,277 +1,254 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: activerecord-jdbc-adapter
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 0
8
- - 3
9
- version: 1.0.3
3
+ version: !ruby/object:Gem::Version
4
+ version: '50.1'
10
5
  platform: java
11
- authors:
12
- - Nick Sieger, Ola Bini and JRuby contributors
13
- autorequire:
6
+ authors:
7
+ - Nick Sieger, Ola Bini, Karol Bucek and JRuby contributors
8
+ autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
-
17
- date: 2010-11-29 00:00:00 -06:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: rubyforge
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 2
30
- - 0
31
- - 4
32
- version: 2.0.4
33
- type: :development
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: hoe
37
- prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- segments:
44
- - 2
45
- - 6
46
- - 2
47
- version: 2.6.2
48
- type: :development
49
- version_requirements: *id002
50
- description: |-
51
- activerecord-jdbc-adapter is a database adapter for Rails' ActiveRecord
52
- component that can be used with JRuby[http://www.jruby.org/]. It allows use of
53
- virtually any JDBC-compliant database with your JRuby on Rails application.
54
- email: nick@nicksieger.com, ola.bini@gmail.com
11
+ date: 2018-05-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activerecord
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 5.0.0
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - "~>"
23
+ - !ruby/object:Gem::Version
24
+ version: 5.0.0
25
+ prerelease: false
26
+ type: :runtime
27
+ description: 'AR-JDBC is a database adapter for Rails'' ActiveRecord component designed
28
+ to be used with JRuby built upon Java''s JDBC API for database access. Provides
29
+ (ActiveRecord) built-in adapters: MySQL, PostgreSQL and SQLite3 as well as adapters
30
+ for popular databases such as Oracle, SQLServer, DB2, FireBird and even Java (embed)
31
+ databases: Derby, HSQLDB and H2. It allows to connect to virtually any JDBC-compliant
32
+ database with your JRuby on Rails application.'
33
+ email:
34
+ - nick@nicksieger.com
35
+ - ola.bini@gmail.com
36
+ - self@kares.org
55
37
  executables: []
56
-
57
38
  extensions: []
58
-
59
- extra_rdoc_files:
60
- - History.txt
61
- - Manifest.txt
62
- - README.txt
63
- - LICENSE.txt
64
- files:
65
- - History.txt
66
- - Manifest.txt
67
- - README.txt
68
- - Rakefile
69
- - LICENSE.txt
70
- - lib/activerecord-jdbc-adapter.rb
71
- - lib/arjdbc.rb
72
- - lib/jdbc_adapter.rb
73
- - lib/pg.rb
74
- - lib/active_record/connection_adapters/derby_adapter.rb
75
- - lib/active_record/connection_adapters/h2_adapter.rb
76
- - lib/active_record/connection_adapters/hsqldb_adapter.rb
77
- - lib/active_record/connection_adapters/informix_adapter.rb
78
- - lib/active_record/connection_adapters/jdbc_adapter.rb
79
- - lib/active_record/connection_adapters/jndi_adapter.rb
80
- - lib/active_record/connection_adapters/mssql_adapter.rb
81
- - lib/active_record/connection_adapters/mysql2_adapter.rb
82
- - lib/active_record/connection_adapters/mysql_adapter.rb
83
- - lib/active_record/connection_adapters/oracle_adapter.rb
84
- - lib/active_record/connection_adapters/postgresql_adapter.rb
85
- - lib/active_record/connection_adapters/sqlite3_adapter.rb
86
- - lib/arel/engines/sql/compilers/db2_compiler.rb
87
- - lib/arel/engines/sql/compilers/derby_compiler.rb
88
- - lib/arel/engines/sql/compilers/h2_compiler.rb
89
- - lib/arel/engines/sql/compilers/hsqldb_compiler.rb
90
- - lib/arel/engines/sql/compilers/jdbc_compiler.rb
91
- - lib/arel/engines/sql/compilers/mssql_compiler.rb
92
- - lib/arel/visitors/db2.rb
93
- - lib/arel/visitors/derby.rb
94
- - lib/arel/visitors/hsqldb.rb
95
- - lib/arel/visitors/mssql.rb
96
- - lib/arjdbc/db2.rb
97
- - lib/arjdbc/derby.rb
98
- - lib/arjdbc/discover.rb
99
- - lib/arjdbc/firebird.rb
100
- - lib/arjdbc/h2.rb
101
- - lib/arjdbc/hsqldb.rb
102
- - lib/arjdbc/informix.rb
103
- - lib/arjdbc/jdbc.rb
104
- - lib/arjdbc/mimer.rb
105
- - lib/arjdbc/mssql.rb
106
- - lib/arjdbc/mysql.rb
107
- - lib/arjdbc/oracle.rb
108
- - lib/arjdbc/postgresql.rb
109
- - lib/arjdbc/sqlite3.rb
110
- - lib/arjdbc/sybase.rb
111
- - lib/arjdbc/version.rb
112
- - lib/arjdbc/db2/adapter.rb
113
- - lib/arjdbc/derby/adapter.rb
114
- - lib/arjdbc/derby/connection_methods.rb
115
- - lib/arjdbc/firebird/adapter.rb
116
- - lib/arjdbc/h2/adapter.rb
117
- - lib/arjdbc/h2/connection_methods.rb
118
- - lib/arjdbc/hsqldb/adapter.rb
119
- - lib/arjdbc/hsqldb/connection_methods.rb
120
- - lib/arjdbc/informix/adapter.rb
121
- - lib/arjdbc/informix/connection_methods.rb
122
- - lib/arjdbc/jdbc/adapter.rb
123
- - lib/arjdbc/jdbc/callbacks.rb
124
- - lib/arjdbc/jdbc/column.rb
125
- - lib/arjdbc/jdbc/compatibility.rb
126
- - lib/arjdbc/jdbc/connection.rb
127
- - lib/arjdbc/jdbc/connection_methods.rb
128
- - lib/arjdbc/jdbc/core_ext.rb
129
- - lib/arjdbc/jdbc/discover.rb
130
- - lib/arjdbc/jdbc/driver.rb
131
- - lib/arjdbc/jdbc/extension.rb
132
- - lib/arjdbc/jdbc/java.rb
133
- - lib/arjdbc/jdbc/missing_functionality_helper.rb
134
- - lib/arjdbc/jdbc/quoted_primary_key.rb
135
- - lib/arjdbc/jdbc/railtie.rb
136
- - lib/arjdbc/jdbc/rake_tasks.rb
137
- - lib/arjdbc/jdbc/require_driver.rb
138
- - lib/arjdbc/jdbc/type_converter.rb
139
- - lib/arjdbc/mimer/adapter.rb
140
- - lib/arjdbc/mssql/adapter.rb
141
- - lib/arjdbc/mssql/connection_methods.rb
142
- - lib/arjdbc/mssql/limit_helpers.rb
143
- - lib/arjdbc/mssql/tsql_helper.rb
144
- - lib/arjdbc/mysql/adapter.rb
145
- - lib/arjdbc/mysql/connection_methods.rb
146
- - lib/arjdbc/oracle/adapter.rb
147
- - lib/arjdbc/oracle/connection_methods.rb
148
- - lib/arjdbc/postgresql/adapter.rb
149
- - lib/arjdbc/postgresql/connection_methods.rb
150
- - lib/arjdbc/sqlite3/adapter.rb
151
- - lib/arjdbc/sqlite3/connection_methods.rb
152
- - lib/arjdbc/sybase/adapter.rb
153
- - lib/generators/jdbc/jdbc_generator.rb
154
- - lib/jdbc_adapter/rake_tasks.rb
155
- - lib/jdbc_adapter/version.rb
156
- - lib/arjdbc/jdbc/adapter_java.jar
157
- - test/abstract_db_create.rb
158
- - test/db2_simple_test.rb
159
- - test/derby_migration_test.rb
160
- - test/derby_multibyte_test.rb
161
- - test/derby_simple_test.rb
162
- - test/generic_jdbc_connection_test.rb
163
- - test/h2_simple_test.rb
164
- - test/has_many_through.rb
165
- - test/helper.rb
166
- - test/hsqldb_simple_test.rb
167
- - test/informix_simple_test.rb
168
- - test/jdbc_common.rb
169
- - test/jndi_callbacks_test.rb
170
- - test/jndi_test.rb
171
- - test/manualTestDatabase.rb
172
- - test/mssql_db_create_test.rb
173
- - test/mssql_identity_insert_test.rb
174
- - test/mssql_legacy_types_test.rb
175
- - test/mssql_limit_offset_test.rb
176
- - test/mssql_multibyte_test.rb
177
- - test/mssql_simple_test.rb
178
- - test/mysql_db_create_test.rb
179
- - test/mysql_info_test.rb
180
- - test/mysql_multibyte_test.rb
181
- - test/mysql_nonstandard_primary_key_test.rb
182
- - test/mysql_simple_test.rb
183
- - test/oracle_simple_test.rb
184
- - test/oracle_specific_test.rb
185
- - test/pick_rails_version.rb
186
- - test/postgres_db_create_test.rb
187
- - test/postgres_drop_db_test.rb
188
- - test/postgres_mixed_case_test.rb
189
- - test/postgres_nonseq_pkey_test.rb
190
- - test/postgres_reserved_test.rb
191
- - test/postgres_schema_search_path_test.rb
192
- - test/postgres_simple_test.rb
193
- - test/postgres_table_alias_length_test.rb
194
- - test/simple.rb
195
- - test/sqlite3_simple_test.rb
196
- - test/sybase_jtds_simple_test.rb
197
- - test/activerecord/connection_adapters/type_conversion_test.rb
198
- - test/activerecord/connections/native_jdbc_mysql/connection.rb
199
- - test/db/db2.rb
200
- - test/db/derby.rb
201
- - test/db/h2.rb
202
- - test/db/hsqldb.rb
203
- - test/db/informix.rb
204
- - test/db/jdbc.rb
205
- - test/db/jndi_config.rb
206
- - test/db/logger.rb
207
- - test/db/mssql.rb
208
- - test/db/mysql.rb
209
- - test/db/oracle.rb
210
- - test/db/postgres.rb
211
- - test/db/sqlite3.rb
212
- - test/models/add_not_null_column_to_table.rb
213
- - test/models/auto_id.rb
214
- - test/models/data_types.rb
215
- - test/models/entry.rb
216
- - test/models/mixed_case.rb
217
- - test/models/reserved_word.rb
218
- - test/models/string_id.rb
219
- - test/models/validates_uniqueness_of_string.rb
220
- - lib/arjdbc/jdbc/jdbc.rake
221
- - src/java/arjdbc/derby/DerbyModule.java
222
- - src/java/arjdbc/h2/H2RubyJdbcConnection.java
223
- - src/java/arjdbc/informix/InformixRubyJdbcConnection.java
224
- - src/java/arjdbc/jdbc/AdapterJavaService.java
225
- - src/java/arjdbc/jdbc/JdbcConnectionFactory.java
226
- - src/java/arjdbc/jdbc/RubyJdbcConnection.java
227
- - src/java/arjdbc/jdbc/SQLBlock.java
228
- - src/java/arjdbc/mssql/MssqlRubyJdbcConnection.java
229
- - src/java/arjdbc/mysql/MySQLModule.java
230
- - src/java/arjdbc/oracle/OracleRubyJdbcConnection.java
231
- - src/java/arjdbc/postgresql/PostgresqlRubyJdbcConnection.java
232
- - src/java/arjdbc/sqlite3/Sqlite3RubyJdbcConnection.java
233
- - rakelib/compile.rake
234
- - rakelib/package.rake
235
- - rakelib/rails.rake
236
- - rakelib/test.rake
237
- - rails_generators/jdbc_generator.rb
238
- - rails_generators/templates/config/initializers/jdbc.rb
239
- - rails_generators/templates/lib/tasks/jdbc.rake
240
- has_rdoc: true
241
- homepage: http://jruby-extras.rubyforge.org/activerecord-jdbc-adapter
242
- licenses: []
243
-
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
- none: false
255
- requirements:
256
- - - ">="
257
- - !ruby/object:Gem::Version
258
- segments:
259
- - 0
260
- version: "0"
261
- required_rubygems_version: !ruby/object:Gem::Requirement
262
- none: false
263
- requirements:
264
- - - ">="
265
- - !ruby/object:Gem::Version
266
- segments:
267
- - 0
268
- version: "0"
39
+ extra_rdoc_files: []
40
+ files:
41
+ - ".gitignore"
42
+ - ".travis.yml"
43
+ - ".yardopts"
44
+ - CONTRIBUTING.md
45
+ - Gemfile
46
+ - History.md
47
+ - LICENSE.txt
48
+ - README.md
49
+ - RUNNING_TESTS.md
50
+ - Rakefile
51
+ - Rakefile.jdbc
52
+ - activerecord-jdbc-adapter.gemspec
53
+ - lib/active_record/connection_adapters/as400_adapter.rb
54
+ - lib/active_record/connection_adapters/db2_adapter.rb
55
+ - lib/active_record/connection_adapters/derby_adapter.rb
56
+ - lib/active_record/connection_adapters/firebird_adapter.rb
57
+ - lib/active_record/connection_adapters/h2_adapter.rb
58
+ - lib/active_record/connection_adapters/hsqldb_adapter.rb
59
+ - lib/active_record/connection_adapters/informix_adapter.rb
60
+ - lib/active_record/connection_adapters/jdbc_adapter.rb
61
+ - lib/active_record/connection_adapters/jndi_adapter.rb
62
+ - lib/active_record/connection_adapters/mariadb_adapter.rb
63
+ - lib/active_record/connection_adapters/mssql_adapter.rb
64
+ - lib/active_record/connection_adapters/mysql2_adapter.rb
65
+ - lib/active_record/connection_adapters/mysql_adapter.rb
66
+ - lib/active_record/connection_adapters/postgresql_adapter.rb
67
+ - lib/active_record/connection_adapters/sqlite3_adapter.rb
68
+ - lib/active_record/connection_adapters/sqlserver_adapter.rb
69
+ - lib/activerecord-jdbc-adapter.rb
70
+ - lib/arel/visitors/compat.rb
71
+ - lib/arel/visitors/db2.rb
72
+ - lib/arel/visitors/derby.rb
73
+ - lib/arel/visitors/firebird.rb
74
+ - lib/arel/visitors/h2.rb
75
+ - lib/arel/visitors/hsqldb.rb
76
+ - lib/arel/visitors/postgresql_jdbc.rb
77
+ - lib/arel/visitors/sql_server.rb
78
+ - lib/arel/visitors/sql_server/ng42.rb
79
+ - lib/arjdbc.rb
80
+ - lib/arjdbc/abstract/connection_management.rb
81
+ - lib/arjdbc/abstract/core.rb
82
+ - lib/arjdbc/abstract/database_statements.rb
83
+ - lib/arjdbc/abstract/statement_cache.rb
84
+ - lib/arjdbc/abstract/transaction_support.rb
85
+ - lib/arjdbc/db2.rb
86
+ - lib/arjdbc/db2/adapter.rb
87
+ - lib/arjdbc/db2/as400.rb
88
+ - lib/arjdbc/db2/column.rb
89
+ - lib/arjdbc/db2/connection_methods.rb
90
+ - lib/arjdbc/derby.rb
91
+ - lib/arjdbc/derby/active_record_patch.rb
92
+ - lib/arjdbc/derby/adapter.rb
93
+ - lib/arjdbc/derby/connection_methods.rb
94
+ - lib/arjdbc/derby/schema_creation.rb
95
+ - lib/arjdbc/discover.rb
96
+ - lib/arjdbc/firebird.rb
97
+ - lib/arjdbc/firebird/adapter.rb
98
+ - lib/arjdbc/firebird/connection_methods.rb
99
+ - lib/arjdbc/h2.rb
100
+ - lib/arjdbc/h2/adapter.rb
101
+ - lib/arjdbc/h2/connection_methods.rb
102
+ - lib/arjdbc/hsqldb.rb
103
+ - lib/arjdbc/hsqldb/adapter.rb
104
+ - lib/arjdbc/hsqldb/connection_methods.rb
105
+ - lib/arjdbc/hsqldb/explain_support.rb
106
+ - lib/arjdbc/hsqldb/schema_creation.rb
107
+ - lib/arjdbc/informix.rb
108
+ - lib/arjdbc/informix/adapter.rb
109
+ - lib/arjdbc/informix/connection_methods.rb
110
+ - lib/arjdbc/jdbc.rb
111
+ - lib/arjdbc/jdbc/adapter.rb
112
+ - lib/arjdbc/jdbc/adapter_java.jar
113
+ - lib/arjdbc/jdbc/adapter_require.rb
114
+ - lib/arjdbc/jdbc/base_ext.rb
115
+ - lib/arjdbc/jdbc/callbacks.rb
116
+ - lib/arjdbc/jdbc/column.rb
117
+ - lib/arjdbc/jdbc/connection.rb
118
+ - lib/arjdbc/jdbc/connection_methods.rb
119
+ - lib/arjdbc/jdbc/error.rb
120
+ - lib/arjdbc/jdbc/extension.rb
121
+ - lib/arjdbc/jdbc/java.rb
122
+ - lib/arjdbc/jdbc/jdbc.rake
123
+ - lib/arjdbc/jdbc/railtie.rb
124
+ - lib/arjdbc/jdbc/rake_tasks.rb
125
+ - lib/arjdbc/jdbc/serialized_attributes_helper.rb
126
+ - lib/arjdbc/jdbc/type_cast.rb
127
+ - lib/arjdbc/jdbc/type_converter.rb
128
+ - lib/arjdbc/mssql.rb
129
+ - lib/arjdbc/mssql/adapter.rb
130
+ - lib/arjdbc/mssql/column.rb
131
+ - lib/arjdbc/mssql/connection_methods.rb
132
+ - lib/arjdbc/mssql/explain_support.rb
133
+ - lib/arjdbc/mssql/limit_helpers.rb
134
+ - lib/arjdbc/mssql/lock_methods.rb
135
+ - lib/arjdbc/mssql/types.rb
136
+ - lib/arjdbc/mssql/utils.rb
137
+ - lib/arjdbc/mysql.rb
138
+ - lib/arjdbc/mysql/adapter.rb
139
+ - lib/arjdbc/mysql/connection_methods.rb
140
+ - lib/arjdbc/oracle/adapter.rb
141
+ - lib/arjdbc/postgresql.rb
142
+ - lib/arjdbc/postgresql/_bc_time_cast_patch.rb
143
+ - lib/arjdbc/postgresql/adapter.rb
144
+ - lib/arjdbc/postgresql/base/array_decoder.rb
145
+ - lib/arjdbc/postgresql/base/array_encoder.rb
146
+ - lib/arjdbc/postgresql/base/array_parser.rb
147
+ - lib/arjdbc/postgresql/base/pgconn.rb
148
+ - lib/arjdbc/postgresql/column.rb
149
+ - lib/arjdbc/postgresql/connection_methods.rb
150
+ - lib/arjdbc/postgresql/name.rb
151
+ - lib/arjdbc/postgresql/oid_types.rb
152
+ - lib/arjdbc/railtie.rb
153
+ - lib/arjdbc/sqlite3.rb
154
+ - lib/arjdbc/sqlite3/adapter.rb
155
+ - lib/arjdbc/sqlite3/connection_methods.rb
156
+ - lib/arjdbc/sybase.rb
157
+ - lib/arjdbc/sybase/adapter.rb
158
+ - lib/arjdbc/tasks.rb
159
+ - lib/arjdbc/tasks/database_tasks.rb
160
+ - lib/arjdbc/tasks/databases.rake
161
+ - lib/arjdbc/tasks/databases3.rake
162
+ - lib/arjdbc/tasks/databases4.rake
163
+ - lib/arjdbc/tasks/db2_database_tasks.rb
164
+ - lib/arjdbc/tasks/derby_database_tasks.rb
165
+ - lib/arjdbc/tasks/h2_database_tasks.rb
166
+ - lib/arjdbc/tasks/hsqldb_database_tasks.rb
167
+ - lib/arjdbc/tasks/jdbc_database_tasks.rb
168
+ - lib/arjdbc/tasks/mssql_database_tasks.rb
169
+ - lib/arjdbc/util/quoted_cache.rb
170
+ - lib/arjdbc/util/serialized_attributes.rb
171
+ - lib/arjdbc/util/table_copier.rb
172
+ - lib/arjdbc/version.rb
173
+ - lib/generators/jdbc/USAGE
174
+ - lib/generators/jdbc/jdbc_generator.rb
175
+ - lib/jdbc_adapter.rb
176
+ - lib/jdbc_adapter/rake_tasks.rb
177
+ - lib/jdbc_adapter/version.rb
178
+ - pom.xml
179
+ - rails_generators/jdbc_generator.rb
180
+ - rails_generators/templates/config/initializers/jdbc.rb
181
+ - rails_generators/templates/lib/tasks/jdbc.rake
182
+ - rakelib/01-tomcat.rake
183
+ - rakelib/02-test.rake
184
+ - rakelib/bundler_ext.rb
185
+ - rakelib/compile.rake
186
+ - rakelib/db.rake
187
+ - rakelib/rails.rake
188
+ - src/java/arjdbc/ArJdbcModule.java
189
+ - src/java/arjdbc/db2/DB2Module.java
190
+ - src/java/arjdbc/db2/DB2RubyJdbcConnection.java
191
+ - src/java/arjdbc/derby/DerbyModule.java
192
+ - src/java/arjdbc/derby/DerbyRubyJdbcConnection.java
193
+ - src/java/arjdbc/firebird/FirebirdRubyJdbcConnection.java
194
+ - src/java/arjdbc/h2/H2Module.java
195
+ - src/java/arjdbc/h2/H2RubyJdbcConnection.java
196
+ - src/java/arjdbc/hsqldb/HSQLDBModule.java
197
+ - src/java/arjdbc/informix/InformixRubyJdbcConnection.java
198
+ - src/java/arjdbc/jdbc/AdapterJavaService.java
199
+ - src/java/arjdbc/jdbc/Callable.java
200
+ - src/java/arjdbc/jdbc/ConnectionFactory.java
201
+ - src/java/arjdbc/jdbc/DataSourceConnectionFactory.java
202
+ - src/java/arjdbc/jdbc/DriverConnectionFactory.java
203
+ - src/java/arjdbc/jdbc/DriverWrapper.java
204
+ - src/java/arjdbc/jdbc/JdbcResult.java
205
+ - src/java/arjdbc/jdbc/RubyJdbcConnection.java
206
+ - src/java/arjdbc/mssql/MSSQLModule.java
207
+ - src/java/arjdbc/mssql/MSSQLRubyJdbcConnection.java
208
+ - src/java/arjdbc/mysql/MySQLModule.java
209
+ - src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java
210
+ - src/java/arjdbc/oracle/OracleModule.java
211
+ - src/java/arjdbc/oracle/OracleRubyJdbcConnection.java
212
+ - src/java/arjdbc/postgresql/ByteaUtils.java
213
+ - src/java/arjdbc/postgresql/PgResultSetMetaDataWrapper.java
214
+ - src/java/arjdbc/postgresql/PostgreSQLModule.java
215
+ - src/java/arjdbc/postgresql/PostgreSQLResult.java
216
+ - src/java/arjdbc/postgresql/PostgreSQLRubyJdbcConnection.java
217
+ - src/java/arjdbc/sqlite3/SQLite3Module.java
218
+ - src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java
219
+ - src/java/arjdbc/util/CallResultSet.java
220
+ - src/java/arjdbc/util/DateTimeUtils.java
221
+ - src/java/arjdbc/util/ObjectSupport.java
222
+ - src/java/arjdbc/util/QuotingUtils.java
223
+ - src/java/arjdbc/util/StringCache.java
224
+ - src/java/arjdbc/util/StringHelper.java
225
+ homepage: https://github.com/jruby/activerecord-jdbc-adapter
226
+ licenses:
227
+ - BSD-2-Clause
228
+ metadata: {}
229
+ post_install_message:
230
+ rdoc_options:
231
+ - "--main"
232
+ - README.md
233
+ - "-SHN"
234
+ - "-f"
235
+ - darkfish
236
+ require_paths:
237
+ - lib
238
+ required_ruby_version: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ required_rubygems_version: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - ">="
246
+ - !ruby/object:Gem::Version
247
+ version: '0'
269
248
  requirements: []
270
-
271
- rubyforge_project: jruby-extras
272
- rubygems_version: 1.3.7
273
- signing_key:
274
- specification_version: 3
249
+ rubyforge_project:
250
+ rubygems_version: 2.6.14.1
251
+ signing_key:
252
+ specification_version: 4
275
253
  summary: JDBC adapter for ActiveRecord, for use within JRuby on Rails.
276
254
  test_files: []
277
-