activerecord-jdbc-alt-adapter 51.7.0-java → 52.2.0-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.
- checksums.yaml +4 -4
- data/.gitignore +0 -3
- data/.travis.yml +24 -28
- data/Gemfile +2 -3
- data/README.md +27 -19
- data/Rakefile +4 -30
- data/activerecord-jdbc-adapter.gemspec +2 -2
- data/activerecord-jdbc-alt-adapter.gemspec +4 -4
- data/lib/arel/visitors/sqlserver.rb +2 -1
- data/lib/arjdbc/abstract/core.rb +12 -2
- data/lib/arjdbc/abstract/database_statements.rb +22 -8
- data/lib/arjdbc/abstract/statement_cache.rb +1 -0
- data/lib/arjdbc/db2/adapter.rb +77 -8
- data/lib/arjdbc/db2/as400.rb +12 -0
- data/lib/arjdbc/db2/column.rb +3 -0
- data/lib/arjdbc/db2/connection_methods.rb +4 -0
- data/lib/arjdbc/jdbc/adapter.rb +4 -6
- data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
- data/lib/arjdbc/jdbc/column.rb +14 -6
- data/lib/arjdbc/jdbc.rb +7 -0
- data/lib/arjdbc/mssql/adapter.rb +20 -32
- data/lib/arjdbc/mssql/connection_methods.rb +1 -5
- data/lib/arjdbc/mssql/database_limits.rb +29 -0
- data/lib/arjdbc/mssql/database_statements.rb +41 -1
- data/lib/arjdbc/mssql/explain_support.rb +6 -1
- data/lib/arjdbc/mssql/quoting.rb +9 -2
- data/lib/arjdbc/mssql/schema_creation.rb +2 -1
- data/lib/arjdbc/mssql/schema_dumper.rb +1 -1
- data/lib/arjdbc/mssql/schema_statements.rb +11 -3
- data/lib/arjdbc/mssql/transaction.rb +3 -3
- data/lib/arjdbc/mssql.rb +1 -1
- data/lib/arjdbc/mysql/adapter.rb +20 -4
- data/lib/arjdbc/mysql/connection_methods.rb +7 -13
- data/lib/arjdbc/postgresql/adapter.rb +23 -20
- data/lib/arjdbc/postgresql/column.rb +3 -6
- data/lib/arjdbc/postgresql/connection_methods.rb +1 -3
- data/lib/arjdbc/postgresql/oid_types.rb +6 -11
- data/lib/arjdbc/sqlite3/adapter.rb +86 -91
- data/lib/arjdbc/sqlite3/connection_methods.rb +0 -1
- data/lib/arjdbc/tasks/database_tasks.rb +1 -0
- data/lib/arjdbc/tasks/sqlite_database_tasks_patch.rb +17 -0
- data/lib/arjdbc/version.rb +1 -1
- data/rakelib/01-tomcat.rake +2 -2
- data/rakelib/02-test.rake +2 -0
- data/rakelib/rails.rake +1 -1
- data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +10 -65
- data/src/java/arjdbc/mssql/MSSQLRubyJdbcConnection.java +38 -282
- data/src/java/arjdbc/postgresql/PostgreSQLResult.java +69 -4
- data/src/java/arjdbc/postgresql/PostgreSQLRubyJdbcConnection.java +69 -13
- data/src/java/arjdbc/util/DateTimeUtils.java +17 -28
- data/src/java/arjdbc/util/PG.java +8 -0
- metadata +15 -12
- data/lib/activerecord-jdbc-alt-adapter.rb +0 -1
@@ -51,9 +51,6 @@ import static arjdbc.util.StringHelper.decByte;
|
|
51
51
|
* @author kares
|
52
52
|
*/
|
53
53
|
public abstract class DateTimeUtils {
|
54
|
-
|
55
|
-
private static final GJChronology CHRONO_ITALY_UTC = GJChronology.getInstance(DateTimeZone.UTC);
|
56
|
-
|
57
54
|
public static RubyTime toTime(final ThreadContext context, final IRubyObject value) {
|
58
55
|
if (!(value instanceof RubyTime)) { // unlikely
|
59
56
|
return (RubyTime) TypeConverter.convertToTypeWithCheck(value, context.runtime.getTime(), "to_time");
|
@@ -221,11 +218,9 @@ public abstract class DateTimeUtils {
|
|
221
218
|
final int hours = time.getHours();
|
222
219
|
final int minutes = time.getMinutes();
|
223
220
|
final int seconds = time.getSeconds();
|
224
|
-
int nanos = time.getNanos(); // max 999-999-999
|
225
|
-
final int millis = nanos / 1000000;
|
226
|
-
nanos = nanos % 1000000;
|
221
|
+
final int nanos = time.getNanos(); // max 999-999-999
|
227
222
|
|
228
|
-
DateTime dateTime = new DateTime(2000, 1, 1, hours, minutes, seconds,
|
223
|
+
DateTime dateTime = new DateTime(2000, 1, 1, hours, minutes, seconds, defaultZone);
|
229
224
|
return RubyTime.newTime(context.runtime, dateTime, nanos);
|
230
225
|
}
|
231
226
|
|
@@ -238,11 +233,9 @@ public abstract class DateTimeUtils {
|
|
238
233
|
final int hours = timestamp.getHours();
|
239
234
|
final int minutes = timestamp.getMinutes();
|
240
235
|
final int seconds = timestamp.getSeconds();
|
241
|
-
int nanos = timestamp.getNanos(); // max 999-999-999
|
242
|
-
final int millis = nanos / 1000000;
|
243
|
-
nanos = nanos % 1000000;
|
236
|
+
final int nanos = timestamp.getNanos(); // max 999-999-999
|
244
237
|
|
245
|
-
DateTime dateTime = new DateTime(year, month, day, hours, minutes, seconds,
|
238
|
+
DateTime dateTime = new DateTime(year, month, day, hours, minutes, seconds, 0, defaultZone);
|
246
239
|
return RubyTime.newTime(context.runtime, dateTime, nanos);
|
247
240
|
}
|
248
241
|
|
@@ -267,15 +260,6 @@ public abstract class DateTimeUtils {
|
|
267
260
|
return newDate(context, year, month, day, ISOChronology.getInstance(zone));
|
268
261
|
}
|
269
262
|
|
270
|
-
@SuppressWarnings("deprecation")
|
271
|
-
public static IRubyObject newDate(final ThreadContext context, final Date date) {
|
272
|
-
final int year = date.getYear() + 1900;
|
273
|
-
final int month = date.getMonth() + 1;
|
274
|
-
final int day = date.getDate();
|
275
|
-
|
276
|
-
return newDate(context, year, month, day, CHRONO_ITALY_UTC);
|
277
|
-
}
|
278
|
-
|
279
263
|
// @Deprecated
|
280
264
|
public static Timestamp convertToTimestamp(final RubyFloat value) {
|
281
265
|
final Timestamp timestamp = new Timestamp(value.getLongValue() * 1000); // millis
|
@@ -333,19 +317,24 @@ public abstract class DateTimeUtils {
|
|
333
317
|
// month
|
334
318
|
end = nonDigitIndex(str, start, len);
|
335
319
|
month = extractIntValue(str, start, end);
|
336
|
-
|
337
|
-
//sep = str.charAt(end);
|
338
|
-
//if ( sep != '-' ) {
|
339
|
-
// throw new NumberFormatException("expected date to be dash-separated, got '" + sep + "'");
|
340
|
-
//}
|
341
|
-
|
342
320
|
start = end + 1; // Skip '-'
|
343
321
|
|
344
322
|
// day of month
|
345
323
|
end = nonDigitIndex(str, start, len);
|
346
324
|
day = extractIntValue(str, start, end);
|
347
325
|
|
348
|
-
|
326
|
+
start = end + 1; // Skip possible space
|
327
|
+
boolean bcEra = false;
|
328
|
+
if ( start + 1 < len ) {
|
329
|
+
final char e1 = str.charAt(start);
|
330
|
+
if ( e1 == 'B' && str.charAt(start + 1) == 'C' ) bcEra = true;
|
331
|
+
}
|
332
|
+
|
333
|
+
if ( bcEra ) year = -1 * year; // no + 1 since we use GJChronology
|
334
|
+
|
335
|
+
DateTime dateTime = new DateTime(year, month, day, 0, 0, 0, GJChronology.getInstance(defaultZone));
|
336
|
+
final Ruby runtime = context.runtime;
|
337
|
+
return runtime.getClass("Date").newInstance(context, Java.getInstance(runtime, dateTime), Block.NULL_BLOCK);
|
349
338
|
}
|
350
339
|
|
351
340
|
public static IRubyObject parseTime(final ThreadContext context, final CharSequence str, final DateTimeZone defaultZone)
|
@@ -570,7 +559,7 @@ public abstract class DateTimeUtils {
|
|
570
559
|
}
|
571
560
|
|
572
561
|
private static IRubyObject newDate(final ThreadContext context, final int year, final int month, final int day,
|
573
|
-
final
|
562
|
+
final ISOChronology chronology) {
|
574
563
|
// NOTE: JRuby really needs a native date.rb until than its a bit costly going from ...
|
575
564
|
// java.sql.Date -> allocating a DateTime proxy, help a bit by shooting at the internals
|
576
565
|
//
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-jdbc-alt-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 52.2.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Nick Sieger, Ola Bini, Karol Bucek and JRuby contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
16
|
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: 5.
|
18
|
+
version: 5.2.0
|
19
19
|
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 5.
|
21
|
+
version: 5.2.3
|
22
22
|
name: activerecord
|
23
|
-
type: :runtime
|
24
23
|
prerelease: false
|
24
|
+
type: :runtime
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 5.
|
29
|
+
version: 5.2.0
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 5.
|
33
|
-
description: 'Fork of the ActiveRecord JDBC adapter with support for SQL Server
|
34
|
-
|
32
|
+
version: 5.2.3
|
33
|
+
description: 'Fork of the ActiveRecord JDBC adapter with support for SQL Server/Azure
|
34
|
+
SQL, for more information and help look at the README file in the github repository.
|
35
35
|
AR-JDBC is a database adapter for Rails'' ActiveRecord component designed to be
|
36
36
|
used with JRuby built upon Java''s JDBC API for database access. Provides (ActiveRecord)
|
37
37
|
built-in adapters: MySQL, PostgreSQL and SQLite3 as well as adapters for popular
|
38
38
|
databases such as Oracle, SQLServer, DB2, FireBird and even Java (embed) databases:
|
39
39
|
Derby, HSQLDB and H2. It allows to connect to virtually any JDBC-compliant database
|
40
|
-
with your JRuby on Rails application.
|
40
|
+
with your JRuby on Rails application.'
|
41
41
|
email:
|
42
42
|
- nick@nicksieger.com
|
43
43
|
- ola.bini@gmail.com
|
@@ -76,7 +76,6 @@ files:
|
|
76
76
|
- lib/active_record/connection_adapters/sqlite3_adapter.rb
|
77
77
|
- lib/active_record/connection_adapters/sqlserver_adapter.rb
|
78
78
|
- lib/activerecord-jdbc-adapter.rb
|
79
|
-
- lib/activerecord-jdbc-alt-adapter.rb
|
80
79
|
- lib/arel/visitors/compat.rb
|
81
80
|
- lib/arel/visitors/db2.rb
|
82
81
|
- lib/arel/visitors/derby.rb
|
@@ -139,6 +138,7 @@ files:
|
|
139
138
|
- lib/arjdbc/mssql/adapter.rb
|
140
139
|
- lib/arjdbc/mssql/column.rb
|
141
140
|
- lib/arjdbc/mssql/connection_methods.rb
|
141
|
+
- lib/arjdbc/mssql/database_limits.rb
|
142
142
|
- lib/arjdbc/mssql/database_statements.rb
|
143
143
|
- lib/arjdbc/mssql/errors.rb
|
144
144
|
- lib/arjdbc/mssql/explain_support.rb
|
@@ -190,6 +190,7 @@ files:
|
|
190
190
|
- lib/arjdbc/tasks/hsqldb_database_tasks.rb
|
191
191
|
- lib/arjdbc/tasks/jdbc_database_tasks.rb
|
192
192
|
- lib/arjdbc/tasks/mssql_database_tasks.rb
|
193
|
+
- lib/arjdbc/tasks/sqlite_database_tasks_patch.rb
|
193
194
|
- lib/arjdbc/util/quoted_cache.rb
|
194
195
|
- lib/arjdbc/util/serialized_attributes.rb
|
195
196
|
- lib/arjdbc/util/table_copier.rb
|
@@ -243,6 +244,7 @@ files:
|
|
243
244
|
- src/java/arjdbc/util/CallResultSet.java
|
244
245
|
- src/java/arjdbc/util/DateTimeUtils.java
|
245
246
|
- src/java/arjdbc/util/ObjectSupport.java
|
247
|
+
- src/java/arjdbc/util/PG.java
|
246
248
|
- src/java/arjdbc/util/QuotingUtils.java
|
247
249
|
- src/java/arjdbc/util/StringCache.java
|
248
250
|
- src/java/arjdbc/util/StringHelper.java
|
@@ -270,7 +272,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
272
|
- !ruby/object:Gem::Version
|
271
273
|
version: '0'
|
272
274
|
requirements: []
|
273
|
-
|
275
|
+
rubyforge_project:
|
276
|
+
rubygems_version: 2.7.6
|
274
277
|
signing_key:
|
275
278
|
specification_version: 4
|
276
279
|
summary: ActiveRecord JDBC adapter, for use within JRuby on Rails and SQL Server
|
@@ -1 +0,0 @@
|
|
1
|
-
require 'arjdbc'
|