activerecord-jdbc-alt-adapter 52.5.1-java → 60.2.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.nvimlog +0 -0
  4. data/.travis.yml +61 -37
  5. data/Gemfile +10 -3
  6. data/README.md +44 -28
  7. data/Rakefile +1 -1
  8. data/Rakefile.jdbc +8 -1
  9. data/activerecord-jdbc-adapter.gemspec +5 -8
  10. data/activerecord-jdbc-alt-adapter.gemspec +5 -8
  11. data/lib/arel/visitors/sqlserver.rb +33 -23
  12. data/lib/arjdbc/abstract/connection_management.rb +7 -0
  13. data/lib/arjdbc/abstract/core.rb +16 -23
  14. data/lib/arjdbc/abstract/database_statements.rb +24 -0
  15. data/lib/arjdbc/abstract/statement_cache.rb +2 -5
  16. data/lib/arjdbc/abstract/transaction_support.rb +5 -3
  17. data/lib/arjdbc/db2/column.rb +0 -39
  18. data/lib/arjdbc/derby/adapter.rb +1 -20
  19. data/lib/arjdbc/firebird/adapter.rb +0 -21
  20. data/lib/arjdbc/h2/adapter.rb +0 -15
  21. data/lib/arjdbc/hsqldb/adapter.rb +0 -14
  22. data/lib/arjdbc/informix/adapter.rb +0 -23
  23. data/lib/arjdbc/jdbc/adapter.rb +3 -1
  24. data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
  25. data/lib/arjdbc/jdbc/adapter_require.rb +3 -1
  26. data/lib/arjdbc/jdbc/base_ext.rb +3 -1
  27. data/lib/arjdbc/jdbc/callbacks.rb +2 -0
  28. data/lib/arjdbc/jdbc/column.rb +2 -0
  29. data/lib/arjdbc/jdbc/connection.rb +2 -0
  30. data/lib/arjdbc/jdbc/connection_methods.rb +2 -0
  31. data/lib/arjdbc/jdbc/error.rb +2 -0
  32. data/lib/arjdbc/jdbc/extension.rb +2 -0
  33. data/lib/arjdbc/jdbc/java.rb +3 -1
  34. data/lib/arjdbc/jdbc/railtie.rb +3 -1
  35. data/lib/arjdbc/jdbc/rake_tasks.rb +3 -1
  36. data/lib/arjdbc/jdbc/serialized_attributes_helper.rb +3 -1
  37. data/lib/arjdbc/jdbc/type_cast.rb +2 -0
  38. data/lib/arjdbc/jdbc/type_converter.rb +2 -0
  39. data/lib/arjdbc/mssql/adapter.rb +105 -36
  40. data/lib/arjdbc/mssql/column.rb +5 -1
  41. data/lib/arjdbc/mssql/connection_methods.rb +8 -2
  42. data/lib/arjdbc/mssql/database_limits.rb +2 -0
  43. data/lib/arjdbc/mssql/database_statements.rb +43 -5
  44. data/lib/arjdbc/mssql/errors.rb +2 -0
  45. data/lib/arjdbc/mssql/explain_support.rb +3 -1
  46. data/lib/arjdbc/mssql/extensions/attribute_methods.rb +5 -1
  47. data/lib/arjdbc/mssql/extensions/calculations.rb +2 -0
  48. data/lib/arjdbc/mssql/quoting.rb +38 -0
  49. data/lib/arjdbc/mssql/schema_creation.rb +24 -2
  50. data/lib/arjdbc/mssql/schema_definitions.rb +10 -0
  51. data/lib/arjdbc/mssql/schema_dumper.rb +2 -0
  52. data/lib/arjdbc/mssql/schema_statements.rb +63 -21
  53. data/lib/arjdbc/mssql/transaction.rb +2 -0
  54. data/lib/arjdbc/mssql/types/binary_types.rb +2 -0
  55. data/lib/arjdbc/mssql/types/date_and_time_types.rb +2 -0
  56. data/lib/arjdbc/mssql/types/deprecated_types.rb +2 -0
  57. data/lib/arjdbc/mssql/types/numeric_types.rb +2 -0
  58. data/lib/arjdbc/mssql/types/string_types.rb +2 -0
  59. data/lib/arjdbc/mssql/types.rb +2 -0
  60. data/lib/arjdbc/mssql/utils.rb +2 -0
  61. data/lib/arjdbc/mssql.rb +3 -1
  62. data/lib/arjdbc/mysql/adapter.rb +47 -18
  63. data/lib/arjdbc/postgresql/adapter.rb +240 -214
  64. data/lib/arjdbc/postgresql/base/array_decoder.rb +2 -0
  65. data/lib/arjdbc/postgresql/base/array_encoder.rb +4 -2
  66. data/lib/arjdbc/postgresql/base/array_parser.rb +4 -2
  67. data/lib/arjdbc/postgresql/base/pgconn.rb +2 -0
  68. data/lib/arjdbc/postgresql/column.rb +6 -4
  69. data/lib/arjdbc/postgresql/name.rb +2 -0
  70. data/lib/arjdbc/postgresql/oid_types.rb +3 -1
  71. data/lib/arjdbc/sqlite3/adapter.rb +188 -180
  72. data/lib/arjdbc/sqlite3/connection_methods.rb +15 -4
  73. data/lib/arjdbc/tasks/databases.rake +13 -10
  74. data/lib/arjdbc/tasks/mssql_database_tasks.rb +49 -5
  75. data/lib/arjdbc/util/quoted_cache.rb +3 -1
  76. data/lib/arjdbc/util/serialized_attributes.rb +3 -1
  77. data/lib/arjdbc/util/table_copier.rb +3 -1
  78. data/lib/arjdbc/version.rb +1 -1
  79. data/pom.xml +4 -4
  80. data/rakelib/01-tomcat.rake +2 -2
  81. data/src/java/arjdbc/ArJdbcModule.java +5 -5
  82. data/src/java/arjdbc/jdbc/DriverWrapper.java +1 -9
  83. data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +406 -629
  84. data/src/java/arjdbc/mssql/MSSQLRubyJdbcConnection.java +88 -0
  85. data/src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java +13 -23
  86. data/src/java/arjdbc/postgresql/PostgreSQLRubyJdbcConnection.java +56 -30
  87. data/src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java +94 -99
  88. data/src/java/arjdbc/util/DateTimeUtils.java +12 -4
  89. metadata +7 -16
@@ -37,6 +37,7 @@ import org.jruby.Ruby;
37
37
  import org.jruby.RubyFloat;
38
38
  import org.jruby.RubyString;
39
39
  import org.jruby.RubyTime;
40
+ import org.jruby.ext.date.RubyDateTime;
40
41
  import org.jruby.javasupport.Java;
41
42
  import org.jruby.runtime.Block;
42
43
  import org.jruby.runtime.ThreadContext;
@@ -632,14 +633,21 @@ public abstract class DateTimeUtils {
632
633
  */
633
634
  public static String timestampTimeToString(final ThreadContext context,
634
635
  final IRubyObject value, DateTimeZone zone, boolean withZone) {
635
- RubyTime timeValue = toTime(context, value);
636
- DateTime dt = timeValue.getDateTime();
636
+ DateTime dt;
637
+ int usec = 0;
638
+ if (value instanceof RubyDateTime) {
639
+ dt = ((RubyDateTime) value).getDateTime();
640
+ } else {
641
+ RubyTime timeValue = toTime(context, value);
642
+ dt = timeValue.getDateTime();
643
+ usec = (int) timeValue.getUSec();
644
+ }
637
645
 
638
646
  StringBuilder sb = new StringBuilder(36);
639
647
 
640
648
  int year = dt.getYear();
641
649
  if (year <= 0) {
642
- year--;
650
+ if (!(value instanceof RubyDateTime)) year--;
643
651
  } else if (zone != null) {
644
652
  dt = dateTimeInZone(dt, zone);
645
653
  year = dt.getYear();
@@ -659,7 +667,7 @@ public abstract class DateTimeUtils {
659
667
  if (year < 0) sb.append(" BC");
660
668
  sb.append(' ');
661
669
 
662
- appendTime(sb, chrono, millis, (int) timeValue.getUSec(), withZone);
670
+ appendTime(sb, chrono, millis, usec, withZone);
663
671
 
664
672
  return sb.toString();
665
673
  }
metadata CHANGED
@@ -1,24 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-jdbc-alt-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 52.5.1
4
+ version: 60.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: 2019-12-22 00:00:00.000000000 Z
11
+ date: 2021-11-22 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.2.0
19
- - - ">="
20
- - !ruby/object:Gem::Version
21
- version: 5.2.3
18
+ version: 6.0.0
22
19
  name: activerecord
23
20
  prerelease: false
24
21
  type: :runtime
@@ -26,18 +23,12 @@ dependencies:
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: 5.2.0
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 5.2.3
26
+ version: 6.0.0
33
27
  description: 'Fork of the ActiveRecord JDBC adapter with support for SQL Server and
34
28
  Azure SQL, for more information and help look at the README file in the github repository.
35
29
  AR-JDBC is a database adapter for Rails'' ActiveRecord component designed to be
36
30
  used with JRuby built upon Java''s JDBC API for database access. Provides (ActiveRecord)
37
- built-in adapters: MySQL, PostgreSQL and SQLite3 as well as adapters for popular
38
- databases such as Oracle, SQLServer, DB2, FireBird and even Java (embed) databases:
39
- Derby, HSQLDB and H2. It allows to connect to virtually any JDBC-compliant database
40
- with your JRuby on Rails application.'
31
+ built-in adapters: MySQL, PostgreSQL, SQLite3, and SQLServer.'
41
32
  email:
42
33
  - nick@nicksieger.com
43
34
  - ola.bini@gmail.com
@@ -47,6 +38,7 @@ extensions: []
47
38
  extra_rdoc_files: []
48
39
  files:
49
40
  - ".gitignore"
41
+ - ".nvimlog"
50
42
  - ".travis.yml"
51
43
  - ".yardopts"
52
44
  - CONTRIBUTING.md
@@ -273,8 +265,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
273
265
  - !ruby/object:Gem::Version
274
266
  version: '0'
275
267
  requirements: []
276
- rubyforge_project:
277
- rubygems_version: 2.7.10
268
+ rubygems_version: 3.1.6
278
269
  signing_key:
279
270
  specification_version: 4
280
271
  summary: ActiveRecord JDBC adapter, for use within JRuby on Rails and SQL Server