oracledb 6.10.0 → 7.0.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.
Files changed (90) hide show
  1. package/LICENSE.txt +1 -1
  2. package/NOTICE.txt +1 -1
  3. package/README.md +9 -9
  4. package/build/Release/oracledb-7.0.1-darwin-arm64.node +0 -0
  5. package/build/Release/oracledb-7.0.1-darwin-arm64.node-buildinfo.txt +1 -0
  6. package/build/Release/oracledb-7.0.1-js-buildinfo.txt +1 -0
  7. package/build/Release/oracledb-7.0.1-linux-arm64.node +0 -0
  8. package/build/Release/oracledb-7.0.1-linux-arm64.node-buildinfo.txt +1 -0
  9. package/build/Release/oracledb-7.0.1-linux-x64.node +0 -0
  10. package/build/Release/oracledb-7.0.1-linux-x64.node-buildinfo.txt +1 -0
  11. package/build/Release/oracledb-7.0.1-win32-x64.node +0 -0
  12. package/build/Release/oracledb-7.0.1-win32-x64.node-buildinfo.txt +1 -0
  13. package/lib/aqDeqOptions.js +4 -4
  14. package/lib/aqEnqOptions.js +2 -2
  15. package/lib/aqQueue.js +11 -6
  16. package/lib/connection.js +407 -40
  17. package/lib/endUserSecurityContext.js +169 -0
  18. package/lib/errors.js +108 -5
  19. package/lib/impl/connection.js +76 -2
  20. package/lib/impl/datahandlers/buffer.js +19 -5
  21. package/lib/impl/datahandlers/vector.js +25 -5
  22. package/lib/impl/lob.js +9 -0
  23. package/lib/impl/parserHelpers.js +447 -0
  24. package/lib/impl/resultset.js +1 -1
  25. package/lib/lob.js +27 -14
  26. package/lib/obfuscation.js +97 -0
  27. package/lib/oracledb.js +148 -43
  28. package/lib/parser.js +204 -0
  29. package/lib/pipeline.js +113 -0
  30. package/lib/pool.js +16 -1
  31. package/lib/resultset.js +42 -21
  32. package/lib/settings.js +1 -0
  33. package/lib/thin/connection.js +461 -53
  34. package/lib/thin/dbObject.js +10 -4
  35. package/lib/thin/lob.js +20 -1
  36. package/lib/thin/pool.js +43 -63
  37. package/lib/thin/protocol/capabilities.js +18 -3
  38. package/lib/thin/protocol/constants.js +82 -2
  39. package/lib/thin/protocol/encryptDecrypt.js +43 -8
  40. package/lib/thin/protocol/messages/aqArray.js +2 -2
  41. package/lib/thin/protocol/messages/aqBase.js +2 -2
  42. package/lib/thin/protocol/messages/auth.js +6 -1
  43. package/lib/thin/protocol/messages/base.js +246 -5
  44. package/lib/thin/protocol/messages/dataType.js +8 -3
  45. package/lib/thin/protocol/messages/directPathLoadStream.js +377 -0
  46. package/lib/thin/protocol/messages/directPathOp.js +65 -0
  47. package/lib/thin/protocol/messages/directPathPrepare.js +158 -0
  48. package/lib/thin/protocol/messages/endPipeline.js +56 -0
  49. package/lib/thin/protocol/messages/execute.js +9 -7
  50. package/lib/thin/protocol/messages/index.js +9 -1
  51. package/lib/thin/protocol/messages/protocol.js +2 -2
  52. package/lib/thin/protocol/messages/withData.js +10 -143
  53. package/lib/thin/protocol/packet.js +115 -24
  54. package/lib/thin/protocol/protocol.js +110 -25
  55. package/lib/thin/protocol/utils.js +1 -26
  56. package/lib/thin/resultSet.js +13 -19
  57. package/lib/thin/sqlnet/ezConnectResolver.js +4 -4
  58. package/lib/thin/sqlnet/navNodes.js +4 -2
  59. package/lib/thin/sqlnet/networkSession.js +78 -50
  60. package/lib/thin/sqlnet/ntTcp.js +24 -0
  61. package/lib/thin/sqlnet/nvStrToNvPair.js +50 -25
  62. package/lib/thin/sqlnet/packet.js +49 -8
  63. package/lib/thin/sqlnet/paramParser.js +10 -7
  64. package/lib/thin/sqlnet/sessionAtts.js +2 -2
  65. package/lib/thin/statementCache.js +2 -4
  66. package/lib/traceHandler.js +59 -2
  67. package/lib/transformer.js +8 -3
  68. package/lib/types.js +35 -21
  69. package/lib/util.js +6 -6
  70. package/lib/version.js +4 -4
  71. package/package/install.js +5 -5
  72. package/package/prunebinaries.js +1 -1
  73. package/package.json +1 -1
  74. package/plugins/configProviders/awsCommon.js +125 -0
  75. package/plugins/configProviders/awss3/index.js +138 -0
  76. package/plugins/configProviders/awssecretsmanager/index.js +147 -0
  77. package/plugins/configProviders/azure/index.js +4 -5
  78. package/plugins/token/extensionAzure/index.js +0 -1
  79. package/plugins/token/extensionOci/index.js +0 -1
  80. package/build/Release/oracledb-6.10.0-darwin-arm64.node +0 -0
  81. package/build/Release/oracledb-6.10.0-darwin-arm64.node-buildinfo.txt +0 -1
  82. package/build/Release/oracledb-6.10.0-darwin-x64.node +0 -0
  83. package/build/Release/oracledb-6.10.0-darwin-x64.node-buildinfo.txt +0 -1
  84. package/build/Release/oracledb-6.10.0-js-buildinfo.txt +0 -1
  85. package/build/Release/oracledb-6.10.0-linux-arm64.node +0 -0
  86. package/build/Release/oracledb-6.10.0-linux-arm64.node-buildinfo.txt +0 -1
  87. package/build/Release/oracledb-6.10.0-linux-x64.node +0 -0
  88. package/build/Release/oracledb-6.10.0-linux-x64.node-buildinfo.txt +0 -1
  89. package/build/Release/oracledb-6.10.0-win32-x64.node +0 -0
  90. package/build/Release/oracledb-6.10.0-win32-x64.node-buildinfo.txt +0 -1
package/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2015, 2025 Oracle and/or its affiliates.
1
+ Copyright (c) 2015, 2026, Oracle and/or its affiliates.
2
2
 
3
3
  This software is dual-licensed to you under the Universal Permissive License
4
4
  (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl and Apache License
package/NOTICE.txt CHANGED
@@ -1 +1 @@
1
- Copyright (c) 2015, 2025, Oracle and/or its affiliates.
1
+ Copyright (c) 2015, 2026, Oracle and/or its affiliates.
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
- # node-oracledb version 6.10.0 <img src="https://img.shields.io/npm/v/oracledb.svg" alt="oracledb"/> <img src="https://img.shields.io/npm/dm/oracledb.svg" alt="oracledb"/>
1
+ # node-oracledb version 7.0.1 <img src="https://img.shields.io/npm/v/oracledb.svg" alt="oracledb"/> <img src="https://img.shields.io/npm/dm/oracledb.svg" alt="oracledb"/>
2
2
 
3
3
  The node-oracledb add-on for Node.js powers high performance Oracle Database
4
4
  applications. Applications can be written in TypeScript, or directly in
5
5
  JavaScript.
6
6
 
7
- Use node-oracledb 6.10.0 to connect Node.js 14.17, or later, to Oracle
7
+ Use node-oracledb 7.0.1 to connect Node.js 14.17, or later, to Oracle
8
8
  Database. Older versions of node-oracledb may work with older versions of
9
9
  Node.js.
10
10
 
@@ -39,17 +39,17 @@ See [Getting Started with Node-oracledb][1] and [Quick Start Node-oracledb Insta
39
39
  **Thick mode**: Some advanced Oracle Database functionality is currently only
40
40
  available when optional Oracle Client libraries are loaded by
41
41
  node-oracledb. Libraries are available in the free [Oracle Instant
42
- Client][15] packages. Node-oracledb can use Oracle Client
43
- libraries 11.2 through 23ai.
42
+ Client][15] packages. Node-oracledb can use Oracle Client libraries version
43
+ 19 and later.
44
44
 
45
45
  - Oracle Database
46
46
 
47
47
  **Thin mode**: Oracle Database 12.1 (or later) is required.
48
48
 
49
- **Thick mode**: Oracle Database 9.2 (or later) is required, depending on the
49
+ **Thick mode**: Oracle Database 11.2 (or later) is required, depending on the
50
50
  Oracle Client library version. Oracle Database's standard client-server
51
51
  version interoperability allows connection to both older and newer
52
- databases. For example when node-oracledb uses Oracle Client 19c libraries,
52
+ databases. For example, when node-oracledb uses Oracle Client 19c libraries,
53
53
  then it can connect to Oracle Database 11.2 or later.
54
54
 
55
55
  ## Documentation
@@ -63,8 +63,8 @@ See the [examples][7] directory. Start with [examples/example.js][8].
63
63
 
64
64
  ## Help
65
65
 
66
- Questions about node-oracledb can be posted on [GitHub][3] or [Slack][5] ([link
67
- to join Slack][6]).
66
+ Questions and issues with node-oracledb can be posted on [GitHub][3] or
67
+ [Slack][5] ([link to join Slack][6]).
68
68
 
69
69
  ## <a name="testing"></a> Tests
70
70
 
@@ -82,7 +82,7 @@ vulnerability disclosure process.
82
82
 
83
83
  ## License
84
84
 
85
- Copyright (c) 2015, 2025, Oracle and/or its affiliates.
85
+ Copyright (c) 2015, 2026, Oracle and/or its affiliates.
86
86
 
87
87
  This software is dual-licensed to you under the Universal Permissive License
88
88
  (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl and Apache License
@@ -0,0 +1 @@
1
+ oracledb-7.0.1-darwin-arm64.node v24.11.1 6a91ac655ae2460fb19c2227f62d85e02b98cd54 a8d9752420b96d37d5a76c8a5d371abdb95c6cba Thu, 09 Jul 2026 10:04:02 GMT
@@ -0,0 +1 @@
1
+ 6a91ac655ae2460fb19c2227f62d85e02b98cd54
@@ -0,0 +1 @@
1
+ oracledb-7.0.1-linux-arm64.node v22.22.2 6a91ac655ae2460fb19c2227f62d85e02b98cd54 a8d9752420b96d37d5a76c8a5d371abdb95c6cba Thu, 09 Jul 2026 12:01:11 GMT
@@ -0,0 +1 @@
1
+ oracledb-7.0.1-linux-x64.node v22.19.0 6a91ac655ae2460fb19c2227f62d85e02b98cd54 a8d9752420b96d37d5a76c8a5d371abdb95c6cba Thu, 09 Jul 2026 11:59:00 GMT
@@ -0,0 +1 @@
1
+ oracledb-7.0.1-win32-x64.node v22.17.1 6a91ac655ae2460fb19c2227f62d85e02b98cd54 a8d9752420b96d37d5a76c8a5d371abdb95c6cba Thu, 09 Jul 2026 11:58:36 GMT
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2019, 2025, Oracle and/or its affiliates.
1
+ // Copyright (c) 2019, 2026, Oracle and/or its affiliates.
2
2
 
3
3
  //-----------------------------------------------------------------------------
4
4
  //
@@ -56,7 +56,7 @@ class AqDeqOptions {
56
56
  }
57
57
 
58
58
  set consumerName(value) {
59
- errors.assertPropValue(typeof value === 'string', "consumerName");
59
+ errors.assertPropLength(value, "string", 128, "consumerName");
60
60
  this._impl.setConsumerName(value);
61
61
  }
62
62
 
@@ -70,7 +70,7 @@ class AqDeqOptions {
70
70
  }
71
71
 
72
72
  set correlation(value) {
73
- errors.assertPropValue(typeof value === 'string', "correlation");
73
+ errors.assertPropLength(value, "string", 128, "correlation");
74
74
  this._impl.setCorrelation(value);
75
75
  }
76
76
 
@@ -148,7 +148,7 @@ class AqDeqOptions {
148
148
  }
149
149
 
150
150
  set transformation(value) {
151
- errors.assertPropValue(typeof value === 'string', "transformation");
151
+ errors.assertPropLength(value, "string", 128, "transformation");
152
152
  this._impl.setTransformation(value);
153
153
  }
154
154
 
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2019, 2022, Oracle and/or its affiliates.
1
+ // Copyright (c) 2019, 2026, Oracle and/or its affiliates.
2
2
 
3
3
  //-----------------------------------------------------------------------------
4
4
  //
@@ -57,7 +57,7 @@ class AqEnqOptions {
57
57
  }
58
58
 
59
59
  set transformation(value) {
60
- errors.assertPropValue(typeof value === 'string', "transformation");
60
+ errors.assertPropLength(value, "string", 128, "transformation");
61
61
  this._impl.setTransformation(value);
62
62
  }
63
63
 
package/lib/aqQueue.js CHANGED
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2019, 2025, Oracle and/or its affiliates.
1
+ // Copyright (c) 2019, 2026, Oracle and/or its affiliates.
2
2
 
3
3
  //-----------------------------------------------------------------------------
4
4
  //
@@ -104,15 +104,15 @@ class AqQueue {
104
104
 
105
105
  // validate options, if applicable
106
106
  if (message.correlation !== undefined) {
107
- errors.assertParamPropValue(typeof message.correlation === 'string', 1,
107
+ errors.assertPropLength(message.correlation, "string", 128,
108
108
  "correlation");
109
109
  }
110
110
  if (message.delay !== undefined) {
111
111
  errors.assertParamPropValue(Number.isInteger(message.delay), 1, "delay");
112
112
  }
113
113
  if (message.exceptionQueue !== undefined) {
114
- errors.assertParamPropValue(typeof message.exceptionQueue === 'string',
115
- 1, "exceptionQueue");
114
+ errors.assertPropLength(message.exceptionQueue, "string", 128,
115
+ "exceptionQueue");
116
116
  }
117
117
  if (message.expiration !== undefined) {
118
118
  errors.assertParamPropValue(Number.isInteger(message.expiration), 1,
@@ -123,8 +123,13 @@ class AqQueue {
123
123
  "priority");
124
124
  }
125
125
  if (message.recipients !== undefined) {
126
- errors.assertParamPropValue(nodbUtil.isArrayOfStrings(message.recipients),
127
- 1, "recipients");
126
+ // Check recipients length and type
127
+ errors.assertPropLength(message.recipients, "array", 1024, "recipients");
128
+ // Check value and length of each recipient
129
+ message.recipients.forEach((recipient, index) => {
130
+ errors.assertPropLength(recipient, "string", 128,
131
+ `recipient at index ${index}`);
132
+ });
128
133
  }
129
134
 
130
135
  return message;