oracledb 2.1.0 → 2.3.0
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.
- package/CHANGELOG.md +174 -54
- package/LICENSE.md +52 -18
- package/README.md +35 -68
- package/binding.gyp +5 -4
- package/lib/connection.js +164 -14
- package/lib/oracledb.js +160 -11
- package/lib/pool.js +33 -22
- package/lib/querystream.js +3 -2
- package/lib/rel.txt +1 -1
- package/odpi/LICENSE.md +1 -1
- package/odpi/README.md +25 -84
- package/odpi/embed/README.md +1 -1
- package/odpi/include/dpi.h +51 -7
- package/odpi/src/dpiConn.c +78 -9
- package/odpi/src/dpiContext.c +24 -10
- package/odpi/src/dpiEnv.c +5 -1
- package/odpi/src/dpiError.c +4 -0
- package/odpi/src/dpiErrorMessages.h +6 -4
- package/odpi/src/dpiImpl.h +125 -68
- package/odpi/src/dpiMsgProps.c +33 -0
- package/odpi/src/dpiObject.c +17 -10
- package/odpi/src/dpiObjectType.c +1 -1
- package/odpi/src/dpiOci.c +55 -40
- package/odpi/src/dpiOracleType.c +2 -2
- package/odpi/src/dpiPool.c +88 -18
- package/odpi/src/dpiStmt.c +57 -36
- package/odpi/src/dpiSubscr.c +117 -9
- package/odpi/src/dpiUtils.c +20 -9
- package/odpi/src/dpiVar.c +504 -430
- package/package/MAKEPKG.BAT +64 -1
- package/package/README.md +9 -5
- package/package/createpackage.js +2 -2
- package/package/extractpackage.js +2 -1
- package/package/oracledbinstall.js +19 -19
- package/package/package.json +4 -4
- package/package.json +4 -4
- package/src/njsCommon.cpp +94 -10
- package/src/njsCommon.h +73 -21
- package/src/njsConnection.cpp +1425 -458
- package/src/njsConnection.h +68 -19
- package/src/njsIntLob.cpp +5 -1
- package/src/njsIntLob.h +1 -1
- package/src/njsMessages.cpp +9 -2
- package/src/njsMessages.h +9 -2
- package/src/njsOracle.cpp +213 -23
- package/src/njsOracle.h +18 -2
- package/src/njsPool.cpp +32 -14
- package/src/njsPool.h +4 -4
- package/src/njsResultSet.cpp +4 -3
- package/src/njsResultSet.h +1 -1
- package/src/njsSubscription.cpp +388 -0
- package/src/njsSubscription.h +111 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,19 +1,141 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## node-oracledb v2.3.0 (7 Jun 2018)
|
|
4
|
+
|
|
5
|
+
- The stated compatibility is now for Node.js 6, 8, and 10 due to EOL
|
|
6
|
+
of Node.js 4, and the release of Node 10.
|
|
7
|
+
|
|
8
|
+
- Added support for heterogeneous connection pooling and for proxy
|
|
9
|
+
support in connection pools. This allows each connection in the
|
|
10
|
+
pool to use different database credentials.
|
|
11
|
+
|
|
12
|
+
- Added support for Oracle Database Continuous Query Notifications,
|
|
13
|
+
allowing JavaScript methods to be called when database changes are
|
|
14
|
+
committed.
|
|
15
|
+
|
|
16
|
+
- Added support to `fetchAsString` and `fetchInfo` for fetching RAW
|
|
17
|
+
columns as STRING (hex-encoded).
|
|
18
|
+
|
|
19
|
+
- Added Windows support for building binary packages for self-hosting
|
|
20
|
+
on internal networks. PR #891 (Danilo Silva).
|
|
21
|
+
|
|
22
|
+
- Eliminated a memory leak when binding LOBs as `oracledb.BIND_INOUT`.
|
|
23
|
+
|
|
24
|
+
- Added an error message indicating that `batchErrors` and
|
|
25
|
+
`dmlRowCounts` can only be used with INSERT, UPDATE, DELETE and
|
|
26
|
+
MERGE statements.
|
|
27
|
+
|
|
28
|
+
- Fixed a bug that caused `queryStream()` to emit multiple close
|
|
29
|
+
events in Node.js 10.
|
|
30
|
+
|
|
31
|
+
- Fixed a crash when getting the list of names for an undefined object
|
|
32
|
+
with Node.js 6.
|
|
33
|
+
|
|
34
|
+
- Remove deprecated `Buffer()` function in tests in order to eliminate
|
|
35
|
+
a deprecation warning with Node.js 10.
|
|
36
|
+
|
|
37
|
+
- Upgraded NAN dependency from 2.8 to 2.10.
|
|
38
|
+
|
|
39
|
+
- Made some internal changes to fix NAN 2.10 deprecations: Replaced
|
|
40
|
+
`v8::String::Utf8Value` with `Nan::Uft8String`. Replaced
|
|
41
|
+
`MakeCallback()` with `runInAsyncScope()`.
|
|
42
|
+
|
|
43
|
+
- Mention that `queueRequests` is deprecated and will be removed in a
|
|
44
|
+
future version; connection pool queuing will always be enabled in
|
|
45
|
+
that future version.
|
|
46
|
+
|
|
47
|
+
## node-oracledb v2.2.0 (3 Apr 2018)
|
|
48
|
+
|
|
49
|
+
- Added
|
|
50
|
+
[`oracledb.oracleClientVersionString`](https://oracle.github.io/node-oracledb/doc/api.html#propdboracleclientversionstring)
|
|
51
|
+
and
|
|
52
|
+
[`connection.oracleServerVersionString`](https://oracle.github.io/node-oracledb/doc/api.html#propconnoracleserverversionstring)
|
|
53
|
+
to complement the existing numeric properties.
|
|
54
|
+
|
|
55
|
+
- Added
|
|
56
|
+
[`oracledb.edition`](https://oracle.github.io/node-oracledb/doc/api.html#propdbedition)
|
|
57
|
+
to support Edition-Based Redefinition. This removes the need to use
|
|
58
|
+
an `ALTER SESSION` command or `ORA_EDITION` environment variable.
|
|
59
|
+
|
|
60
|
+
- Added
|
|
61
|
+
[`oracledb.events`](https://oracle.github.io/node-oracledb/doc/api.html#propdbevents)
|
|
62
|
+
to allow the Oracle client library to receive Oracle Database
|
|
63
|
+
service events, such as FAN and RLB events. This removes the need
|
|
64
|
+
to use an `oraaccess.xml` file to enable event handling.
|
|
65
|
+
|
|
66
|
+
- Added
|
|
67
|
+
[`connection.changePassword()`](https://oracle.github.io/node-oracledb/doc/api.html#changingpassword)
|
|
68
|
+
for changing passwords, and also added support for changing the
|
|
69
|
+
password during `oracledb.getConnection()`.
|
|
70
|
+
|
|
71
|
+
- Added
|
|
72
|
+
[`connection.executeMany()`](https://oracle.github.io/node-oracledb/doc/api.html#executemany)
|
|
73
|
+
for efficient batch DML (e.g. INSERT, UPDATE and DELETE) and PL/SQL
|
|
74
|
+
execution with multiple records.
|
|
75
|
+
|
|
76
|
+
- Added
|
|
77
|
+
[`connection.getStatementInfo()`](https://oracle.github.io/node-oracledb/doc/api.html#getstmtinfo)
|
|
78
|
+
to find information about a SQL statement without executing it.
|
|
79
|
+
|
|
80
|
+
- Added
|
|
81
|
+
[`connection.ping()`](https://oracle.github.io/node-oracledb/doc/api.html#connectionping)
|
|
82
|
+
to support system health checks.
|
|
83
|
+
|
|
84
|
+
- Added support for binding RAW types into Buffers in DML RETURNING statements.
|
|
85
|
+
|
|
86
|
+
- Created GitHub 'pages' for hosting documentation. See:
|
|
87
|
+
- https://oracle.github.io/node-oracledb
|
|
88
|
+
- https://oracle.github.io/node-oracledb/INSTALL.html
|
|
89
|
+
- https://oracle.github.io/node-oracledb/doc/api.html
|
|
90
|
+
|
|
91
|
+
- Simplified the binary installer messages to reduce user uncertainty.
|
|
92
|
+
|
|
93
|
+
- Improved the text for the NJS-045 runtime loader failure error.
|
|
94
|
+
|
|
95
|
+
- Made the implementations of `connection.close()` and `pool.close()`
|
|
96
|
+
the primary code paths in place of their respective aliases
|
|
97
|
+
`connection.release()` and `pool.terminate()`.
|
|
98
|
+
|
|
99
|
+
- An empty object for `fetchInfo` no longer produces an error.
|
|
100
|
+
|
|
101
|
+
- Updated database abstraction layer to ODPI-C 2.3
|
|
102
|
+
|
|
103
|
+
- Fixed compilation warnings on Windows.
|
|
104
|
+
|
|
105
|
+
- Updated the node-oracledb implementation to replace V8 deprecations.
|
|
106
|
+
|
|
107
|
+
## node-oracledb v2.1.2 (21 Feb 2018)
|
|
108
|
+
|
|
109
|
+
- Fixed regression with end-to-end tracing attributes not being set.
|
|
110
|
+
|
|
111
|
+
- Fix binary installer proxy 403 (Bruno Jouhier)
|
|
112
|
+
|
|
113
|
+
## node-oracledb v2.1.1 (16 Feb 2018)
|
|
114
|
+
|
|
115
|
+
- Fixed regression with querystream() in Node 4 & 6.
|
|
116
|
+
https://github.com/oracle/node-oracledb/issues/847
|
|
117
|
+
|
|
3
118
|
## node-oracledb v2.1.0 (15 Feb 2018)
|
|
4
119
|
|
|
5
|
-
- Added support for privileged standalone
|
|
6
|
-
|
|
120
|
+
- Added support for [privileged standalone
|
|
121
|
+
connections](https://oracle.github.io/node-oracledb/doc/api.html#privconn):
|
|
122
|
+
SYSDBA, SYSOPER, SYSASM, SYSBACKUP, SYSDG, SYSKM, and SYSRAC
|
|
7
123
|
|
|
8
|
-
- Improved the
|
|
9
|
-
|
|
124
|
+
- Improved the
|
|
125
|
+
[Error](https://oracle.github.io/node-oracledb/doc/api.html#properror)
|
|
126
|
+
object with new `errorNum` and `offset` properties for Oracle
|
|
127
|
+
errors.
|
|
10
128
|
|
|
11
|
-
- Added new
|
|
12
|
-
|
|
129
|
+
- Added new
|
|
130
|
+
[`versionString`](https://oracle.github.io/node-oracledb/doc/api.html#propdbversionstring)
|
|
131
|
+
and
|
|
132
|
+
[`versionSuffix`](https://oracle.github.io/node-oracledb/doc/api.html#propdbversionsuffix)
|
|
133
|
+
attributes to aid showing node-oracledb version and release status.
|
|
13
134
|
|
|
14
|
-
- Added
|
|
15
|
-
`
|
|
16
|
-
|
|
135
|
+
- Added
|
|
136
|
+
[`connectionString`](https://oracle.github.io/node-oracledb/doc/api.html#createpoolpoolattrsconnectstring)
|
|
137
|
+
as an alias for `connectString` in `oracledb.createPool()` and
|
|
138
|
+
`oracledb.getConnection()` (Sagie Gur-Ari).
|
|
17
139
|
|
|
18
140
|
- Updated the ODPI-C layer:
|
|
19
141
|
- Eliminate DPI-1054 errors, allowing connections to be closed when ResultSets and Lobs are open.
|
|
@@ -24,7 +146,7 @@
|
|
|
24
146
|
This means node-oracledb 2.1 no longer builds with Node.js 0.10 or
|
|
25
147
|
Node.js 0.12.
|
|
26
148
|
|
|
27
|
-
- Improved `queryStream()` streaming:
|
|
149
|
+
- Improved [`queryStream()`](https://oracle.github.io/node-oracledb/doc/api.html#querystream) streaming:
|
|
28
150
|
|
|
29
151
|
- Add support for the Stream `destroy()` method available with Node 8.
|
|
30
152
|
|
|
@@ -48,8 +170,7 @@
|
|
|
48
170
|
- Fixed support for integers that are larger than Node.js's 32-bit
|
|
49
171
|
integer is capable of handling.
|
|
50
172
|
|
|
51
|
-
- Updated
|
|
52
|
-
[INSTALL.md](https://github.com/oracle/node-oracledb/blob/master/INSTALL.md)
|
|
173
|
+
- Updated [INSTALL](https://oracle.github.io/node-oracledb/INSTALL.html)
|
|
53
174
|
to mention:
|
|
54
175
|
- The [yum.oracle.com](http://yum.oracle.com/oracle-linux-nodejs.html) Node.js RPM Packages for Oracle Linux
|
|
55
176
|
- The [Oracle mirror](oss.oracle.com/git/oracle) of [github.com/oracle](https://github.com/oracle).
|
|
@@ -68,7 +189,7 @@
|
|
|
68
189
|
- Installation has significantly improved. Some pre-built binaries
|
|
69
190
|
are available for convenience, or the add-on can be continue to built
|
|
70
191
|
from source code. Refer to
|
|
71
|
-
[INSTALL
|
|
192
|
+
[INSTALL](https://oracle.github.io/node-oracledb/INSTALL.html).
|
|
72
193
|
|
|
73
194
|
- Added utilities to /package for building binaries for
|
|
74
195
|
distribution, and for installing them.
|
|
@@ -96,7 +217,7 @@
|
|
|
96
217
|
libraries in `$ORACLE_HOME/lib`.
|
|
97
218
|
|
|
98
219
|
- A new [Troubleshooting
|
|
99
|
-
section](https://github.
|
|
220
|
+
section](https://oracle.github.io/node-oracledb/INSTALL.html#troubleshooting)
|
|
100
221
|
was add to INSTALL.
|
|
101
222
|
|
|
102
223
|
- Improvements were made to `require('oracledb')` failure messages
|
|
@@ -214,23 +335,23 @@
|
|
|
214
335
|
|
|
215
336
|
- Improved query handling:
|
|
216
337
|
|
|
217
|
-
|
|
218
|
-
|
|
338
|
+
- Enhanced direct fetches to allow an unlimited number of rows to be
|
|
339
|
+
fetched. This occurs when `oracledb.maxRows = 0`
|
|
219
340
|
|
|
220
|
-
|
|
221
|
-
|
|
341
|
+
- Changed the default value of `oracledb.maxRows` to 0, meaning
|
|
342
|
+
unlimited.
|
|
222
343
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
344
|
+
- Replaced `prefetchRows` (used for internal fetch buffering and
|
|
345
|
+
tuning) with a new property `fetchArraySize`. This affects direct
|
|
346
|
+
fetches, ResultSet `getRow()` and `queryStream()`.
|
|
226
347
|
|
|
227
|
-
|
|
228
|
-
|
|
348
|
+
- `getRows(numRows,...)` internal fetch buffering is now only tuned
|
|
349
|
+
by the `numRows` value.
|
|
229
350
|
|
|
230
|
-
|
|
351
|
+
- Implemented `getRow()` in JavaScript for better performance.
|
|
231
352
|
|
|
232
|
-
|
|
233
|
-
|
|
353
|
+
- Moved operations on REF CURSORS out of the main thread in order to
|
|
354
|
+
improve performance and memory usage.
|
|
234
355
|
|
|
235
356
|
- Fixed proxy support in the binary installer.
|
|
236
357
|
|
|
@@ -265,15 +386,15 @@
|
|
|
265
386
|
- Upgraded NAN dependency from 2.5 to 2.8.
|
|
266
387
|
|
|
267
388
|
- Updated ODPI-C submodule:
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
389
|
+
- Reinstate safe size limit for LOB bind to PL/SQL (node-oracledb regression from v1).
|
|
390
|
+
- Fix valgrind byte overrun when loading `libclntsh` from `$ORACLE_HOME`.
|
|
391
|
+
- Do not prevent connections from being explicitly closed when a fatal error has taken place.
|
|
392
|
+
- Eliminate race condition on initialization. Add finalization code.
|
|
393
|
+
- Eliminate use of OCI wrappers for use of mutexes, which improves performance (now uses native threading, e.g. pthreads).
|
|
394
|
+
- Prevent use of NaN with Oracle numbers to avoid data corruption.
|
|
395
|
+
- Prevent ORA-1010 during connection ping to pre 10g Oracle Database.
|
|
396
|
+
- Improve debug trace output format.
|
|
397
|
+
- Prevent crash for DML RETURNING of variables that require dynamic binding.
|
|
277
398
|
|
|
278
399
|
- Updated examples to avoid "DPI-1054: connection cannot be closed
|
|
279
400
|
when open statements or LOBs exist" and to avoid duplicate callbacks
|
|
@@ -344,7 +465,7 @@
|
|
|
344
465
|
database abstraction library.
|
|
345
466
|
|
|
346
467
|
- Installation instructions have changed. Refer to
|
|
347
|
-
[INSTALL
|
|
468
|
+
[INSTALL](https://oracle.github.io/node-oracledb/INSTALL.html).
|
|
348
469
|
Distribution is still via source code.
|
|
349
470
|
|
|
350
471
|
Oracle header files are no longer needed. The `OCI_LIB_DIR` and
|
|
@@ -454,21 +575,20 @@
|
|
|
454
575
|
## node-oracledb v1.12.0 Development (3 Dec 2016)
|
|
455
576
|
|
|
456
577
|
- Significantly enhanced LOB support:
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
578
|
+
- Added `BIND_IN` support for DML
|
|
579
|
+
- Added `BIND_IN`, `BIND_OUT`, `BIND_INOUT` support for PL/SQL
|
|
580
|
+
- Added a `connection.createLob()` method to create temporary LOBs
|
|
581
|
+
- Added a `lob.close()` method
|
|
582
|
+
- Made enhancements to allow binding String or Buffer data as `STRING` or `BUFFER` to LOB database types
|
|
583
|
+
- Writeable LOB Streams now conclude with a 'close' event
|
|
463
584
|
|
|
464
585
|
- Added a connection pool 'ping' feature controlled with
|
|
465
586
|
`oracledb.poolPingInterval` and a corresponding `createPool()`
|
|
466
587
|
option. This validates pooled connections when they are returned
|
|
467
|
-
from a `getConnection()` call. Values are
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
- positive: time in seconds the connection must be idle in the pool before `getConnection()` does a ping. Default is 60 seconds
|
|
588
|
+
from a `getConnection()` call. Values are:
|
|
589
|
+
- zero: always ping for every pooled `getConnection()`
|
|
590
|
+
- negative: never ping
|
|
591
|
+
- positive: time in seconds the connection must be idle in the pool before `getConnection()` does a ping. Default is 60 seconds
|
|
472
592
|
|
|
473
593
|
The setting is a no-op when node-oracledb is built with Oracle
|
|
474
594
|
Database 12.2 client libraries, where a new, lower-level OCI feature
|
|
@@ -566,10 +686,10 @@
|
|
|
566
686
|
- Some enhancements were made to the underlying DPI data access layer.
|
|
567
687
|
**These are not exposed to node-oracledb users.**
|
|
568
688
|
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
689
|
+
- Allow <code>SYSDBA</code> connections
|
|
690
|
+
- Allow session tagging
|
|
691
|
+
- Allow the character set and national character set to be specified via parameters to the DPI layer.
|
|
692
|
+
- Support heterogeneous pools (in addition to existing homogeneous pools)
|
|
573
693
|
|
|
574
694
|
## node-oracledb v1.9.3 (24 May 2016)
|
|
575
695
|
|
|
@@ -942,8 +1062,8 @@
|
|
|
942
1062
|
|
|
943
1063
|
- High Availability Features
|
|
944
1064
|
|
|
945
|
-
|
|
1065
|
+
- Fast Application Notification (FAN)
|
|
946
1066
|
|
|
947
|
-
|
|
1067
|
+
- Runtime Load Balancing (RLB)
|
|
948
1068
|
|
|
949
|
-
|
|
1069
|
+
- Transparent Application Failover (TAF)
|
package/LICENSE.md
CHANGED
|
@@ -223,28 +223,62 @@ limitations under the License.
|
|
|
223
223
|
# NAN
|
|
224
224
|
|
|
225
225
|
```
|
|
226
|
-
|
|
226
|
+
The MIT License (MIT)
|
|
227
|
+
=====================
|
|
227
228
|
|
|
228
|
-
|
|
229
|
+
Copyright (c) 2017 NAN contributors
|
|
230
|
+
-----------------------------------
|
|
229
231
|
|
|
230
|
-
|
|
231
|
-
a copy of this software and associated documentation files (the
|
|
232
|
-
"Software"), to deal in the Software without restriction, including
|
|
233
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
|
234
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
|
235
|
-
permit persons to whom the Software is furnished to do so, subject to
|
|
236
|
-
the following conditions:
|
|
232
|
+
NAN contributors listed at https://github.com/nodejs/nan#contributors
|
|
237
233
|
|
|
238
|
-
|
|
239
|
-
|
|
234
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the
|
|
235
|
+
"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
|
236
|
+
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
240
237
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
238
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
239
|
+
|
|
240
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
241
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
242
|
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
243
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
|
244
|
+
|
|
245
|
+
-------------------------------------------------------------------------------
|
|
246
|
+
|
|
247
|
+
WG Members / Collaborators
|
|
248
|
+
|
|
249
|
+
Rod Vagg - https://github.com/rvagg http://twitter.com/rvagg
|
|
250
|
+
Benjamin Byholm - https://github.com/kkoopa/
|
|
251
|
+
Trevor Norris - https://github.com/trevnorris http://twitter.com/trevnorris
|
|
252
|
+
Nathan Rajlich - https://github.com/TooTallNate http://twitter.com/TooTallNate
|
|
253
|
+
Brett Lawson - https://github.com/brett19 http://twitter.com/brett19x
|
|
254
|
+
Ben Noordhuis - https://github.com/bnoordhuis http://twitter.com/bnoordhuis
|
|
255
|
+
David Siegel - https://github.com/agnat http://twitter.com/agnat
|
|
256
|
+
Michael Ira Krufky - https://github.com/mkrufky http://twitter.com/mkrufky
|
|
257
|
+
|
|
258
|
+
-------------------------------------------------------------------------------
|
|
259
|
+
|
|
260
|
+
nan_string_bytes.h:
|
|
261
|
+
|
|
262
|
+
Copyright Joyent, Inc. and other Node contributors.
|
|
263
|
+
|
|
264
|
+
Permission is hereby granted, free of charge, to any person obtaining a
|
|
265
|
+
copy of this software and associated documentation files (the
|
|
266
|
+
"Software"), to deal in the Software without restriction, including
|
|
267
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
268
|
+
distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
269
|
+
persons to whom the Software is furnished to do so, subject to the
|
|
270
|
+
following conditions:
|
|
271
|
+
|
|
272
|
+
The above copyright notice and this permission notice shall be included
|
|
273
|
+
in all copies or substantial portions of the Software.
|
|
274
|
+
|
|
275
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
276
|
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
277
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
|
278
|
+
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
279
|
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
280
|
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
281
|
+
USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
248
282
|
```
|
|
249
283
|
|
|
250
284
|
# Mocha
|
package/README.md
CHANGED
|
@@ -1,69 +1,35 @@
|
|
|
1
|
-
# node-oracledb version 2.
|
|
2
|
-
|
|
3
|
-
## <a name="about"></a> About node-oracledb
|
|
1
|
+
# node-oracledb version 2.3
|
|
4
2
|
|
|
5
3
|
The node-oracledb add-on for Node.js powers high performance Oracle
|
|
6
4
|
Database applications.
|
|
7
5
|
|
|
8
|
-
Use node-oracledb to connect Node.js
|
|
9
|
-
|
|
10
|
-
The add-on is stable, well documented, and has a comprehensive test suite.
|
|
11
|
-
|
|
12
|
-
The node-oracledb project is open source and maintained by Oracle Corp.
|
|
6
|
+
Use node-oracledb to connect Node.js 6, 8 and 10 to Oracle Database.
|
|
13
7
|
|
|
14
|
-
|
|
8
|
+
Node-oracledb supports basic and advanced features of Oracle Database
|
|
9
|
+
and Oracle Client. See the
|
|
10
|
+
[homepage](https://oracle.github.io/node-oracledb/) for a list.
|
|
15
11
|
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
- [REF CURSORs][7]
|
|
19
|
-
- [Large Objects: CLOBs and BLOBs as Streams or Strings and Buffers][8]
|
|
20
|
-
- [Oracle Database 12c JSON datatype][9]
|
|
21
|
-
- [Query results as JavaScript objects or arrays][10]
|
|
22
|
-
- [Smart mapping between JavaScript and Oracle types with manual override available][11]
|
|
23
|
-
- [Data binding using JavaScript types, objects or arrays][12]
|
|
24
|
-
- [Transaction Management][13]
|
|
25
|
-
- [Inbuilt Connection Pool with Queuing, Aliasing and Liveness checking][14]
|
|
26
|
-
- [Database Resident Connection Pooling (DRCP)][15]
|
|
27
|
-
- [External Authentication][16]
|
|
28
|
-
- [Array Fetches][17]
|
|
29
|
-
- [Statement Caching][18]
|
|
30
|
-
- [Client Result Caching][19]
|
|
31
|
-
- [End-to-end Tracing, Mid-tier Authentication, and Auditing][20]
|
|
32
|
-
- Oracle High Availability Features
|
|
33
|
-
- [Fast Application Notification (FAN)][21]
|
|
34
|
-
- [Runtime Load Balancing (RLB)][22]
|
|
35
|
-
- [Transparent Application Failover (TAF)][23]
|
|
12
|
+
The node-oracledb module is open source and maintained by Oracle Corp.
|
|
13
|
+
It is stable, well documented, and has a comprehensive test suite.
|
|
36
14
|
|
|
37
|
-
|
|
38
|
-
features, and on functionality requests from [users involved in the
|
|
39
|
-
project][24].
|
|
40
|
-
|
|
41
|
-
## <a name="start"></a> Getting Started
|
|
15
|
+
## <a name="installation"></a> Installation
|
|
42
16
|
|
|
43
|
-
See [Getting Started with Node-oracledb][1].
|
|
17
|
+
See [Getting Started with Node-oracledb][1] and [Quick Start Node-oracledb Installation][37].
|
|
44
18
|
|
|
45
|
-
## <a name="
|
|
19
|
+
## <a name="doc"></a> Documentation
|
|
46
20
|
|
|
47
|
-
See [
|
|
21
|
+
See [Documentation for the Oracle Database Node.js Add-on][32] and the [CHANGELOG][33].
|
|
48
22
|
|
|
49
23
|
## <a name="examples"></a> Examples
|
|
50
24
|
|
|
51
25
|
See the [examples][30] directory. Start with
|
|
52
26
|
[examples/select1.js][31].
|
|
53
27
|
|
|
54
|
-
## <a name="doc"></a> Documentation
|
|
55
|
-
|
|
56
|
-
See [Documentation for the Oracle Database Node.js Add-on][32].
|
|
57
|
-
|
|
58
28
|
## <a name="help"></a> Help
|
|
59
29
|
|
|
60
30
|
Issues and questions can be raised with the node-oracledb community on
|
|
61
31
|
[GitHub][24].
|
|
62
32
|
|
|
63
|
-
## <a name="changes"></a> Changes
|
|
64
|
-
|
|
65
|
-
See [CHANGELOG][33].
|
|
66
|
-
|
|
67
33
|
## <a name="testing"></a> Tests
|
|
68
34
|
|
|
69
35
|
To run the test suite see [test/README][34].
|
|
@@ -94,35 +60,36 @@ limitations under the License.
|
|
|
94
60
|
|
|
95
61
|
|
|
96
62
|
|
|
97
|
-
[1]: https://github.
|
|
98
|
-
[2]: https://github.
|
|
99
|
-
[3]: https://github.
|
|
100
|
-
[4]: https://github.
|
|
101
|
-
[5]: https://github.
|
|
102
|
-
[6]: https://github.
|
|
103
|
-
[7]: https://github.
|
|
104
|
-
[8]: https://github.
|
|
105
|
-
[9]: https://github.
|
|
106
|
-
[10]: https://github.
|
|
107
|
-
[11]: https://github.
|
|
108
|
-
[12]: https://github.
|
|
109
|
-
[13]: https://github.
|
|
110
|
-
[14]: https://github.
|
|
111
|
-
[15]: https://github.
|
|
112
|
-
[16]: https://github.
|
|
113
|
-
[17]: https://github.
|
|
114
|
-
[18]: https://github.
|
|
63
|
+
[1]: https://oracle.github.io/node-oracledb/doc/api.html#getstarted
|
|
64
|
+
[2]: https://oracle.github.io/node-oracledb/doc/api.html#asyncawaitoverview
|
|
65
|
+
[3]: https://oracle.github.io/node-oracledb/doc/api.html#promiseoverview
|
|
66
|
+
[4]: https://oracle.github.io/node-oracledb/doc/api.html#intro
|
|
67
|
+
[5]: https://oracle.github.io/node-oracledb/doc/api.html#querystream
|
|
68
|
+
[6]: https://oracle.github.io/node-oracledb/doc/api.html#sqlexecution
|
|
69
|
+
[7]: https://oracle.github.io/node-oracledb/doc/api.html#refcursors
|
|
70
|
+
[8]: https://oracle.github.io/node-oracledb/doc/api.html#lobhandling
|
|
71
|
+
[9]: https://oracle.github.io/node-oracledb/doc/api.html#jsondatatype
|
|
72
|
+
[10]: https://oracle.github.io/node-oracledb/doc/api.html#queryoutputformats
|
|
73
|
+
[11]: https://oracle.github.io/node-oracledb/doc/api.html#typemap
|
|
74
|
+
[12]: https://oracle.github.io/node-oracledb/doc/api.html#bind
|
|
75
|
+
[13]: https://oracle.github.io/node-oracledb/doc/api.html#transactionmgt
|
|
76
|
+
[14]: https://oracle.github.io/node-oracledb/doc/api.html#connpooling
|
|
77
|
+
[15]: https://oracle.github.io/node-oracledb/doc/api.html#drcp
|
|
78
|
+
[16]: https://oracle.github.io/node-oracledb/doc/api.html#extauth
|
|
79
|
+
[17]: https://oracle.github.io/node-oracledb/doc/api.html#propdbfetcharraysize
|
|
80
|
+
[18]: https://oracle.github.io/node-oracledb/doc/api.html#stmtcache
|
|
115
81
|
[19]: https://docs.oracle.com/database/122/ADFNS/performance-and-scalability.htm#ADFNS464
|
|
116
|
-
[20]: https://github.
|
|
117
|
-
[21]: https://
|
|
118
|
-
[22]: https://
|
|
82
|
+
[20]: https://oracle.github.io/node-oracledb/doc/api.html#endtoend
|
|
83
|
+
[21]: https://oracle.github.io/node-oracledb/doc/api.html#connectionfan
|
|
84
|
+
[22]: https://oracle.github.io/node-oracledb/doc/api.html#connectionrlb
|
|
119
85
|
[23]: https://docs.oracle.com/database/122/ADFNS/high-availability.htm#ADFNS-GUID-96599425-9BDA-483C-9BA2-4A4D13013A37
|
|
120
86
|
[24]: https://github.com/oracle/node-oracledb/issues
|
|
121
87
|
[30]: https://github.com/oracle/node-oracledb/blob/master/examples
|
|
122
88
|
[31]: https://github.com/oracle/node-oracledb/blob/master/examples/select1.js#L35
|
|
123
|
-
[32]: https://github.
|
|
89
|
+
[32]: https://oracle.github.io/node-oracledb/doc/api.html
|
|
124
90
|
[33]: https://github.com/oracle/node-oracledb/blob/master/CHANGELOG.md
|
|
125
91
|
[34]: https://github.com/oracle/node-oracledb/blob/master/test/README.md
|
|
126
92
|
[35]: https://github.com/oracle/node-oracledb/blob/master/CONTRIBUTING.md
|
|
127
93
|
[36]: http://www.apache.org/licenses/LICENSE-2.0
|
|
128
|
-
[37]: https://github.
|
|
94
|
+
[37]: https://oracle.github.io/node-oracledb/INSTALL.html#quickstart
|
|
95
|
+
[38]: https://oracle.github.io/node-oracledb/doc/api.html#getconnectiondbattrsprivilege
|
package/binding.gyp
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"src/njsPool.cpp",
|
|
9
9
|
"src/njsConnection.cpp",
|
|
10
10
|
"src/njsResultSet.cpp",
|
|
11
|
+
"src/njsSubscription.cpp",
|
|
11
12
|
"src/njsMessages.cpp",
|
|
12
13
|
"src/njsIntLob.cpp",
|
|
13
14
|
"odpi/src/dpiConn.c",
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
[
|
|
41
42
|
'OS=="linux"', {
|
|
42
43
|
"variables" : {
|
|
43
|
-
"dpi_check%" : "<!(INSTURL=\"https://github.
|
|
44
|
+
"dpi_check%" : "<!(INSTURL=\"https://oracle.github.io/node-oracledb/INSTALL.html#github\"; ERR=\"oracledb ERR! Error:\"; if [ -f odpi/include/dpi.h ]; then echo \"Has dpi.h\"; else echo \"$ERR Cannot find odpi/include/dpi.h. For GitHub ZIP downloads you must separately download the odpi subdirectory from GitHub.\" >&2; echo \"$ERR See $INSTURL\" >&2; echo \"\" >&2; fi;)"
|
|
44
45
|
},
|
|
45
46
|
"cflags" : ['-fexceptions'],
|
|
46
47
|
"cflags_cc" : ['-fexceptions'],
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
[
|
|
51
52
|
'OS=="mac"', {
|
|
52
53
|
"variables" : {
|
|
53
|
-
"dpi_check%" : "<!(INSTURL=\"https://github.
|
|
54
|
+
"dpi_check%" : "<!(INSTURL=\"https://oracle.github.io/node-oracledb/INSTALL.html#github\"; ERR=\"oracledb ERR! Error:\"; if [ -f odpi/include/dpi.h ]; then echo \"Has dpi.h\"; else echo \"$ERR Cannot find odpi/include/dpi.h. For GitHub ZIP downloads you must separately download the odpi subdirectory from GitHub.\" >&2; echo \"$ERR See $INSTURL\" >&2; echo \"\" >&2; fi;)"
|
|
54
55
|
},
|
|
55
56
|
"xcode_settings": {
|
|
56
57
|
"GCC_ENABLE_CPP_EXCEPTIONS": "YES",
|
|
@@ -62,7 +63,7 @@
|
|
|
62
63
|
[
|
|
63
64
|
'OS=="aix"', {
|
|
64
65
|
"variables" : {
|
|
65
|
-
"dpi_check%" : "<!(INSTURL=\"https://github.
|
|
66
|
+
"dpi_check%" : "<!(INSTURL=\"https://oracle.github.io/node-oracledb/INSTALL.html#github\"; ERR=\"oracledb ERR! Error:\"; if [ -f odpi/include/dpi.h ]; then echo \"Has dpi.h\"; else echo \"$ERR Cannot find odpi/include/dpi.h. For GitHub ZIP downloads you must separately download the odpi subdirectory from GitHub.\" >&2; echo \"$ERR See $INSTURL\" >&2; echo \"\" >&2; fi;)"
|
|
66
67
|
},
|
|
67
68
|
"cflags" : ['-fexceptions', '-fsigned-char'],
|
|
68
69
|
"cflags_cc" : ['-fexceptions', '-fsigned-char'],
|
|
@@ -72,7 +73,7 @@
|
|
|
72
73
|
[
|
|
73
74
|
'OS=="solaris"', {
|
|
74
75
|
"variables" : {
|
|
75
|
-
"dpi_check%" : "<!(INSTURL=\"https://github.
|
|
76
|
+
"dpi_check%" : "<!(INSTURL=\"https://oracle.github.io/node-oracledb/INSTALL.html#github\"; ERR=\"oracledb ERR! Error:\"; if [ -f odpi/include/dpi.h ]; then echo \"Has dpi.h\"; else echo \"$ERR Cannot find odpi/include/dpi.h. For GitHub ZIP downloads you must separately download the odpi subdirectory from GitHub.\" >&2; echo \"$ERR See $INSTURL\" >&2; echo \"\" >&2; fi;)"
|
|
76
77
|
},
|
|
77
78
|
"cflags" : ['-fexceptions'],
|
|
78
79
|
"cflags_cc" : ['-fexceptions'],
|