activerecord-jdbcas400-adapter 1.3.17 → 1.3.19

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: de383695fd83a189b57c340e772063a684984780
4
- data.tar.gz: 1c597efa80468dc104c5cd0eac8d75902d21e39e
3
+ metadata.gz: e7c9181a3a661ce9e1b9264e06b22c26ac9cbf40
4
+ data.tar.gz: 3885e230dfcd4a88ab88ed44c6be08d8d45064a9
5
5
  SHA512:
6
- metadata.gz: d0f64830e2ab95d4fbc8e4e27529b89784bcab4e0bb801773bd96c7e67d72250d57efafcc5ffabf09759ad6ead515dcecaef2f857d26caecd77cbd91ae0aa0cf
7
- data.tar.gz: 40004ba104a3dca0e79d2fafd66008f55e259d8f11bdcd79afd25cacb65633afecf0814eab2e5ede4e0871b182346b3aee3a40b7295287dd0a838987c8333af2
6
+ metadata.gz: fdb11030d59143c8069ab0da0c7aade664d35d88372d1990927779407728af9ad8d111931a95f0600521d07d984dbfdffe3db141e494c362511ad838742ffc3c
7
+ data.tar.gz: 55c30fb2e15856e5a60e70dce44afe077c0f9165402e7bac272c6f1a92714f85be0dd96681eaae2a5cffedef6a0785b95d09a0af3eefd46cf3517deca803ae11
@@ -16,12 +16,9 @@ module ArJdbc
16
16
  def self.arel_visitor_type(config = nil); DB2.arel_visitor_type(config); end
17
17
 
18
18
  def self.column_selector
19
- [ /as400/i, lambda { |config, column| column.extend(Column) } ]
19
+ [ /as400/i, lambda { |config, column| column.extend(ColumnMethods) } ]
20
20
  end
21
21
 
22
- # @private
23
- Column = DB2::Column
24
-
25
22
  # Boolean emulation can be disabled using :
26
23
  #
27
24
  # ArJdbc::AS400.emulate_booleans = false
@@ -43,6 +40,13 @@ module ArJdbc
43
40
  change_current_library(config[:current_library]) if config[:current_library]
44
41
  end
45
42
 
43
+ def os400_version
44
+ metadata = jdbc_connection.getMetaData()
45
+ major = metadata.getDatabaseMajorVersion()
46
+ minor = metadata.getDatabaseMinorVersion()
47
+ { major: major, minor: minor }
48
+ end
49
+
46
50
  # Do not return *LIBL as schema
47
51
  def schema
48
52
  db2_schema
@@ -65,11 +69,24 @@ module ArJdbc
65
69
  !(system_naming? && !current_library?)
66
70
  end
67
71
 
68
- # @override
72
+ # If true, next_sequence_value is called before each insert statement
73
+ # to set the record's primary key.
74
+ # By default DB2 for i supports IDENTITY_VAL_LOCAL for tables that have
75
+ # one primary key.
69
76
  def prefetch_primary_key?(table_name = nil)
70
77
  return true if table_name.nil?
71
78
  table_name = table_name.to_s
72
- columns(table_name).count { |column| column.primary } == 0
79
+ primary_keys(table_name.to_s).size == 0
80
+ end
81
+
82
+ # TRUNCATE only works with V7R2+
83
+ # @override
84
+ def truncate(table_name, name = nil)
85
+ if os400_version[:major] < 7 || (os400_version[:major] == 7 && os400_version[:minor] < 2)
86
+ raise NotImplementedError
87
+ else
88
+ super
89
+ end
73
90
  end
74
91
 
75
92
  # @override
data/test/adapter_test.rb CHANGED
@@ -38,6 +38,23 @@ class TestAdapter < Test::Unit::TestCase
38
38
  end
39
39
  end
40
40
 
41
+ def test_truncate
42
+ begin
43
+ connection.execute('CREATE TABLE test_table (test_column INTEGER)')
44
+ ensure
45
+ if connection.os400_version[:major] < 7 || (connection.os400_version[:major] == 7 && connection.os400_version[:minor] < 2)
46
+ assert_raise NotImplementedError do
47
+ connection.truncate 'test_table'
48
+ end
49
+ else
50
+ assert_nothing_raised do
51
+ connection.truncate 'test_table'
52
+ end
53
+ end
54
+ connection.execute('DROP TABLE test_table')
55
+ end
56
+ end
57
+
41
58
  def test_rename_column
42
59
  begin
43
60
  connection.execute('CREATE TABLE test_table (test_column INTEGER)')
data/test/test_helper.rb CHANGED
@@ -24,6 +24,8 @@ class Test::Unit::TestCase
24
24
  rescue LoadError # assuming driver.jar is on the class-path
25
25
  end
26
26
 
27
+ require 'java'
28
+
27
29
  # Create a data source to the iSeries database.
28
30
  datasource = com.ibm.as400.access.AS400JDBCDataSource.new
29
31
  datasource.setServerName(config[:host])
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-jdbcas400-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.17
4
+ version: 1.3.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sieger, Ola Bini, Pierrick Rouxel and JRuby contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-05 00:00:00.000000000 Z
11
+ date: 2015-10-01 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: 4.1.13
18
+ version: 3.0.0
19
19
  name: activerecord
20
20
  prerelease: false
21
21
  type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.1.13
26
+ version: 3.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements: