Commit Graph

401 Commits

Author SHA1 Message Date
Sharad Chandran R 740588fe62 Add support for multiple tns aliases in tnsnames.ora 2023-06-27 13:15:06 +05:30
Sharad Chandran R d7bcbe937b Code cleanup and update of release notes for 6.0.2 release 2023-06-20 16:08:42 +05:30
Sharad Chandran R 529835051e Fix for Issue #1571 - bug with getting the value of a LOB stored in a DbObject 2023-06-20 16:07:25 +05:30
Sharad Chandran R 8377cca488 Fixed bug when connecting to databses using older 11g password verifiers 2023-06-20 15:58:20 +05:30
Sharad Chandran R f7b336dd4b Fix for Issue #1576 to fetch data correctly when a chunk spans multiple packets 2023-06-20 15:53:54 +05:30
Sharad Chandran R f8f7da71fd Internal network code cleanup 2023-06-20 15:50:39 +05:30
Sharad Chandran R b0770ef16c Fix for Issue #1573 - Handle large number of outbinds 2023-06-20 15:45:59 +05:30
Sharad Chandran R de953ce418 Updated deobfuscation logic for pool credentials to improve performance 2023-06-20 15:40:24 +05:30
Sharad Chandran R ddd16d9756 Fix for Issues #1565 and #1566 and Improved Database Object support in Thin mode 2023-06-20 15:33:47 +05:30
Sharad Chandran R 6579caf89e Fix for Issues #1565 and #1566 - Bug with fetching duplicated data that spans multiple network packets 2023-06-08 19:51:12 +05:30
Sharad Chandran R 7ee8f8060f Upgrade version to 6.0.2-dev 2023-06-08 17:47:19 +05:30
Sharad Chandran R 0680e2993d Bump up to 6.0.1 release 2023-06-07 09:34:47 +05:30
Sharad Chandran R c568e231ec Ensure getStatementInfo executes statement only when needed to 2023-06-06 13:27:11 +05:30
Sharad Chandran R ae623d1e8c Add more 'Import Buffer' code as per PR #1559 of Sławomir Osoba 2023-06-05 18:15:42 +05:30
Sharad Chandran R fbeda64905 Fix cursor leak during an error 2023-06-05 18:13:17 +05:30
Sharad Chandran R c82041356e Minor protocol fixes for Thin mode 2023-06-05 18:11:04 +05:30
Sharad Chandran R 15f10c1509 Import Buffer and process modules consistently as per PR #1559of Sławomir Osoba 2023-06-05 18:07:00 +05:30
Sharad Chandran R 4c693e0d76 Handle Binding for null Boolean value 2023-06-05 16:09:52 +05:30
Sharad Chandran R 8e219449d6 Correct Packet Size check conditions 2023-06-05 16:05:29 +05:30
Sharad Chandran R 4a35cfc1b2 Improve error messages and fix for issue #1561 2023-06-05 13:19:21 +05:30
Sharad Chandran R 556553fcf3 Update Error NJS-097 2023-05-31 15:43:38 +05:30
Sharad Chandran R a020a2759c Update 6.0.1 development info and pushbug fix and patch for Issue #1554 2023-05-31 13:44:52 +05:30
Sharad Chandran R 97d785823a Bump version for release 2023-05-24 08:32:43 +05:30
Sharad Chandran R cbd914a6db Fix code to handle edge cases for pool and statement handling 2023-05-24 00:27:26 +05:30
Sharad Chandran R dc0fabba52 Pool and error optimizations and standardizations 2023-05-24 00:18:51 +05:30
Sharad Chandran R b0aa428388 Update error messages for external authentication in Thin mode and the corresponding test cases 2023-05-24 00:04:01 +05:30
Sharad Chandran R 5648672320 Improve authentication handling in Thin mode 2023-05-23 23:57:42 +05:30
Sharad Chandran R 4d05ad311a Code optimizations with DB objects and error name standardization 2023-05-23 23:24:53 +05:30
Sharad Chandran R 29b8d06549 Code optimization for UrowID 2023-05-23 23:13:43 +05:30
Sharad Chandran R 97abfbc75e Network code enhancements in Thin mode 2023-05-23 23:11:01 +05:30
Sharad Chandran R a3faee5cc0 Allow Unicode characters in Bind names for Thin mode 2023-05-23 23:02:20 +05:30
Sharad Chandran R 12a9351e1c Ensure errors from initOracleClient() have the code attribut set properly 2023-05-23 22:56:25 +05:30
Sharad Chandran R 2ae50488ef Improved Bind Support and test cases 2023-05-23 22:46:59 +05:30
Sharad Chandran R 4d7c311d2b Update DB object support in Thin mode 2023-05-23 22:39:00 +05:30
Sharad Chandran R db0a5782da Support for ORA_SDTZ env variable in Thin mode 2023-05-23 22:32:58 +05:30
Sharad Chandran R 3a9c0d9e82 Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
Sharad Chandran R 741a053558 Code changes for token and ConnectIdPrefix 2023-05-23 20:57:07 +05:30
Sharad Chandran R 73e616f335 Timezone changes 2023-05-23 20:00:48 +05:30
Sharad Chandran R a8658f059a Thin mode support and new examples 2023-05-23 19:50:06 +05:30
Sharad Chandran R 23de0e6246 Add implementation function for getConnectionsOpen() 2023-05-03 20:45:31 +05:30
Sharad Chandran R 3e65b9894f Ensure converter functions are run in the correct order 2023-05-03 20:01:22 +05:30
Sharad Chandran R c9bdeea722 Remove extraneous error attributes 2023-05-03 19:34:58 +05:30
Sharad Chandran R 99955e8a90 Code Cleanup and test refactoring 2023-05-03 19:28:48 +05:30
Sharad Chandran R a4ab0ffc7f Add new attributes for errors 2023-05-03 19:23:18 +05:30
Sharad Chandran R 095aba54cb Delete any hanging fetch type and converter metadata 2023-05-03 15:40:05 +05:30
Sharad Chandran R ac5d0d9c6d add DB_TYPE_UROWID 2023-03-14 12:25:09 +05:30
Sharad Chandran R 4512902ed2 Add new error types 2023-03-14 12:18:56 +05:30
Sharad Chandran R 1984799ff4 Add Fetch Type Handler for data customization 2023-03-14 12:16:40 +05:30
Sharad Chandran R 3d90642926 Give NJS error for callTimeout instead of DPI-1067 2023-03-14 12:08:06 +05:30
Sharad Chandran R 8c38fd6542 Restore use of C buffer for performance 2023-03-14 12:04:05 +05:30
Christopher Jones 6f31c22a7f Improve ResultSet metadata fetchtype handling 2023-02-21 17:53:18 +11:00
Christopher Jones 72fd047305 Return LOB data as LONG to improve ODPI-C handling 2023-02-21 17:53:18 +11:00
Christopher Jones 8ca832a157 Refactor hook location 2023-02-21 17:53:18 +11:00
Christopher Jones 3a72435272 Small metadata optimisation 2023-02-21 17:53:18 +11:00
Christopher Jones 81cf2df5a4 Move code from C to JS and fix fetchType 2023-02-21 17:53:18 +11:00
Christopher Jones 07750b4f44 Correct copy/paste errors 2023-02-21 17:53:18 +11:00
Christopher Jones b26ff24d07 Bump missed copyright dates 2023-02-21 17:53:18 +11:00
Christopher Jones 7b21fcf9fe Move more code from C to JavaScript 2023-02-21 17:53:18 +11:00
Christopher Jones 80082194df Remove unnecessary lines 2023-02-21 17:53:18 +11:00
Christopher Jones 340359375f Improve token authentication error handling 2023-02-21 17:53:18 +11:00
Christopher Jones 9fbb8f6fa8 Bump min version of Node.js to 14.6 to use FinalizationRegistry 2023-02-21 17:53:18 +11:00
Christopher Jones 0e3565b308 Differentiate between VARCHAR and NVARCHAR data 2023-02-21 17:53:18 +11:00
Christopher Jones 8fd73548be Update doc links to point to new doc on readthedocs 2023-02-21 17:53:18 +11:00
Christopher Jones ffd4f2c160 accessTokenCallback removal and error mapping 2023-02-21 17:53:18 +11:00
Christopher Jones 865d952868 Move constants for node-oracledb version to separate file 2023-02-21 15:10:00 +11:00
Christopher Jones fe1c2a55ff _initOracleClientArgs will be stored with user provided args 2023-02-21 15:05:33 +11:00
Christopher Jones 984d4ad7bf Update initOracleClient() error URL to readthedocs 2023-02-21 15:04:48 +11:00
Christopher Jones 472c828315 Fix merge conflict glitch 2023-02-21 15:00:55 +11:00
Christopher Jones e9b1ed4856 Bump missed copyright dates 2023-02-21 14:58:14 +11:00
Christopher Jones 6ce2d672e4 Give NJS instead of ORA error for an invalid connection privilege 2023-02-21 14:57:57 +11:00
Christopher Jones 5ee83cdaf7 Map another DPI error to an NJS error 2023-02-21 14:55:59 +11:00
Christopher Jones d0af6b28d5 Map an ORA error to an NJS error 2023-02-21 14:53:53 +11:00
Christopher Jones 91502283c8 Map an ORA error to an NJS error 2023-02-21 14:53:53 +11:00
Christopher Jones 73dbe973e1 Map another DPI error to an NJS error 2023-02-21 14:53:53 +11:00
Christopher Jones 113cdd3399 Map another ORA error to an NJS message 2023-02-21 14:53:53 +11:00
Christopher Jones 6ebf76e79e Allow mapping of DPI errors to NJS prefixed messages 2023-02-21 14:53:53 +11:00
Christopher Jones 93dcfb58fe Move pool size error to NJS prefixed message 2023-02-21 14:22:36 +11:00
Christopher Jones 61624b11d5 Only perform a stack capture if it is required 2023-02-21 13:57:36 +11:00
Christopher Jones 6ccd58e146 Version should be 6.0.0, not 5.5.0 2023-02-21 13:53:45 +11:00
Christopher Jones ddfd50f136 More C to JS conversion 2023-02-21 13:50:27 +11:00
Christopher Jones 1b75043699 Move more code from C to JS 2023-02-21 13:48:15 +11:00
Christopher Jones 7bc61d3b4a Improve initOracleClient() error messages 2023-02-21 12:50:09 +11:00
Christopher Jones b52590f583 Update installer 2023-02-21 12:48:31 +11:00
Christopher Jones 6182198352 Fix require() statements to avoid relative paths 2023-02-21 12:47:14 +11:00
Christopher Jones 8c1e05a5c0 Update call to use new errors.throwErr() helper 2023-02-21 12:46:36 +11:00
Christopher Jones bb027af2d2 Improve token authentication error messages 2023-02-21 12:45:51 +11:00
Christopher Jones 1de6451fae Re-license as dual Apache 2.0 or UPL 1.0 2023-02-21 12:43:43 +11:00
Christopher Jones 58abcd04f1 Add Implementation classes 2023-02-21 12:33:06 +11:00
Christopher Jones 74c82f42a0 Code simplification 2023-02-21 12:14:13 +11:00
Christopher Jones 7665061280 Rework how errors are thrown 2023-02-21 12:13:36 +11:00
Christopher Jones 7126ff0c9a Bump minimum Node.js version to 14 (Node-API v6) 2023-02-21 11:07:24 +11:00
Christopher Jones 2f67d329e9 Always return extended metadata for queries 2023-02-21 10:58:42 +11:00
Christopher Jones 7d9fc13bd8 Start moving code from C to JavaScript 2023-02-21 10:44:26 +11:00
Christopher Jones 0d328cf09a Add OAuth 2.0 token based authentication 2022-09-08 16:45:12 +10:00
Christopher Jones bbd87da20e Support ResultSet async iteration 2022-08-12 14:17:46 +10:00
Christopher Jones 0281584b6a Fix error handling in pool creation with IAM token authentication 2022-08-12 14:02:47 +10:00
Christopher Jones aee42a47b1 Add IAM Token based authentication 2022-06-07 22:19:23 +10:00
Christopher Jones 7e062fc31a Update template text 2022-05-17 13:16:40 +10:00
Christopher Jones f55c1341b9 Added internal _closing flag in connection object 2022-04-19 09:51:24 +10:00
Christopher Jones ca165e95b8 Capture the error stack 2022-04-19 09:45:45 +10:00
Christopher Jones 3199498442 Keep the method name in internally bound functions 2022-04-19 09:42:29 +10:00
Christopher Jones a4faa25bbb Fix initOracleClient() with TypeScript 4.4 (Issue #1462) 2022-03-11 09:55:20 +11:00
Christopher Jones 183396c28b Added a method connection.isHealthy() 2022-02-23 12:04:59 +11:00
Christopher Jones 590a51a480 Add two-phase commit API 2021-10-21 19:00:42 +11:00
Christopher Jones dd3d3568ba Fix TypeScript 4.4's imported function behavior with 'this' 2021-10-11 13:53:41 +11:00
Christopher Jones 31030c2bb4 Fix attr in check preventing intermingling of querystream and getrow 2021-10-11 13:53:38 +11:00
Christopher Jones 84f0fdd6a0 Fix logical error handling with queryStream() (Issue #1391) 2021-08-01 09:39:42 +10:00
Christopher Jones fb1d28a046 Added PoolStatistics class 2021-08-01 09:37:44 +10:00
Christopher Jones b7abd67128 Fix pool queue dequeuing loop
This resolves a problem introduced with the pool.reconfigure() enhancement.
2021-06-04 08:36:52 +10:00
Christopher Jones d4ca9840f5 Added pool.reconfigure() 2021-05-29 09:48:28 +10:00
Christopher Jones 61914c61bb Added support SODA operation hints 2021-05-20 16:53:28 +10:00
Christopher Jones f4e88cbca2 Pool queue stats were not updated for timed-out requests 2021-05-20 16:43:39 +10:00
Christopher Jones 82bee99d72 Follow API rebranding to Node-API 2021-05-20 16:41:20 +10:00
Christopher Jones 6700e39f64 Serialize concurrent operations on a connection in JS 2021-05-03 15:10:09 +10:00
Christopher Jones 8cbd79f3d0 Fixed queueTimeout of 0 (Issue #1338) 2021-04-13 13:32:11 +10:00
Christopher Jones 98c9820053 Enforce stricter JS coding style rules 2021-04-01 15:48:37 +11:00
Christopher Jones 347cade8c7 Refactor sodaMetaDataCache 2021-04-01 11:41:25 +11:00
Christopher Jones 1f59ac16da Add SODA metadata cache support 2021-03-30 09:20:21 +11:00
Christopher Jones 3b21ff17f2 Update URLs and help usage 2021-03-29 15:30:33 +11:00
Christopher Jones 56f2da356e Use unique event names to reduce dev confusion 2021-03-25 11:55:38 +11:00
Christopher Jones 881f238d55 Fixed computation of pool.minTimeInQueue metrics 2021-03-17 10:42:26 +11:00
Christopher Jones f6d9792cc3 Let getRows() return all rows in one call 2021-02-10 18:43:29 +11:00
Christopher Jones 253f570e07 Update code comment 2020-11-29 09:38:47 +11:00
Christopher Jones eb17c29bd7 Add dbObjectAsPojo property 2020-11-19 13:06:47 +11:00
Christopher Jones 1a3572b237 Remove obsolete macOS error help text referencing ~/lib 2020-09-09 09:10:00 +10:00
Christopher Jones f1f8a3c7ec Let queueMax:0 disable queuing 2020-06-20 09:32:27 +10:00
Christopher Jones 161dc0c841 Add oracledb.initOracleClient() for Oracle Client initialization 2020-06-03 14:14:49 +10:00
Christopher Jones 339926c767 Support SODA fetch array size 2020-03-28 11:22:19 +11:00
Christopher Jones 0c2c0628f5 Fixed Lob class destroy() 2020-03-21 08:12:46 +11:00
Christopher Jones a3f720bf36 Ensure nested cursors are not closed too early 2020-03-14 10:14:18 +11:00
Christopher Jones 53022d1e89 Update ODPI-C 2020-03-12 16:38:05 +11:00
Christopher Jones fd293d7614 Add pool.queueMax (Issue #514) 2020-03-07 10:56:19 +11:00
Christopher Jones adc3ec16be Add metadata for non-ResultSet nested cursors 2020-02-29 09:34:53 +11:00
Christopher Jones 35170fec43 Make nested cursor array iteration safer
This avoids issues like setting Object.prototype.foo = some_value
2020-02-29 09:26:54 +11:00
Christopher Jones 940e07b653 Remove obsolete variable 2020-02-28 10:50:03 +11:00
Christopher Jones 78c709b540 Add support for nested cursors 2020-02-26 13:43:33 +11:00
Christopher Jones 492c911e03 Add support for SODA collection truncation 2020-02-20 12:43:44 +11:00
Christopher Jones bed64e07df Add DB startup and shutdown functionality 2020-02-18 16:31:38 +11:00
Christopher Jones 09ddb74d02 Added SODA collection save() and saveAndGet() functions 2020-02-16 11:20:47 +11:00
Christopher Jones 58b582bf2d Refactored JavaScript implementation to use async/await 2020-02-16 11:06:45 +11:00
Christopher Jones 13727173a7 Bind type updates with support for NCHAR and others 2020-01-22 12:15:34 +11:00
Christopher Jones ed55a78c82 Update Lob streaming best practice doc 2020-01-22 12:12:17 +11:00
Christopher Jones e90d75a3d8 Make sharded pool connections respect queueTimeout when poolMaxPerShard has been reached 2020-01-22 12:07:31 +11:00
Christopher Jones 1643fe2f57 Augment binary module search to aid Webpack use 2020-01-22 12:05:36 +11:00
Christopher Jones a3b8fc8e90 Add Oracle Database Sharding support 2019-11-22 10:54:29 +11:00
Christopher Jones c3e3fafc66 Rename querystream.js to match camelCase names of other files 2019-11-22 10:54:29 +11:00
Christopher Jones 90a50dca57 Correct use of close event in queryStream() samples and doc 2019-11-22 10:54:28 +11:00
Christopher Jones d81b40a4dd Lint files 2019-11-22 10:54:28 +11:00
Christopher Jones c214f37582 Make date change for alternative JS frameworks work with Node 8 2019-11-22 10:54:28 +11:00
Christopher Jones 28adf00d8b Simplify recent error message refactoring 2019-11-22 10:54:22 +11:00
Christopher Jones 51c0b81681 Fix regression when binding dates with alternate JavaScript frameworks 2019-11-22 10:54:22 +11:00
Christopher Jones ee69019505 Refactor argument error message handling 2019-11-22 10:54:22 +11:00
Christopher Jones 29baa93978 Eliminate a JavaScript memory leak 2019-11-22 10:54:21 +11:00
Christopher Jones 4d78d4518e Improve function comment 2019-07-24 17:32:31 +10:00
Christopher Jones 4b52ced50b Tidy up empty array errors in con.executeMany() and coll.insertMany() 2019-07-24 17:32:31 +10:00
Christopher Jones 98237c49ca Eliminate eslint warning 2019-07-24 17:32:30 +10:00
Christopher Jones 24aeb1591e Fix setting collection element directly. Add VARRAY tests 2019-07-24 17:32:30 +10:00
Christopher Jones 908e10d76f Lint updates 2019-07-24 17:32:29 +10:00
Christopher Jones 218310ab9e Improve toString behavior of DbObjects 2019-07-24 17:32:29 +10:00
Christopher Jones 77a0ad92df Rename connection.queue() to connection.getQueue() 2019-07-24 17:32:29 +10:00
Christopher Jones 4b27bcbeaa First merge of named Oracle type query and binding support 2019-07-24 17:32:28 +10:00
Christopher Jones 5872977300 Lint JS files 2019-07-24 17:32:27 +10:00
Christopher Jones e3d1a69848 Bump the miniumum Node.js version required to 8.16 2019-07-24 17:32:27 +10:00
Christopher Jones 8ea69fddb1 Rename lob.getValue() to lob.getData() 2019-07-24 17:32:27 +10:00
Christopher Jones 09e85ac4b7 Added lob.getValue() to get a Lobs data without having to stream it 2019-07-24 17:32:27 +10:00
Christopher Jones 2937ed2d0e Add support for Implict Results 2019-07-24 17:32:26 +10:00
Christopher Jones da300b7805 Add AQ support for RAW queues 2019-07-24 17:32:26 +10:00
Christopher Jones 8437e3e187 Ensure that pool.status property is read-only 2019-07-24 17:32:26 +10:00
Christopher Jones 37c31fca36 Remove unnecessary setters from read-only properties 2019-07-24 17:32:25 +10:00
Christopher Jones 93a8d8901f sodaCollection.metaData should be an Object, as documented 2019-07-24 17:32:25 +10:00
Christopher Jones d226f86351 Improve queue timeout error (NJS-040) message 2019-07-24 17:32:25 +10:00
Christopher Jones e7b4c5d1a8 Added SODA bulk insert available with Oracle Client 18.5+ 2019-07-24 17:32:25 +10:00
Christopher Jones 0dbbfa0c33 Fixed writing multi-byte chars to CLOBs when multiple writes occur 2019-07-24 17:32:24 +10:00
Christopher Jones 7a781a24dd Update JavaScript syntax to "let" and "const" 2019-07-24 17:32:24 +10:00
Christopher Jones 7e54527595 Replace NJS-006 with NJS-005 & NJS-008 with NJS-007 to avoid type/value confusion 2019-07-24 17:32:23 +10:00
Christopher Jones 23d5bc4faa Removed obsolete error messages 2019-07-24 17:32:23 +10:00
Christopher Jones f9663c3be9 Refactor to use N-API instead of NAN 2019-07-24 17:32:19 +10:00
Christopher Jones 339e87cd62 Fix error message for invalid use of SODA metaData 2019-02-08 12:42:12 +11:00
Christopher Jones 52356d711a Install now keeps all binaries; chooose at runtime 2019-01-15 08:14:43 +11:00
Christopher Jones fe91c7c2b2 Pass empty string not undefined to sessionCallback 2019-01-11 08:56:46 +11:00
Christopher Jones 5b6b9f3116 Add connection.tag property for connection retagging 2019-01-09 13:27:13 +11:00
Christopher Jones 2ec349baec Support connection pool session state fixup and tagging 2019-01-04 08:55:45 +11:00
Christopher Jones ac72c592f1 Change install to use a pre-built binary from the npm package 2018-12-07 16:31:23 +11:00
Christopher Jones 1709700c08 Lint fixes 2018-12-04 16:53:29 +11:00
Christopher Jones 5eda22f318 Defer loading Oracle Client until the first connection or session pool is created (#983) 2018-11-27 13:51:39 +11:00
Christopher Jones 11ab50dc1a Fixed typo so createIndex() with no parameter displays correct error 2018-11-26 15:01:33 +11:00
Christopher Jones 70e8bc9240 Added new APIs for Simple Oracle Document Access (SODA) 2018-09-27 15:00:21 +10:00
Christopher Jones 261bae103e Use switch-style of arg validation to fix lint errors 2018-09-27 15:00:21 +10:00
Christopher Jones b884315e72 Bump copyright 2018-09-27 15:00:20 +10:00
Christopher Jones 499998211d Added drainTime to pool.close() PR #950 (Danilo Silva) 2018-09-04 08:09:07 +10:00
Christopher Jones 0e8c05e3fa lint JS files 2018-09-04 08:07:07 +10:00
Christopher Jones 79ad097ce8 Verify the executeMany() iterations value is a positive integer 2018-08-22 13:26:42 +10:00
Christopher Jones a4e594f00e Remove queueRequests. Use WAIT mode in C++. Needed for 18c clients 2018-06-27 16:41:38 +10:00
Christopher Jones f7855ce76b Allow number of executeMany() iterations to be specified 2018-06-27 16:38:48 +10:00
Christopher Jones ffd4a9a63d Tighten conn.subscribe() argument checking 2018-06-05 18:26:30 +10:00
Christopher Jones a61c813421 lint fix - indentation 2018-05-30 11:19:16 +10:00
Christopher Jones 4f13e31004 Add Continuous Query Notification (CQN) support 2018-05-30 11:18:42 +10:00
Christopher Jones 00f7d99394 Set emitClose to prevent duplicate close event with Node 10 2018-05-22 14:53:21 +10:00
Christopher Jones 797d76fcfc Connection pool improvements: support heterogeneous and proxy connections 2018-05-22 14:48:16 +10:00
Christopher Jones 7e15f21cfc Add connection.executeMany() for batch statement execution 2018-03-27 17:05:27 +11:00