activerecord-jdbc-adapter 1.3.25 → 5.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +57 -72
  3. data/Appraisals +7 -2
  4. data/Gemfile +3 -7
  5. data/History.md +0 -50
  6. data/RUNNING_TESTS.md +4 -0
  7. data/activerecord-jdbc-adapter.gemspec +2 -1
  8. data/lib/arjdbc/common_jdbc_methods.rb +89 -0
  9. data/lib/arjdbc/db2/adapter.rb +58 -69
  10. data/lib/arjdbc/db2/as400.rb +2 -13
  11. data/lib/arjdbc/db2/column.rb +1 -1
  12. data/lib/arjdbc/derby/adapter.rb +2 -6
  13. data/lib/arjdbc/firebird/adapter.rb +7 -16
  14. data/lib/arjdbc/h2/adapter.rb +4 -13
  15. data/lib/arjdbc/hsqldb/adapter.rb +5 -5
  16. data/lib/arjdbc/jdbc/adapter.rb +15 -76
  17. data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
  18. data/lib/arjdbc/jdbc/adapter_require.rb +12 -31
  19. data/lib/arjdbc/jdbc/base_ext.rb +6 -25
  20. data/lib/arjdbc/jdbc/column.rb +15 -1
  21. data/lib/arjdbc/jdbc/connection_methods.rb +7 -1
  22. data/lib/arjdbc/jdbc/type_cast.rb +16 -4
  23. data/lib/arjdbc/jdbc/type_converter.rb +0 -1
  24. data/lib/arjdbc/mssql/adapter.rb +9 -21
  25. data/lib/arjdbc/mysql/adapter.rb +14 -19
  26. data/lib/arjdbc/mysql/connection_methods.rb +3 -5
  27. data/lib/arjdbc/oracle/adapter.rb +4 -38
  28. data/lib/arjdbc/oracle/connection_methods.rb +0 -4
  29. data/lib/arjdbc/postgresql/adapter.rb +18 -22
  30. data/lib/arjdbc/postgresql/connection_methods.rb +2 -5
  31. data/lib/arjdbc/postgresql/oid/bytea.rb +0 -1
  32. data/lib/arjdbc/postgresql/oid_types.rb +6 -6
  33. data/lib/arjdbc/sqlite3/adapter.rb +493 -404
  34. data/lib/arjdbc/tasks/database_tasks.rb +1 -1
  35. data/lib/arjdbc/tasks/databases3.rake +1 -1
  36. data/lib/arjdbc/tasks/databases4.rake +3 -8
  37. data/lib/arjdbc/version.rb +1 -1
  38. data/rakelib/db.rake +5 -8
  39. data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +102 -37
  40. data/src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java +0 -7
  41. metadata +10 -17
  42. data/lib/arjdbc/jdbc/arel_support.rb +0 -133
  43. data/lib/arjdbc/mssql/attributes_for_update.rb +0 -22
  44. data/lib/arjdbc/sqlite3/explain_support.rb +0 -29
@@ -25,10 +25,24 @@ module ActiveRecord
25
25
  default = args.shift
26
26
  end
27
27
  end
28
- default = default_value(default)
28
+
29
+ if ArJdbc::AR50
30
+ default = args[0].cast(default)
31
+
32
+ sql_type = args.delete_at(1)
33
+ type = args.delete_at(0)
34
+
35
+ args.unshift(SqlTypeMetadata.new(:sql_type => sql_type, :type => type))
36
+ elsif ArJdbc::AR42
37
+ default = args[0].type_cast_from_database(default)
38
+ else
39
+ default = default_value(default)
40
+ end
29
41
 
30
42
  # super <= 4.1: (name, default, sql_type = nil, null = true)
31
43
  # super >= 4.2: (name, default, cast_type, sql_type = nil, null = true)
44
+ # super >= 5.0: (name, default, sql_type_metadata = nil, null = true)
45
+
32
46
  super(name, default, *args)
33
47
  init_column(name, default, *args)
34
48
  end
@@ -9,7 +9,13 @@ module ArJdbc
9
9
  def jdbc_connection(config)
10
10
  adapter_class = config[:adapter_class]
11
11
  adapter_class ||= ::ActiveRecord::ConnectionAdapters::JdbcAdapter
12
- adapter_class.new(nil, logger, config)
12
+
13
+ # Once all adapters converted to AR5 then this rescue can be removed
14
+ begin
15
+ adapter_class.new(nil, logger, nil, config)
16
+ rescue ArgumentError
17
+ adapter_class.new(nil, logger, config)
18
+ end
13
19
  end
14
20
 
15
21
  def jndi_connection(config); jdbc_connection(config) end
@@ -5,13 +5,25 @@ module ActiveRecord::ConnectionAdapters
5
5
  # Type casting methods taken from AR 4.1's Column class.
6
6
  # @private Simply to quickly "hack-in" 4.2 compatibility.
7
7
  module TypeCast
8
-
9
8
  TRUE_VALUES = Column::TRUE_VALUES if Column.const_defined?(:TRUE_VALUES)
10
- FALSE_VALUES = Column.const_defined?(:FALSE_VALUES) ? Column::FALSE_VALUES : ActiveModel::Type::Boolean::FALSE_VALUES
9
+ FALSE_VALUES = if defined?(ActiveModel::Type::Boolean::FALSE_VALUES)
10
+ ActiveModel::Type::Boolean::FALSE_VALUES
11
+ else
12
+ Column::FALSE_VALUES
13
+ end
11
14
 
12
15
  #module Format
13
- ISO_DATE = Column::Format::ISO_DATE
14
- ISO_DATETIME = Column::Format::ISO_DATETIME
16
+ ISO_DATE = if defined?(ActiveModel::Type::Date::ISO_DATE)
17
+ ActiveModel::Type::Date::ISO_DATE
18
+ else
19
+ Column::Format::ISO_DATE
20
+ end
21
+
22
+ ISO_DATETIME = if defined?(ActiveModel::Type::Helpers::TimeValue::ISO_DATETIME)
23
+ ActiveModel::Type::Helpers::TimeValue::ISO_DATETIME
24
+ else
25
+ Column::Format::ISO_DATETIME
26
+ end
15
27
  #end
16
28
 
17
29
  # Used to convert from BLOBs to Strings
@@ -34,7 +34,6 @@ module ActiveRecord
34
34
  :text => [ lambda {|r| TEXT_TYPES.include?(r['data_type'].to_i)},
35
35
  lambda {|r| r['type_name'] =~ /^text$/i}, # For Informix
36
36
  lambda {|r| r['type_name'] =~ /sub_type 1$/i}, # For FireBird
37
- lambda {|r| r['type_name'] =~ /^long varchar$/i}, # Legacy Sybase/SqlAnywhere
38
37
  lambda {|r| r['type_name'] =~ /^(text|clob)$/i},
39
38
  lambda {|r| r['type_name'] =~ /^character large object$/i},
40
39
  lambda {|r| r['sql_data_type'] == 2005}],
@@ -35,7 +35,7 @@ module ArJdbc
35
35
  require 'arjdbc/mssql/column'
36
36
  require 'arjdbc/mssql/explain_support'
37
37
  require 'arjdbc/mssql/types' if AR42
38
- require 'arjdbc/mssql/attributes_for_update'
38
+ require 'arel/visitors/sql_server'
39
39
 
40
40
  include LimitHelpers
41
41
  include Utils
@@ -102,24 +102,6 @@ module ArJdbc
102
102
  # @see ActiveRecord::ConnectionAdapters::JdbcAdapter#jdbc_column_class
103
103
  def jdbc_column_class; ::ActiveRecord::ConnectionAdapters::MSSQLColumn end
104
104
 
105
- # @see ActiveRecord::ConnectionAdapters::Jdbc::ArelSupport
106
- def self.arel_visitor_type(config)
107
- require 'arel/visitors/sql_server'
108
- ( config && config[:sqlserver_version].to_s == '2000' ) ?
109
- ::Arel::Visitors::SQLServer2000 : ::Arel::Visitors::SQLServer
110
- end
111
-
112
- def self.arel_visitor_type(config)
113
- require 'arel/visitors/sql_server'; ::Arel::Visitors::SQLServerNG
114
- end if AR42
115
-
116
- # @deprecated no longer used
117
- # @see ActiveRecord::ConnectionAdapters::JdbcAdapter#arel2_visitors
118
- def self.arel2_visitors(config)
119
- visitor = arel_visitor_type(config)
120
- { 'mssql' => visitor, 'jdbcmssql' => visitor, 'sqlserver' => visitor }
121
- end
122
-
123
105
  def configure_connection
124
106
  use_database # config[:database]
125
107
  end
@@ -575,7 +557,7 @@ module ArJdbc
575
557
  def remove_check_constraints(table_name, column_name)
576
558
  clear_cached_table(table_name)
577
559
  constraints = select_values "SELECT constraint_name" <<
578
- " FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE" <<
560
+ " FROM information_schema.constraint_column_usage" <<
579
561
  " WHERE table_name = '#{table_name}' AND column_name = '#{column_name}'"
580
562
  constraints.each do |constraint_name|
581
563
  execute "ALTER TABLE #{table_name} DROP CONSTRAINT #{constraint_name}"
@@ -656,7 +638,7 @@ module ArJdbc
656
638
  unless primary_column # look for an id column and return it,
657
639
  # without changing case, to cover DBs with a case-sensitive collation :
658
640
  primary_column = columns.find { |column| column.name =~ /^id$/i }
659
- raise "no columns for table: #{table_name}" if columns.empty?
641
+ raise "no columns for table: #{table_name} (SQL query: ' #{sql} ')" if columns.empty?
660
642
  end
661
643
  # NOTE: if still no PK column simply get something for ORDER BY ...
662
644
  "#{quote_table_name(table_name)}.#{quote_column_name((primary_column || columns.first).name)}"
@@ -808,6 +790,12 @@ module ActiveRecord::ConnectionAdapters
808
790
  setup_limit_offset!
809
791
  end
810
792
 
793
+ def arel_visitor # :nodoc:
794
+ ( config && config[:sqlserver_version].to_s == '2000' ) ?
795
+ ::Arel::Visitors::SQLServer2000.new(self) :
796
+ ::Arel::Visitors::SQLServer.new(self)
797
+ end
798
+
811
799
  def self.cs_equality_operator; ::ArJdbc::MSSQL.cs_equality_operator end
812
800
  def self.cs_equality_operator=(operator); ::ArJdbc::MSSQL.cs_equality_operator = operator end
813
801
 
@@ -28,7 +28,12 @@ module ArJdbc
28
28
  # @private
29
29
  def init_connection(jdbc_connection)
30
30
  meta = jdbc_connection.meta_data
31
- if meta.driver_major_version == 5 && meta.driver_minor_version < 1
31
+ if meta.driver_major_version == 1 # TODO check in driver code
32
+ # assumes MariaDB 1.x currently
33
+ elsif meta.driver_major_version < 5
34
+ raise ::ActiveRecord::ConnectionNotEstablished,
35
+ "MySQL adapter requires driver >= 5.0 got: '#{meta.driver_version}'"
36
+ elsif meta.driver_major_version == 5 && meta.driver_minor_version < 1
32
37
  config[:connection_alive_sql] ||= 'SELECT 1' # need 5.1 for JDBC 4.0
33
38
  else
34
39
  # NOTE: since the loaded Java driver class can't change :
@@ -44,7 +49,7 @@ module ArJdbc
44
49
  # Increase timeout so the server doesn't disconnect us.
45
50
  wait_timeout = config[:wait_timeout]
46
51
  wait_timeout = self.class.type_cast_config_to_integer(wait_timeout)
47
- variables[:wait_timeout] = wait_timeout.is_a?(Integer) ? wait_timeout : 2147483
52
+ variables[:wait_timeout] = wait_timeout.is_a?(Fixnum) ? wait_timeout : 2147483
48
53
 
49
54
  # Make MySQL reject illegal values rather than truncating or blanking them, see
50
55
  # http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_strict_all_tables
@@ -52,15 +57,11 @@ module ArJdbc
52
57
  if strict_mode? && ! variables.has_key?(:sql_mode)
53
58
  variables[:sql_mode] = 'STRICT_ALL_TABLES' # SET SQL_MODE='STRICT_ALL_TABLES'
54
59
  end
55
-
60
+
56
61
  # NAMES does not have an equals sign, see
57
62
  # http://dev.mysql.com/doc/refman/5.0/en/set-statement.html#id944430
58
63
  # (trailing comma because variable_assignments will always have content)
59
- if @config[:encoding]
60
- encoding = "NAMES #{@config[:encoding]}"
61
- encoding << " COLLATE #{@config[:collation]}" if @config[:collation]
62
- encoding << ", "
63
- end
64
+ encoding = "NAMES #{config[:encoding]}, " if config[:encoding]
64
65
 
65
66
  # Gather up all of the SET variables...
66
67
  variable_assignments = variables.map do |k, v|
@@ -132,16 +133,6 @@ module ArJdbc
132
133
  ADAPTER_NAME
133
134
  end
134
135
 
135
- def self.arel_visitor_type(config = nil)
136
- ::Arel::Visitors::MySQL
137
- end
138
-
139
- # @see ActiveRecord::ConnectionAdapters::JdbcAdapter#bind_substitution
140
- # @private
141
- class BindSubstitution < Arel::Visitors::MySQL
142
- include Arel::Visitors::BindVisitor
143
- end if defined? Arel::Visitors::BindVisitor
144
-
145
136
  def case_sensitive_equality_operator
146
137
  "= BINARY"
147
138
  end
@@ -849,7 +840,7 @@ module ArJdbc
849
840
  case length
850
841
  when Hash
851
842
  column_names.map { |name| length[name] ? "#{quote_column_name(name)}(#{length[name]})" : quote_column_name(name) }
852
- when Integer
843
+ when Fixnum
853
844
  column_names.map { |name| "#{quote_column_name(name)}(#{length})" }
854
845
  else
855
846
  column_names.map { |name| quote_column_name(name) }
@@ -953,6 +944,10 @@ module ActiveRecord
953
944
  include ::ArJdbc::MySQL
954
945
  include ::ArJdbc::MySQL::ExplainSupport
955
946
 
947
+ def arel_visitor # :nodoc:
948
+ Arel::Visitors::MySQL.new(self)
949
+ end
950
+
956
951
  # By default, the MysqlAdapter will consider all columns of type
957
952
  # __tinyint(1)__ as boolean. If you wish to disable this :
958
953
  # ```
@@ -63,11 +63,9 @@ ArJdbc::ConnectionMethods.module_eval do
63
63
  properties['verifyServerCertificate'] ||= false if mysql_driver
64
64
  end
65
65
  end
66
- properties['verifyServerCertificate'] ||= false if mariadb_driver
67
- else
68
- # According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection
69
- # must be established by default if explicit option isn't set :
70
- properties[mariadb_driver ? 'useSsl' : 'useSSL'] ||= false
66
+ if mariadb_driver
67
+ properties['verifyServerCertificate'] ||= false
68
+ end
71
69
  end
72
70
  if socket = config[:socket]
73
71
  properties['localSocket'] ||= socket if mariadb_driver
@@ -57,25 +57,6 @@ module ArJdbc
57
57
  # @see ActiveRecord::ConnectionAdapters::JdbcAdapter#jdbc_column_class
58
58
  def jdbc_column_class; ::ActiveRecord::ConnectionAdapters::OracleColumn end
59
59
 
60
- def configure_connection # mostly oracle-enhanced config compatibility
61
- jdbc_connection = nil
62
- if time_zone = config[:time_zone] # || ENV['TZ']
63
- jdbc_connection ||= jdbc_connection(true)
64
- jdbc_connection.setSessionTimeZone(time_zone)
65
- end
66
-
67
- cursor_sharing = config[:cursor_sharing] # || 'force'
68
- execute "ALTER SESSION SET cursor_sharing = #{cursor_sharing}" if cursor_sharing
69
-
70
- schema = config[:schema] && config[:schema].to_s
71
- if schema.blank? # default schema owner
72
- # @owner = username.upcase unless username.nil?
73
- else
74
- self.current_schema = schema
75
- # @owner = schema
76
- end
77
- end
78
-
79
60
  # @private
80
61
  @@update_lob_values = true
81
62
 
@@ -142,16 +123,6 @@ module ArJdbc
142
123
  TableDefinition.new native_database_types, name, temporary, options, as
143
124
  end if AR42
144
125
 
145
- def self.arel_visitor_type(config = nil)
146
- ::Arel::Visitors::Oracle
147
- end
148
-
149
- # @see ActiveRecord::ConnectionAdapters::JdbcAdapter#bind_substitution
150
- # @private
151
- class BindSubstitution < ::Arel::Visitors::Oracle
152
- include ::Arel::Visitors::BindVisitor
153
- end if defined? ::Arel::Visitors::BindVisitor
154
-
155
126
  ADAPTER_NAME = 'Oracle'.freeze
156
127
 
157
128
  def adapter_name
@@ -921,13 +892,9 @@ module ArJdbc
921
892
  # default schema owner
922
893
  def schema_owner(force = true)
923
894
  unless defined? @schema_owner
924
- if !config[:schema].nil?
925
- @schema_owner = config[:schema].upcase
926
- else
927
- username = config[:username] ? config[:username].to_s : nil
928
- username = jdbc_connection.meta_data.user_name if force && username.nil?
929
- @schema_owner = username.nil? ? nil : username.upcase
930
- end
895
+ username = config[:username] ? config[:username].to_s : nil
896
+ username = jdbc_connection.meta_data.user_name if force && username.nil?
897
+ @schema_owner = username.nil? ? nil : username.upcase
931
898
  end
932
899
  @schema_owner
933
900
  end
@@ -966,11 +933,10 @@ module ActiveRecord::ConnectionAdapters
966
933
 
967
934
  def initialize(*args)
968
935
  ::ArJdbc::Oracle.initialize!
936
+ super # configure_connection happens in super
969
937
 
970
938
  @use_insert_returning = config.key?(:insert_returning) ?
971
939
  self.class.type_cast_config_to_boolean(config[:insert_returning]) : nil
972
-
973
- super # configure_connection happens in super
974
940
  end
975
941
 
976
942
  end
@@ -15,10 +15,6 @@ ArJdbc::ConnectionMethods.module_eval do
15
15
  unless config.key?(:statement_escape_processing)
16
16
  config[:statement_escape_processing] = true
17
17
  end
18
- properties = ( config[:properties] ||= {} )
19
- if prefetch_rows = config[:prefetch_rows] # || 100 (oracle-enhanced)
20
- properties['defaultRowPrefetch'] = prefetch_rows
21
- end
22
18
  jdbc_connection(config)
23
19
  end
24
20
  alias_method :jdbcoracle_connection, :oracle_connection
@@ -17,6 +17,7 @@ module ArJdbc
17
17
  require 'arjdbc/postgresql/column'
18
18
  require 'arjdbc/postgresql/explain_support'
19
19
  require 'arjdbc/postgresql/schema_creation' # AR 4.x
20
+ require 'arel/visitors/postgresql_jdbc'
20
21
  # @private
21
22
  IndexDefinition = ::ActiveRecord::ConnectionAdapters::IndexDefinition
22
23
 
@@ -45,18 +46,6 @@ module ArJdbc
45
46
  end
46
47
  end
47
48
 
48
- # @see ActiveRecord::ConnectionAdapters::Jdbc::ArelSupport
49
- def self.arel_visitor_type(config = nil)
50
- require 'arel/visitors/postgresql_jdbc'
51
- ::Arel::Visitors::PostgreSQL
52
- end
53
-
54
- # @see ActiveRecord::ConnectionAdapters::JdbcAdapter#bind_substitution
55
- # @private
56
- class BindSubstitution < ::Arel::Visitors::PostgreSQL
57
- include ::Arel::Visitors::BindVisitor
58
- end if defined? ::Arel::Visitors::BindVisitor
59
-
60
49
  ADAPTER_NAME = 'PostgreSQL'.freeze
61
50
 
62
51
  def adapter_name
@@ -67,7 +56,7 @@ module ArJdbc
67
56
  @postgresql_version ||=
68
57
  begin
69
58
  version = select_version
70
- if version =~ /PostgreSQL (\d+)\.(\d+)(?:\.(\d+))?/
59
+ if version =~ /PostgreSQL (\d+)\.(\d+)\.(\d+)/
71
60
  ($1.to_i * 10000) + ($2.to_i * 100) + $3.to_i
72
61
  else
73
62
  0
@@ -165,7 +154,7 @@ module ArJdbc
165
154
  when 1, 2; 'smallint'
166
155
  when 3, 4; 'integer'
167
156
  when 5..8; 'bigint'
168
- else raise(ActiveRecordError, "No integer type has byte size #{limit}. Use a numeric with scale 0 instead.")
157
+ else raise(ActiveRecordError, "No integer type has byte size #{limit}. Use a numeric with precision 0 instead.")
169
158
  end
170
159
  when 'datetime'
171
160
  return super unless precision
@@ -286,8 +275,7 @@ module ArJdbc
286
275
  :bigserial => "bigserial",
287
276
  :bigint => { :name => "bigint" },
288
277
  :bit => { :name => "bit" },
289
- :bit_varying => { :name => "bit varying" },
290
- :citext => { :name => "citext" }
278
+ :bit_varying => { :name => "bit varying" }
291
279
  ) if AR42
292
280
 
293
281
  def native_database_types
@@ -388,6 +376,12 @@ module ArJdbc
388
376
 
389
377
  # @override
390
378
  def supports_views?; true end
379
+
380
+ if ArJdbc::AR50
381
+ def views
382
+ select_values("SELECT table_name FROM INFORMATION_SCHEMA.views WHERE table_schema = ANY (current_schemas(false))")
383
+ end
384
+ end
391
385
 
392
386
  # NOTE: handled by JdbcAdapter we override only to have save-point in logs :
393
387
 
@@ -571,8 +565,7 @@ module ArJdbc
571
565
  end
572
566
 
573
567
  if pk && use_insert_returning?
574
- returning = Array(pk).map(&method(:quote_table_name)).join(', ')
575
- sql = "#{sql} RETURNING (#{returning})"
568
+ sql = "#{sql} RETURNING #{quote_column_name(pk)}"
576
569
  end
577
570
 
578
571
  [ sql, binds ]
@@ -590,7 +583,7 @@ module ArJdbc
590
583
  exec_query(sql, name, binds) # due RETURNING clause returns a result set
591
584
  else
592
585
  result = super
593
- if pk && use_insert_returning?
586
+ if pk
594
587
  unless sequence_name
595
588
  table_ref = extract_table_ref_from_insert_sql(sql)
596
589
  sequence_name = default_sequence_name(table_ref, pk)
@@ -688,8 +681,7 @@ module ArJdbc
688
681
  return result if result.is_a? Integer
689
682
  # <ActiveRecord::Result @hash_rows=nil, @columns=["id"], @rows=[[3]]>
690
683
  # but it will work with [{ 'id' => 1 }] Hash wrapped results as well
691
- row = result.first
692
- row && row.first[1] # .first = { "id"=>1 } .first = [ "id", 1 ]
684
+ result.first.first[1] # .first = { "id"=>1 } .first = [ "id", 1 ]
693
685
  end
694
686
 
695
687
  def last_insert_id(table, sequence_name = nil)
@@ -1021,7 +1013,7 @@ module ArJdbc
1021
1013
  # @override
1022
1014
  def quoted_date(value)
1023
1015
  result = super
1024
- if value.acts_like?(:time) && value.respond_to?(:usec)
1016
+ if value.acts_like?(:time) && value.respond_to?(:usec) && !AR50
1025
1017
  result = "#{result}.#{sprintf("%06d", value.usec)}"
1026
1018
  end
1027
1019
  result = "#{result.sub(/^-/, '')} BC" if value.year < 0
@@ -1522,6 +1514,10 @@ module ActiveRecord::ConnectionAdapters
1522
1514
  self.class.type_cast_config_to_boolean(@config[:insert_returning]) : nil
1523
1515
  end
1524
1516
 
1517
+ def arel_visitor # :nodoc:
1518
+ Arel::Visitors::PostgreSQL.new(self)
1519
+ end
1520
+
1525
1521
  if ::ArJdbc::AR42
1526
1522
  require 'active_record/connection_adapters/postgresql/schema_definitions'
1527
1523
  else
@@ -31,16 +31,13 @@ ArJdbc::ConnectionMethods.module_eval do
31
31
  end
32
32
  sslmode = config.key?(:sslmode) ? config[:sslmode] : config[:requiressl]
33
33
  # NOTE: makes not much sense since this needs some JVM options :
34
- sslmode = ENV['PGSSLMODE'] || ENV['PGREQUIRESSL'] if sslmode.nil?
34
+ # sslmode = ENV['PGSSLMODE'] || ENV['PGREQUIRESSL'] if sslmode.nil?
35
35
  unless sslmode.nil? # PG :sslmode - disable|allow|prefer|require
36
36
  # JRuby/JVM needs to be started with :
37
37
  # -Djavax.net.ssl.trustStore=mystore -Djavax.net.ssl.trustStorePassword=...
38
38
  # or a non-validating connection might be used (for testing) :
39
39
  # :sslfactory = 'org.postgresql.ssl.NonValidatingFactory'
40
- if sslmode == true || sslmode.to_s == 'require'
41
- properties['sslfactory'] ||= 'org.postgresql.ssl.NonValidatingFactory'
42
- properties['ssl'] ||= 'true'
43
- end
40
+ properties['ssl'] ||= 'true' if sslmode == true || sslmode.to_s == 'require'
44
41
  end
45
42
  properties['tcpKeepAlive'] ||= config[:keepalives] if config.key?(:keepalives)
46
43
  properties['kerberosServerName'] ||= config[:krbsrvname] if config[:krbsrvname]