ruby-oci8 2.2.7-x86-mingw32 → 2.2.8-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,3 +1,93 @@
1
+ 2020-01-11 Kubo Takehiro <kubo@jiubao.org>
2
+ * NEWS: Add changes between 2.2.7 and 2.2.8.
3
+ * lib/oci8/version.rb: Update to 2.2.8.
4
+
5
+ 2020-01-11 Kubo Takehiro <kubo@jiubao.org>
6
+ * ext/oci8/bind.c: Fix warning: comparison between signed and
7
+ unsigned integer expressions
8
+
9
+ 2020-01-11 Kubo Takehiro <kubo@jiubao.org>
10
+ * test/README.md: Update preparation SQL statements for running tests.
11
+
12
+ 2020-01-11 Kubo Takehiro <kubo@jiubao.org>
13
+ * test/test_break.rb: Check Oracle server OS where tests run
14
+ using dbms_utility.port_string. Tests in test_break.rb
15
+ failed on Windows.
16
+
17
+ 2020-01-07 Kubo Takehiro <kubo@jiubao.org>
18
+ * mkpkg-win32.rb: Workarounds for compilation using ruby 2.4 and 2.6 with
19
+ latest msys2 to avoid 'undefined reference to __chk_fail'
20
+
21
+ 2020-01-06 Kubo Takehiro <kubo@jiubao.org>
22
+ * ext/oci8/win32.c: Fix warnings caused by the change of rb_ensure()'s
23
+ arguments in ruby 2.7.
24
+
25
+ 2019-12-16 Kubo Takehiro <kubo@jiubao.org>
26
+ * test/test_datetime.rb: Remove "require 'scanf'" to run tests with Ruby 2.7.
27
+ The 'scanf' library was removed. https://bugs.ruby-lang.org/issues/16170
28
+
29
+ 2019-12-15 Kubo Takehiro <kubo@jiubao.org>
30
+ * ext/oci8/oradate.c: Fix bug of OraDate.now introduced 15 years ago.
31
+
32
+ 2019-12-15 Kubo Takehiro <kubo@jiubao.org>
33
+ * ext/oci8/attr.c, ext/oci8/oci8lib.c: Fix warnings caused by the
34
+ change of rb_ensure()'s arguments in ruby 2.7.
35
+
36
+ 2019-06-19 Kubo Takehiro <kubo@jiubao.org>
37
+ * Merge pull request #217 from nathanbwright/patch-1
38
+ Fix spelling in install-instant-client.md
39
+ (GH-217)
40
+
41
+ 2019-06-18 Nathan Wright <nathanbwright@users.noreply.github.com>
42
+ * docs/install-instant-client.md: Fix spelling in install-instant-client.md
43
+ (GH-217)
44
+
45
+ 2019-04-24 Kubo Takehiro <kubo@jiubao.org>
46
+ * Merge pull request #212 from tomasjura/master
47
+ Compilation fix for Windows ( and some small cleanups )
48
+ (GH-212)
49
+
50
+ 2019-04-23 Tomas Jura <tomas.jura1@gmail.com>
51
+ * ext/oci8/oci8.h: eliminate compiler warning
52
+ (GH-212)
53
+
54
+ 2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
55
+ * ext/oci8/bind.c: compiler warning eliminated
56
+ (GH-212)
57
+
58
+ 2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
59
+ * setup.rb: use splat operator instead dummy variables
60
+ (GH-212)
61
+
62
+ 2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
63
+ * lib/oci8.rb: use fiddler instead obsolete Win32API
64
+ (GH-212)
65
+
66
+ 2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
67
+ * ext/oci8/oraconf.rb: fix typo in windows compilation
68
+ (GH-212)
69
+
70
+ 2019-03-23 Kubo Takehiro <kubo@jiubao.org>
71
+ * Merge pull request #210 from dminuoso/allow-custom
72
+ (Nix) Allow for specifying include/library paths
73
+ (GH-210)
74
+
75
+ 2019-03-23 Victor Nawothnig <Victor.Nawothnig@gmail.com>
76
+ * ext/oci8/oraconf.rb: Fix missing support for full client
77
+ (GH-210)
78
+
79
+ 2019-03-22 Victor Nawothnig <Victor.Nawothnig@gmail.com>
80
+ * ext/oci8/oraconf.rb: fixup! Allow overriding library/include paths
81
+ (GH-210)
82
+
83
+ 2019-03-21 Victor Nawothnig <Victor.Nawothnig@gmail.com>
84
+ * setup.rb: Add documentation for new flags
85
+ (GH-210)
86
+
87
+ 2019-03-21 Victor Nawothnig <Victor.Nawothnig@gmail.com>
88
+ * ext/oci8/oraconf.rb: Allow overriding library/include paths
89
+ (GH-210)
90
+
1
91
  2019-01-06 Kubo Takehiro <kubo@jiubao.org>
2
92
  * NEWS: Add changes between 2.2.6.1 and 2.2.7.
3
93
  * lib/oci8/version.rb: Update to 2.2.7
data/NEWS CHANGED
@@ -1,5 +1,30 @@
1
1
  # @markup markdown
2
2
 
3
+ 2.2.8 (2020-01-11)
4
+ ==================
5
+
6
+ New features
7
+ ------------
8
+
9
+ * Add support to specify include and lib directories of Oracle library on installation. (GH-210)
10
+
11
+ The following three flags are added.
12
+
13
+ * --with-instant-client-dir
14
+ * --with-instant-client-include
15
+ * --with-instant-client-lib
16
+
17
+ Fixed issue
18
+ -----------
19
+
20
+ - Suppress warnings compiling oci8lib.so (GH-212 and others)
21
+
22
+ - Fix compilation and tests on Windows.
23
+
24
+ - Fix spelling in install-instant-client.md (GH-217)
25
+
26
+ - Use fiddler instead obsolete Win32API on Windows (GH-212)
27
+
3
28
  2.2.7 (2019-01-06)
4
29
  ==================
5
30
 
@@ -18,7 +18,7 @@ Look at {file:docs/install-on-osx.md} for OS X.
18
18
  Install Oracle Instant Client Packages
19
19
  --------------------------------------
20
20
 
21
- ### Donwload Instant Client Packages
21
+ ### Download Instant Client Packages
22
22
 
23
23
  Download the following packages from [Oracle Technology Network](http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html).
24
24
 
@@ -11,8 +11,11 @@ if RUBY_PLATFORM =~ /cygwin/
11
11
  # Cygwin manages environment variables by itself.
12
12
  # They don't synchroize with Win32's ones.
13
13
  # This set some Oracle's environment variables to win32's enviroment.
14
- require 'Win32API'
15
- win32setenv = Win32API.new('Kernel32.dll', 'SetEnvironmentVariableA', 'PP', 'I')
14
+ require 'fiddle'
15
+ win32setenv = Fiddle::Function.new( Fiddle.dlopen('Kernel32.dll')['SetEnvironmentVariableA'],
16
+ [Fiddle::TYPE_VOIDP,Fiddle::TYPE_VOIDP],
17
+ Fiddle::TYPE_INT )
18
+
16
19
  ['NLS_LANG', 'TNS_ADMIN', 'LOCAL'].each do |name|
17
20
  val = ENV[name]
18
21
  win32setenv.call(name, val && val.dup)
@@ -1,3 +1,3 @@
1
1
  class OCI8
2
- VERSION = "2.2.7"
2
+ VERSION = "2.2.8"
3
3
  end
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/setup.rb CHANGED
@@ -189,7 +189,16 @@ class ConfigTable
189
189
  'the make program to compile ruby extentions' ] ],
190
190
  [ 'without-ext', [ 'no',
191
191
  'yes/no',
192
- 'does not compile/install ruby extentions' ] ]
192
+ 'does not compile/install ruby extentions' ] ],
193
+ [ 'with-instant-client-dir', ['',
194
+ 'path',
195
+ 'path to the Oracle instant client directory'] ],
196
+ [ 'with-instant-client-lib', ['',
197
+ 'path',
198
+ 'path to the Oracle instant client libraries'] ],
199
+ [ 'with-instant-client-include', ['',
200
+ 'path',
201
+ 'path to the Oracle instant client header files'] ]
193
202
  ]
194
203
  multipackage_descripters = [
195
204
  [ 'with', [ '',
@@ -277,7 +286,7 @@ class ConfigTable
277
286
 
278
287
  def initialize_from_table
279
288
  @table = {}
280
- DESCRIPTER.each do |k, (default, vname, desc, default2)|
289
+ DESCRIPTER.each do |k, (default, *)|
281
290
  @table[k] = default
282
291
  end
283
292
  end
@@ -7,12 +7,8 @@ Before running unit test:
7
7
  ```
8
8
  2. Create user ruby
9
9
  ```sql
10
- SQL> CREATE USER ruby IDENTIFIED BY oci8;
11
- ```
12
- or
13
- ```sql
14
- SQL> CREATE USER ruby IDENTIFIED BY oci8
15
- 2 DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
10
+ SQL> CREATE USER ruby IDENTIFIED BY oci8 DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
11
+ SQL> alter user ruby quota unlimited on users;
16
12
  ```
17
13
  3. Grant the privilege to connect and execute.
18
14
  ```sql
@@ -27,6 +23,7 @@ Before running unit test:
27
23
  5. Create object types
28
24
  ```sql
29
25
  SQL> @test/setup_test_object.sql
26
+ SQL> @test/setup_test_package.sql
30
27
  ```
31
28
  6. change $dbname in test/config.rb.
32
29
 
@@ -22,9 +22,8 @@ class TestBreak < Minitest::Test
22
22
  @@server_is_runing_on_windows = nil
23
23
  def server_is_runing_on_windows?
24
24
  if @@server_is_runing_on_windows.nil?
25
- @@server_is_runing_on_windows = false
26
- @conn.exec('select banner from v$version') do |row|
27
- @@server_is_runing_on_windows = true if row[0].include? 'Windows'
25
+ @conn.exec('select dbms_utility.port_string from dual') do |row|
26
+ @@server_is_runing_on_windows = row[0].include? '/WIN'
28
27
  end
29
28
  end
30
29
  @@server_is_runing_on_windows
@@ -1,6 +1,5 @@
1
1
  require 'oci8'
2
2
  require File.dirname(__FILE__) + '/config'
3
- require 'scanf'
4
3
 
5
4
  class TestDateTime < Minitest::Test
6
5
 
@@ -28,6 +27,12 @@ class TestDateTime < Minitest::Test
28
27
  convert_to_datetime($1.to_i, $2.to_i, $3.to_i, $4.to_i, $5.to_i, $6.to_i, subsec, $8)
29
28
  end
30
29
 
30
+ # 'YYYY-MM-DD HH24:MI:SS' or 'YYYY-MM-DD HH24:MI:SS.FF6' to array
31
+ def string_to_array(str)
32
+ /(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)(?:\.(\d+))?/ =~ str
33
+ [$1.to_i, $2.to_i, $3.to_i, $4.to_i, $5.to_i, $6.to_i, $7 ? $7.to_i / 1000 : 0]
34
+ end
35
+
31
36
  def setup
32
37
  @conn = get_oci8_connection
33
38
  end
@@ -43,7 +48,7 @@ class TestDateTime < Minitest::Test
43
48
  @conn.exec(<<-EOS) do |row|
44
49
  SELECT TO_DATE('#{date}', 'YYYY-MM-DD HH24:MI:SS') FROM dual
45
50
  EOS
46
- assert_equal(Time.local(*date.scanf("%d-%d-%d %d:%d:%d.%06d")), row[0])
51
+ assert_equal(Time.local(*string_to_array(date)), row[0])
47
52
  end
48
53
  end
49
54
  end
@@ -94,7 +99,7 @@ EOS
94
99
  @conn.exec(<<-EOS) do |row|
95
100
  SELECT TO_TIMESTAMP('#{date}', 'YYYY-MM-DD HH24:MI:SS.FF') FROM dual
96
101
  EOS
97
- assert_equal(Time.local(*date.scanf("%d-%d-%d %d:%d:%d.%06d")), row[0])
102
+ assert_equal(Time.local(*string_to_array(date)), row[0])
98
103
  end
99
104
  end
100
105
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-oci8
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 2
8
8
  - 2
9
- - 7
10
- version: 2.2.7
9
+ - 8
10
+ version: 2.2.8
11
11
  platform: x86-mingw32
12
12
  authors:
13
13
  - Kubo Takehiro
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2019-01-06 00:00:00 +09:00
18
+ date: 2020-01-11 00:00:00 +09:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -114,6 +114,7 @@ files:
114
114
  - lib/oci8lib_240.so
115
115
  - lib/oci8lib_250.so
116
116
  - lib/oci8lib_260.so
117
+ - lib/oci8lib_270.so
117
118
  has_rdoc: true
118
119
  homepage: http://www.rubydoc.info/github/kubo/ruby-oci8
119
120
  licenses: