ruby-oci8 2.1.1 → 2.1.2

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.
data/ChangeLog CHANGED
@@ -1,3 +1,21 @@
1
+ 2012-04-28 KUBO Takehiro <kubo@jiubao.org>
2
+ * NEWS: add changes between 2.1.2 and 2.1.1
3
+ * VERSION: change the version to 2.1.2.
4
+
5
+ 2012-04-28 KUBO Takehiro <kubo@jiubao.org>
6
+ * lib/oci8/oci8.rb, lib/oci8/properties.rb: disable statement caching by default.
7
+ This is workaround about a SIGSEGV issue.
8
+ See: https://github.com/rsim/oracle-enhanced/issues/162
9
+
10
+ 2012-04-28 KUBO Takehiro <kubo@jiubao.org>
11
+ * ext/oci8/oci8lib.c: delete code which overwrites signal handlers
12
+ registered by ruby. This was committed by mistake.
13
+ See: http://rubyforge.org/forum/forum.php?thread_id=50690&forum_id=1078
14
+
15
+ 2012-04-24 KUBO Takehiro <kubo@jiubao.org>
16
+ * ext/oci8/metadata.c: fix internal heap error in OCI.
17
+ (github issue #12 reported by Yasuo Honda)
18
+
1
19
  2012-04-22 KUBO Takehiro <kubo@jiubao.org>
2
20
  * VERSION: update to 2.1.1.
3
21
  * README.md: add links.
data/NEWS CHANGED
@@ -1,5 +1,26 @@
1
1
  # @markup markdown
2
2
 
3
+ 2.1.2
4
+ =====
5
+
6
+ Specification changes
7
+ ---------------------
8
+
9
+ ### Statement caching in OCI is disabled by default.
10
+
11
+ This is workaround about a SIGSEGV issue.
12
+ See: [oracle enhanced issue #162](https://github.com/rsim/oracle-enhanced/issues/162)
13
+ Fixed Issues
14
+ ------------
15
+
16
+ - delete code which overwrites signal handlers registered by ruby.
17
+ See: [rubyforge thread 50690](http://rubyforge.org/forum/forum.php?thread_id=50690&forum_id=1078)
18
+
19
+ - fix internal heap error in OCI.
20
+ See: [github issue #12](https://github.com/kubo/ruby-oci8/issues/12)
21
+
22
+ (reported by Yasuo Honda)
23
+
3
24
  2.1.1
4
25
  =====
5
26
 
@@ -16,6 +37,8 @@ The default cache size is 20. It can be changed as follows.
16
37
  # change the size to 100.
17
38
  OCI8.properties[:statement_cache_size] = 100
18
39
 
40
+ Note: The default size was changed to zero in 2.1.2.
41
+
19
42
  Specification changes
20
43
  ---------------------
21
44
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.1.1
1
+ 2.1.2
@@ -29,6 +29,11 @@ static void oci8_metadata_mark(oci8_base_t *base)
29
29
  rb_gc_mark(md->svc);
30
30
  }
31
31
 
32
+ static void oci8_metadata_free(oci8_base_t *base)
33
+ {
34
+ base->type = 0; /* to prevent OCIDescriptorFree */
35
+ }
36
+
32
37
  VALUE oci8_metadata_create(OCIParam *parmhp, VALUE svc, VALUE parent)
33
38
  {
34
39
  oci8_metadata_t *md;
@@ -199,7 +204,7 @@ static VALUE metadata_get_tdo_id(VALUE self)
199
204
 
200
205
  oci8_base_vtable_t oci8_metadata_vtable = {
201
206
  oci8_metadata_mark,
202
- NULL,
207
+ oci8_metadata_free,
203
208
  sizeof(oci8_metadata_t),
204
209
  };
205
210
 
@@ -1,15 +1,10 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2002-2011 KUBO Takehiro <kubo@jiubao.org>
3
+ * Copyright (C) 2002-2012 KUBO Takehiro <kubo@jiubao.org>
4
4
  */
5
5
 
6
6
  #include "oci8.h"
7
7
 
8
- #define DEBUG_CORE_FILE 1
9
- #ifdef DEBUG_CORE_FILE
10
- #include <signal.h>
11
- #endif
12
-
13
8
  ID oci8_id_at_last_error;
14
9
  ID oci8_id_new;
15
10
  ID oci8_id_get;
@@ -145,10 +140,6 @@ Init_oci8lib()
145
140
  #ifdef USE_WIN32_C
146
141
  Init_oci8_win32(cOCI8);
147
142
  #endif
148
-
149
- #ifdef DEBUG_CORE_FILE
150
- signal(SIGSEGV, SIG_DFL);
151
- #endif
152
143
  }
153
144
 
154
145
  VALUE oci8_define_class(const char *name, oci8_base_vtable_t *vptr)
@@ -119,6 +119,7 @@ class OCI8
119
119
  end
120
120
 
121
121
  stmt_cache_size = OCI8.properties[:statement_cache_size]
122
+ stmt_cache_size = nil if stmt_cache_size == 0
122
123
 
123
124
  if mode.nil? and cred.nil?
124
125
  # logon by the OCI function OCILogon2().
@@ -1,6 +1,6 @@
1
1
  # properties.rb -- implements OCI8.properties
2
2
  #
3
- # Copyright (C) 2010-2011 KUBO Takehiro <kubo@jiubao.org>
3
+ # Copyright (C) 2010-2012 KUBO Takehiro <kubo@jiubao.org>
4
4
 
5
5
  #
6
6
  class OCI8
@@ -9,7 +9,7 @@ class OCI8
9
9
  :length_semantics => :byte,
10
10
  :bind_string_as_nchar => false,
11
11
  :float_conversion_type => :ruby,
12
- :statement_cache_size => 20,
12
+ :statement_cache_size => 0,
13
13
  }
14
14
 
15
15
  if OCI8.oracle_client_version < OCI8::ORAVER_9_2
@@ -89,7 +89,8 @@ class OCI8
89
89
  # [:statement_cache_size]
90
90
  # (new in 2.1.1)
91
91
  #
92
- # The statement cache size per each session. The default value is 20 statements.
92
+ # The statement cache size per each session. The default size is 0, which
93
+ # means no statement cache, since 2.1.2. It was 20 in 2.1.1.
93
94
  # This feature is available on Oracle 9iR2 or later.
94
95
  # See: http://docs.oracle.com/cd/E11882_01/appdev.112/e10646/oci09adv.htm#i471377
95
96
  #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-oci8
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-22 00:00:00.000000000 Z
12
+ date: 2012-04-28 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: ! 'ruby-oci8 is a ruby interface for Oracle using OCI8 API. It is available
15
15
  with Oracle8, Oracle8i, Oracle9i, Oracle10g and Oracle Instant Client.
@@ -129,10 +129,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
129
  version: '0'
130
130
  requirements: []
131
131
  rubyforge_project: ruby-oci8
132
- rubygems_version: 1.8.11
132
+ rubygems_version: 1.8.23
133
133
  signing_key:
134
134
  specification_version: 3
135
135
  summary: Ruby interface for Oracle using OCI8 API
136
136
  test_files:
137
137
  - test/test_all.rb
138
- has_rdoc: yard