activerecord-jdbcas400-adapter 1.3.5 → 1.3.5.1
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/README.md +14 -0
- data/Rakefile +0 -1
- data/lib/arjdbc/as400/adapter.rb +14 -12
- data/test/test_adapter.rb +19 -0
- data/test/test_connection.rb +1 -3
- data/test/test_database_tasks.rb +1 -1
- data/test/test_helper.rb +2 -3
- metadata +61 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c136b73119611c7dba20169f0921eb7225360c06
|
4
|
+
data.tar.gz: 0f36b3c6cd877923a4a8f055aa83e4b71a64e192
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 652c1cb9571c772449eb121a535077ea8939d7ffe4d36997cb0f840341c89b283ba62cdada59e68ac335c60e3225dbdac6574d07479fc50cc443acbb8b91a9c5
|
7
|
+
data.tar.gz: a6470d8d57f2c10b4470ffac84a9c42375ba3af0294632736bf2bac274badd9b1de625c87676d7b5f6e55523850d17d912a710e90834a5ac23f1549f6559ac78
|
data/README.md
CHANGED
@@ -6,6 +6,20 @@ https://github.com/pierrickrouxel/activerecord-jdbcas400-adapter/
|
|
6
6
|
|
7
7
|
This is an ActiveRecord driver for AS/400 using JDBC running under JRuby.
|
8
8
|
|
9
|
+
## Installation
|
10
|
+
|
11
|
+
Add this line to your application's Gemfile:
|
12
|
+
|
13
|
+
gem 'activerecord-jdbcas400-adapter'
|
14
|
+
|
15
|
+
And then execute:
|
16
|
+
|
17
|
+
$ bundle
|
18
|
+
|
19
|
+
Or install it yourself as:
|
20
|
+
|
21
|
+
$ gem install activerecord-jdbcas400-adapter
|
22
|
+
|
9
23
|
## Usage
|
10
24
|
|
11
25
|
Configure your database.yml in the normal Rails style:
|
data/Rakefile
CHANGED
data/lib/arjdbc/as400/adapter.rb
CHANGED
@@ -41,7 +41,7 @@ module ArJdbc
|
|
41
41
|
if config[:current_library]
|
42
42
|
@connection.tables(nil, config[:current_library])
|
43
43
|
else
|
44
|
-
@connection.tables(nil,
|
44
|
+
@connection.tables(nil, schema)
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
@@ -59,12 +59,9 @@ module ArJdbc
|
|
59
59
|
|
60
60
|
# @override
|
61
61
|
def prefetch_primary_key?(table_name = nil)
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
sql << "TABLE_SCHEM = '#{names.first}' AND " if names.size == 2
|
66
|
-
sql << "TABLE_NAME = '#{names.last}'"
|
67
|
-
select_one(sql).nil?
|
62
|
+
return true if table_name.nil?
|
63
|
+
table_name = table_name.to_s
|
64
|
+
columns(table_name).count { |column| column.primary } == 0
|
68
65
|
end
|
69
66
|
|
70
67
|
# @override
|
@@ -113,29 +110,34 @@ module ArJdbc
|
|
113
110
|
# Disable all schemas browsing
|
114
111
|
def table_exists?(name)
|
115
112
|
return false unless name
|
116
|
-
@connection.table_exists?(name,
|
113
|
+
@connection.table_exists?(name, schema)
|
117
114
|
end
|
118
115
|
|
119
116
|
def indexes(table_name, name = nil)
|
120
|
-
@connection.indexes(table_name, name,
|
117
|
+
@connection.indexes(table_name, name, schema)
|
121
118
|
end
|
122
119
|
|
123
120
|
DRIVER_NAME = 'com.ibm.as400.access.AS400JDBCDriver'.freeze
|
124
121
|
|
122
|
+
# Set schema is it specified
|
123
|
+
def configure_connection
|
124
|
+
set_schema(config[:schema]) if config[:schema]
|
125
|
+
end
|
126
|
+
|
125
127
|
# Do not return *LIBL as schema
|
126
128
|
def schema
|
127
|
-
|
129
|
+
db2_schema
|
128
130
|
end
|
129
131
|
|
130
132
|
private
|
131
133
|
# If naming is really in system mode CURRENT_SCHEMA is *LIBL
|
132
134
|
def system_naming?
|
133
|
-
|
135
|
+
schema == '*LIBL'
|
134
136
|
end
|
135
137
|
|
136
138
|
# SET SCHEMA statement put connection in sql naming
|
137
139
|
def set_schema(schema)
|
138
|
-
execute("SET SCHEMA #{schema}")
|
140
|
+
execute("SET SCHEMA #{schema}")
|
139
141
|
end
|
140
142
|
|
141
143
|
# @override
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TestAdapter < Test::Unit::TestCase
|
4
|
+
def test_prefetch_primary_key?
|
5
|
+
begin
|
6
|
+
connection.execute('CREATE TABLE test_table (test_column INTEGER)')
|
7
|
+
assert_true(connection.prefetch_primary_key?('test_table'))
|
8
|
+
ensure
|
9
|
+
connection.execute('DROP TABLE test_table')
|
10
|
+
end
|
11
|
+
|
12
|
+
begin
|
13
|
+
connection.execute('CREATE TABLE test_table (test_column INTEGER, PRIMARY KEY(test_column))')
|
14
|
+
assert_false(connection.prefetch_primary_key?('test_table'))
|
15
|
+
ensure
|
16
|
+
connection.execute('DROP TABLE test_table')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/test/test_connection.rb
CHANGED
@@ -7,11 +7,9 @@ class TestConnection < Test::Unit::TestCase
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def test_schema
|
10
|
-
assert_equal(connection.instance_eval {db2_schema}, config[:schema])
|
11
10
|
assert_equal(connection.schema, config[:schema])
|
12
11
|
|
13
|
-
assert_equal(system_connection.
|
14
|
-
assert_nil(system_connection.schema)
|
12
|
+
assert_equal(system_connection.schema, '*LIBL')
|
15
13
|
end
|
16
14
|
|
17
15
|
def test_migration_support
|
data/test/test_database_tasks.rb
CHANGED
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-jdbcas400-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.5
|
4
|
+
version: 1.3.5.1
|
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: 2014-01-
|
11
|
+
date: 2014-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord-jdbc-adapter
|
@@ -24,6 +24,62 @@ dependencies:
|
|
24
24
|
version: 1.3.5
|
25
25
|
prerelease: false
|
26
26
|
type: :runtime
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.5'
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ~>
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '1.5'
|
39
|
+
prerelease: false
|
40
|
+
type: :development
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
prerelease: false
|
54
|
+
type: :development
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: test-unit
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
prerelease: false
|
68
|
+
type: :development
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: jdbc-as400
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - '>='
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
81
|
+
prerelease: false
|
82
|
+
type: :development
|
27
83
|
description: Install this gem to use AS/400 with JRuby on Rails.
|
28
84
|
email: nick@nicksieger.com, ola.bini@gmail.com
|
29
85
|
executables: []
|
@@ -40,6 +96,7 @@ files:
|
|
40
96
|
- lib/arjdbc/as400/adapter.rb
|
41
97
|
- lib/arjdbc/as400/connection_methods.rb
|
42
98
|
- test/config.yml
|
99
|
+
- test/test_adapter.rb
|
43
100
|
- test/test_connection.rb
|
44
101
|
- test/test_database_tasks.rb
|
45
102
|
- test/test_helper.rb
|
@@ -63,12 +120,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
63
120
|
version: '0'
|
64
121
|
requirements: []
|
65
122
|
rubyforge_project: jruby-extras
|
66
|
-
rubygems_version: 2.1.
|
123
|
+
rubygems_version: 2.1.11
|
67
124
|
signing_key:
|
68
125
|
specification_version: 4
|
69
126
|
summary: AS/400 JDBC adapter for JRuby on Rails.
|
70
127
|
test_files:
|
71
128
|
- test/config.yml
|
129
|
+
- test/test_adapter.rb
|
72
130
|
- test/test_connection.rb
|
73
131
|
- test/test_database_tasks.rb
|
74
132
|
- test/test_helper.rb
|