activerecord-jdbcas400-adapter 1.3.17 → 1.3.19

Sign up to get free protection for your applications and to get access to all the features.
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: