Overview of node-oracledb functional tests 1. connection.js 1.1 can run SQL query with different output formats 1.1.1 ARRAY format by default 1.1.2 ARRAY format explicitly 1.1.3 OBJECT format 1.1.4 Negative test - invalid outFormat value 1.2 can call PL/SQL procedures 1.2.1 bind parameters in various ways 1.3 statementCacheSize controls statement caching 1.3.1 stmtCacheSize = 0, which disable statement caching 1.3.2 works well when statement cache enabled (stmtCacheSize > 0) 1.4 Testing commit() & rollback() functions 1.4.1 commit() function works well 1.4.2 rollback() function works well 1.5 Close method 1.5.1 close can be used as an alternative to release 1.6 connectionString alias 1.6.1 allows connectionString to be used as an alias for connectString 1.7 privileged connections 1.7.1 Negative value - null 1.7.2 Negative - invalid type, a String 1.7.3 Negative value - random constants 1.7.4 Negative value - NaN 1.7.5 gets ignored when acquiring a connection from Pool 1.8 Ping method 1.8.1 ping() checks the connection is usable 1.8.2 closed connection 1.9 connectString & connectionString specified 1.9.1 both connectString & ConnectionString specified 1.10 user & username specified 1.10.1 both user & username specified 1.10.2 allows username to be used as an alias for user 1.10.3 uses username alias to login with SYSDBA privilege 2. pool.js 2.1 default setting 2.1.1 testing default values of pool properties 2.2 poolMin 2.2.1 poolMin cannot be a negative number 2.2.2 poolMin must be a Number 2.2.3 poolMin cannot greater than poolMax 2.2.4 (poolMin + poolIncrement) can equal to poolMax 2.3 poolMax 2.3.1 poolMax cannot be a negative value 2.3.2 poolMax cannot be 0 2.3.3 poolMax must be a number 2.3.4 poolMax limits the pool capacity 2.3.4 poolMax and poolMin actually limit the pool size 2.4 poolIncrement 2.4.1 poolIncrement cannot be a negative value 2.4.2 poolIncrement must be a Number 2.4.3 the amount of open connections equals to poolMax when (connectionsOpen + poolIncrement) > poolMax 2.5 poolTimeout 2.5.1 poolTimeout cannot be a negative number 2.5.2 poolTimeout can be 0, which disables timeout feature 2.5.3 poolTimeout must be a number 2.6 stmtCacheSize 2.6.1 stmtCacheSize cannot be a negative value 2.6.2 stmtCacheSize can be 0 2.6.3 stmtCacheSize must be a Number 2.7 getConnection 2.7.1 passes error in callback if called after pool is terminated and a callback is provided 2.8 connection queueing 2.8.1 basic case 2.8.2 generates NJS-040 if request is queued and queueTimeout expires 2.8.3 generates NJS-076 if request exceeds queueMax 2.8.4 generates NJS-076 if request exceeds queueMax 0 2.8.5 request queue never terminate for queueTimeout set to 0 2.8.6 queueMax range check, queueMax -1 2.8.7 queueMax range check, queueMax -0.5 not an integer 2.9 _enableStats & _logStats functionality 2.9.1 does not work after the pool has been terminated 2.10 Close method 2.10.1 close can be used as an alternative to release 2.11 Invalid Credential 2.11.1 error occurs at creating pool when poolMin >= 1 2.11.2 error occurs at getConnection() when poolMin is the default value 0 2.12 connectionString alias 2.12.1 allows connectionString to be used as an alias for connectString 2.13 connectString & connectionString provided 2.13.1 both connectString & connectionString provided 2.14 username alias 2.14.1 allows username to be used as an alias for user 2.14.2 both user and username specified 2.14.3 uses username alias to login with SYSDBA privilege 2.15 creation time non editable properties 2.15.1 default edition value 2.15.2 ORA$BASE edition value 2.15.3 default value for events - undefined 2.15.4 events - false 2.15.5 events - true 2.15.6 externalAuth - default undefined 2.15.7 externalAuth - true 2.15.8 externalAuth - false 2.15.9 homogeneous - default true 2.15.10 homogeneous - true 2.15.11 homogeneous - false 2.15.12 user name 2.15.13 user name - undefined 2.15.14 connectString 2.16 Pool non-configurable properties global/local override 2.16.1 edition only globally set 2.16.2 edition override 2.16.3 edition override to empty string 2.16.4 events override to true 2.16.5 events override to false 2.16.6 externalAuth override to false 2.16.7 externalAuth override to true 3. examples.js 3.1 connect.js 3.1.1 tests a basic connection to the database 3.2 version.js 3.2.1 shows the node-oracledb version attributes 3.3 select1.js & select2.js 3.3.1. execute a basic query 3.3.2. execute queries to show array and object formats 3.4 selectjson.js - 12.1.0.2 feature 3.4.1 Selecting JSON stored in a VARCHAR2 column 3.4.2 Using JSON_VALUE to extract a value from a JSON column 3.4.3 Using JSON_OBJECT to extract relational data as JSON 3.5 date.js 3.5.1 inserts and query DATE and TIMESTAMP columns 3.6 rowlimit.js 3.6.1 shows ways to limit the number of records fetched by queries 3.7 plsqlproc.js and plsqlfun.js 3.7.1 calling PL/SQL procedure and binding parameters in various ways 3.7.2 calling PL/SQL function 3.8 insert1.js 3.8.1 creates a table and inserts data 3.9 insert2.js 3.9.1 tests the auto commit behavior 3.10 resultset.js 3.10.1 resultset1.js - getRow() function 3.10.2 resultset2.js - getRows() function 3.11 refcursor.js 3.11.1 REF CURSOR 4. binding.js 4.1 test STRING, NUMBER, ARRAY & JSON format 4.1.1 VARCHAR2 binding, Object & Array formats 4.1.2 NUMBER binding, Object & Array formats 4.1.3 Multiple binding values, Object & Array formats 4.1.4 Multiple binding values, Change binding order 4.1.5 default bind type - STRING 4.2 mixing named with positional binding 4.2.1 array binding is ok 4.2.2 array binding with mixing JSON should throw an error 4.3 insert with DATE column and DML returning 4.3.1 passes in object syntax without returning into 4.3.2 passes in object syntax with returning into 4.3.3 passes in array syntax without returning into 4.3.4 should pass but fail in array syntax with returning into 4.4 test maxSize option 4.4.1 outBind & maxSize restriction 4.4.2 default value is 200 4.4.3 Negative - bind out data exceeds default length 4.4.4 maximum value is 32767 4.5 The default direction for binding is BIND_IN 4.5.1 DML default bind 4.5.2 negative DML invalid bind direction 4.6 PL/SQL block with empty outBinds 4.6.1 4.7 Value as JSON named/unamed test cases 4.7.1 valid case when numeric values are passed as it is 4.7.2 Valid values when one of the value is passed as JSON 4.7.3 Valid test case when one of the value is passed as JSON 4.7.4 Valid Test case when both values are passed as JSON 4.7.5 Invalid Test case when value is passed as named JSON 4.7.6 Invalid Test case when other-value is passed as named JSON 4.7.7 Invalid Test case when all values is passed as named JSON 4.8 bind DATE 4.8.1 binding out in Object & Array formats 4.8.2 BIND_IN 4.8.3 BIND_INOUT 5. externalAuth.js 5.1 tests that work both when DB has configured externalAuth and not configured 5.1.1 can get connection from oracledb with correct user/password when externalAuth is disabled 5.1.2 throws error when getting connection from oracledb with correct user/password when externalAuth is enabled 5.1.3 throws error when gettting connection from oracledb given only invalid 'user' when externalAuth is enabled 5.1.4 throws error when gettting connection from oracledb given only 'password' when externalAuth is enabled 5.1.5 can get pool from oracledb with user/password when externalAuth is disabled 5.1.6 throws error when getting pool from oracledb given user/password when externalAuth is enabled 5.1.7 throws error when getting pool from oracledb only given username when externalAuth is enabled 5.1.8 throws error when getting pool from oracledb only given password when externalAuth is enabled 5.2 tests only work when externalAuth is configured on DB 5.2.1 can get connection from oracledb with external authentication 5.2.2 can get pool from oracledb with external authentication 5.2.3 gets multiple connections from oracledb 5.2.4 gets multiple pools from oracledb 6. dmlReturning.js 6.1 NUMBER & STRING driver data type 6.1.1 INSERT statement with Object binding 6.1.2 INSERT statement with Array binding 6.1.3 INSERT statement with small maxSize restriction 6.1.4 UPDATE statement with single row matched 6.1.5 UPDATE statement with single row matched & Array binding 6.1.6 UPDATE statements with multiple rows matched 6.1.7 UPDATE statements with multiple rows matched & Array binding 6.1.8 DELETE statement with Object binding 6.1.9 DELETE statement with Array binding 6.1.10 Stress test - support 4k varchars 6.1.11 Negative test - throws correct error message 6.2 DATE and TIMESTAMP data 6.2.1 INSERT statement, single row matched, Object binding, no bind in data 6.2.2 INSERT statement with JavaScript date bind in 6.2.3 INSERT statement with Array binding 6.2.4 UPDATE statement with single row matched 6.2.5 UPDATE statements with multiple rows matched, ARRAY binding format 6.2.6 UPDATE statements, multiple rows, TIMESTAMP data 6.2.7 DELETE statement, single row matched, Object binding format 6.2.8 DELETE statement, multiple rows matched, Array binding format 6.2.9 Negative test - bind value and type mismatch 7. autoCommit.js 7.1 autoCommit takes effect when setting oracledb.autoCommit before connecting 7.2 autoCommit takes effect when setting oracledb.autoCommit after connecting 7.3 autoCommit setting does not affect previous SQL result 7.4 global option - oracledb.autoCommit 7.4.1 Negative - 0 7.4.2 Negative - negative number 7.4.3 Negative - positive number 7.4.4 Negative - NaN 7.4.5 Negative - undefined 7.5 set autoCommit as an execute() option 7.5.1 Negative - 0 7.5.2 Negative - negative number 7.5.3 Negative - positive number 7.5.4 Negative - NaN 7.5.5 works as 'false' when setting to 'undefined' 8. autoCommitForSelect.js 8.1 should return previous value when autoCommit is false 8.2 can use explicit commit() to keep data consistent 8.3 can also use the autoCommit for SELECTs feature 9. columnMetadata.js 9.1 tests with the same table 9.1.1 shows metaData correctly when retrieving 1 column from a 4-column table 9.1.2 shows metaData when retrieving 2 columns. MetaData is correct in content and sequence 9.1.3 shows metaData correctly when retrieve 3 columns 9.1.4 shows metaData correctly when retrieving all columns with [SELECT * FROM table] statement 9.1.5 works for SELECT count(*) 9.1.6 works when a query returns no rows 9.1.7 only works for SELECT statement, does not work for INSERT 9.1.8 only works for SELECT statement, does not work for UPDATE 9.1.9 works with a SQL WITH statement 9.1.10 displays metaData correctly with result set 9.2 case sensitive 9.2.1 works for tables whose column names were created case sensitively 9.3 Large number of columns 9.10 works with a large number of columns 9.4 single character column 9.4.1 works with column names consisting of single characters 9.5 duplicate column alias 9.5.1 works when using duplicate column alias 10. nullColumnValues.js 10.1 a simple query for null value 10.2 in-bind for null column value 10.3 out-bind for null column value 10.4 DML Returning for null column value 10.5 resultSet for null value 12. resultSet1.js 12.1 Testing resultSet option 12.1.1 when resultSet option = false, content of result is correct 12.1.2 when resultSet option = true, content of result is correct 12.1.3 negative - 0 12.1.4 negative - null 12.1.5 when resultSet option = undefined, it behaves like false 12.1.6 negative - NaN 12.1.7 negative - 1 12.1.8 negative - (-1) 12.1.9 negative - random string 12.2 Testing fetchArraySize option 12.2.1 negative - negative value 12.2.2 negative - random string 12.2.3 negative - NaN 12.2.4 negative - null 12.2.5 negative - zero value 12.3 Testing function getRows() 12.3.1 retrieved set is exactly the size of result 12.3.2 retrieved set is greater than the size of result 12.3.3 retrieved set is half of the size of result 12.3.4 retrieved set is one tenth of the size of the result 12.3.5 data in resultSet is array when setting outFormat ARRAY 12.3.6 data in resultSet is object when setting outFormat OBJECT 12.3.7 the size of retrieved set can be set to 1 12.3.8 query 0 row 12.3.9 getRows() without argument returns remaining all rows 12.3.10 getRows(0) returns remaining all rows 12.3.11 Negative - set the 1st parameter of getRows() to be -5 12.3.12 Negative - set the 1st parameter of getRows() to be null 12.4 Testing function getRow() 12.4.1 works well with all correct setting 12.4.2 data in resultSet is array when setting outFormat ARRAY 12.4.3 data in resultSet is object when setting outFormat OBJECT 12.4.4 query 0 row 12.4.5 Negative - set the first parameter like getRows() 12.5 Testing function close() 12.5.1 does not call close() 12.5.2 invokes close() twice 12.5.3 uses getRows after calling close() 12.5.4 closes one resultSet and then open another resultSet 12.6 Testing metaData 12.6.1 the amount and value of metaData should be correct 12.6.2 can distinguish lower case and upper case 12.6.3 can contain quotes 12.6.4 can contain underscore 12.7 Testing maxRows 12.7.1 maxRows option is ignored when resultSet option is true 12.7.2 maxRows option is ignored with REF Cursor 13. stream1.js 13.1 Testing QueryStream 13.1.1 stream results for oracle connection 13.1.2 stream results for oracle connection (outFormat: oracledb.OUT_FORMAT_OBJECT) 13.1.3 errors in query 13.1.4 no result 13.1.5 single row 13.1.6 multiple row 13.1.7 invalid SQL 13.1.8 Read CLOBs 13.1.9 Read CLOBs after stream close 13.1.10 meta data 13.1.11 should emit events in the correct order 13.1.12 query with logical error should throw error 13.2 Testing QueryStream.destroy 13.2.1 should be able to stop the stream early with destroy 13.2.2 should be able to stop the stream before any data 13.2.3 should invoke an optional callback passed to destroy 13.2.4 should work if querystream is destroyed before resultset is opened 13.2.5 should work if querystream is destroyed after end event 13.2.6 should emit the error passed in 13.3 Testing QueryStream's fetchArraySize option 13.3.1 should use oracledb.fetchArraySize for fetching 13.3.2 should use execute option fetchArraySize for fetching 13.4 Testing QueryStream other race conditions 13.4.1 queryStream from toQueryStream should get open event 13.4.2 queryStream from toQueryStream should get metadata event 14. stream2.js 14.1 Bind by position and return an array 14.2 Bind by name and return an array 14.3 Bind by position and return an object 14.4 Bind by name and return an object 14.5 explicitly setting resultSet option to be false takes no effect 14.6 maxRows option is ignored as expect 14.7 Negative - queryStream() has no parameters 14.10 metadata event - single column 14.11 metadata event - multiple columns 14.12 metadata event - all column names occurring 14.13 metadata event - no return rows 14.15 metadata event - case sensitive columns 14.16 metadata event - large number of columns 14.17 metadata event - single character column 14.18 metadata event - duplicate column alias 15. resultsetToStream.js 15.1 Testing ResultSet.toQueryStream 15.1.1 should allow resultsets to be converted to streams 15.2 Testing ResultSet/QueryStream conversion errors 15.2.1 should prevent conversion to stream after getRow is invoked 15.2.2 should prevent conversion to stream after getRows is invoked 15.2.3 should prevent conversion to stream after close is invoked 15.2.4 should prevent invoking getRow after conversion to stream 15.2.5 should prevent invoking getRows after conversion to stream 15.2.6 should prevent invoking close after conversion to stream 15.2.7 should prevent calling toQueryStream more than once 18. constants.js 18.1 Query outFormat Constants 18.2 Node-oracledb Type Constants 18.3 Oracle Database Type Constants 18.4 Execute Bind Direction Constants 18.5 Privileged Connection Constants 18.6 SQL Statement Type Constants 18.7 Subscription Constants 18.8 Advanced Queuing Constants 18.9 Continuous Query Notification Constants 18.10 Pool Status Constants 18.11 Simple Oracle Document Access (SODA) Constants 19. fetchTimestampAsString.js 19.1 TIMESTAMP 19.1.1 fetchInfo option 19.1.2 fetchInfo option, outFormat is OBJECT 19.1.3 fetchInfo option, enables resultSet 19.1.4 fetchInfo option, resultSet and OBJECT outFormat 19.1.5 fetchAsString property 19.1.6 fetchAsString property and OBJECT outFormat 19.1.7 fetchAsString property, resultSet 19.1.8 fetchAsString property, resultSet and OBJECT outFormat 19.2 TIMESTAMP WITH TIME ZONE 19.2.1 fetchInfo option 19.2.2 fetchInfo option, outFormat is OBJECT 19.2.3 fetchInfo option, enables resultSet 19.2.4 fetchInfo option, resultSet and OBJECT outFormat 19.2.5 fetchAsString property 19.2.6 fetchAsString property and OBJECT outFormat 19.2.7 fetchAsString property, resultSet 19.2.8 fetchAsString property, resultSet and OBJECT outFormat 19.3 testing maxRows settings and queryStream() to fetch as string 19.3.1 works well when setting oracledb.maxRows > actual number of rows 19.3.2 maxRows = actual num of rows 19.3.3 works when oracledb.maxRows < actual number of rows 19.3.4 uses queryStream() and maxRows > actual number of rows 19.3.5 uses queryStream() and maxRows = actual number of rows 19.3.6 maxRows < actual rows. maxRows does not restrict queryStream() 21. dataTypeAssist.js 22. dataTypeChar.js 22.1 testing CHAR data in various lengths 22.1.1 works well with SELECT query 22.1.2 works well with result set 22.1.3 works well with REF Cursor 22.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 22.2 stores null value correctly 22.2.1 testing Null, Empty string and Undefined 22.3 PL/SQL binding scalar 22.3.1 PL/SQL binding scalar values IN 22.3.2 bind scalar values INOUT 22.3.3 bind scalar values OUT 22.4 PL/SQL binding indexed tables - 22.4.1 bind indexed table IN 23. dataTypeNchar.js 23.1 testing NCHAR data in various lengths 23.1.1 SELECT query 23.1.2 resultSet stores NCHAR data correctly 23.1.3 works well with REF Cursor 23.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 23.2 stores null value correctly 23.2.1 testing Null, Empty string and Undefined 24. dataTypeVarchar2.js 24.1 testing VARCHAR2 data in various lengths 24.1.1 SELECT query 24.1.2 resultSet stores VARCHAR2 data correctly 24.1.3 works well with REF Cursor 24.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 24.2 stores null value correctly 24.2.1 testing Null, Empty string and Undefined 25. dataTypeNvarchar2.js 25.1 testing NVARCHAR2 data in various lengths 25.1.1 SELECT query 25.1.2 resultSet stores NVARCHAR2 data correctly 25.1.3 works well with REF Cursor 25.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 25.2 stores null value correctly 25.2.1 testing Null, Empty string and Undefined 26. dataTypeNumber.js 26.1 testing NUMBER data 26.1.1 SELECT query 26.1.2 resultSet stores NUMBER data correctly 26.1.3 works well with REF Cursor 26.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 26.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 26.2 stores null value correctly 26.2.1 testing Null, Empty string and Undefined 26.3 large integers that cannot fit inside a 32-bit integer 26.3.1 original case 26.4 Large number, edge cases 26.4.1 maximum safe integer, (2^53 - 1) 26.4.2 Negative - maximum safe integer + 1 26.4.3 minimum safe integer 26.4.4 Negative - minimum safe integer - 1 26.4.5 fetch as string number that cannot be represented as JS Number 27. dataTypeNumber2.js 27.1 testing NUMBER(p, s) data 27.1.1 SELECT query 27.1.2 resultSet stores NUMBER(p, s) data correctly 27.2 stores null value correctly 27.2.1 testing Null, Empty string and Undefined 28. dataTypeFloat.js 28.1 testing FLOAT data type 28.1.1 works well with SELECT query 28.1.2 works well with result set 28.1.3 works well with REF Cursor 28.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 28.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 28.2 stores null value correctly 28.2.1 testing Null, Empty string and Undefined 29. dataTypeFloat2.js 29.1 testing FLOAT(p) data type 29.1.1 works well with SELECT query 29.1.2 works well with result set 29.1.3 works well with REF Cursor 29.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 29.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 29.2 stores null value correctly 29.2.1 testing Null, Empty string and Undefined 30. dataTypeBinaryFloat.js 30.1 testing BINARY_FLOAT data 30.1.1 works well with SELECT query 30.1.2 works well with result set 30.1.3 works well with REF Cursor 30.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 30.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 30.2 stores null value correctly 30.2.1 testing Null, Empty string and Undefined 30.3 testing floating-point numbers which cannot be precisely represent 30.3.1 rounding numbers 31. dataTypeBinaryDouble.js 31.1 testing BINARY_DOUBLE data 31.1.1 works well with SELECT query 31.1.2 works well with result set 31.1.3 works well with REF Cursor 31.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 31.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 31.2 stores null value correctly 31.2.1 testing Null, Empty string and Undefined 31.3 testing floating-point numbers which can be precisely represent 31.3.1 testing floating-point numbers 32. dataTypeDate.js 32.1 Testing JavaScript Date data 32.1.1 works well with SELECT query 32.1.2 works well with result set 32.1.3 works well with REF Cursor 32.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 32.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 32.2 stores null value correctly 32.2.1 testing Null, Empty string and Undefined 32.3 insert SQL Date data 32.3.1 SELECT query - original data 32.3.2 SELECT query - formatted data for comparison 32.4 Select invalid dates 32.4.1 Negative - Invalid Year 0 32.4.2 Negative - Invalid Year -4713 32.4.3 Negative - Invalid Year 10000 33. dataTypeTimestamp1.js 33.1 Testing JavaScript Date with database TIMESTAMP 33.1.1 works well with SELECT query 33.1.2 works well with result set 33.1.3 works well with REF Cursor 33.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 33.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 33.2 stores null value correctly 33.2.1 testing Null, Empty string and Undefined 33.3 testing TIMESTAMP without TIME ZONE 32.3.1 SELECT query - original data 33.3.2 SELECT query - formatted data for comparison 33.3.3 returns scalar types from PL/SQL block 34. dataTypeTimestamp2.js 34.1 Testing JavaScript Date with database TIMESTAMP(p) 34.1.1 works well with SELECT query 34.1.2 works well with result set 34.1.3 works well with REF Cursor 34.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 34.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 34.2 stores null value correctly 34.2.1 testing Null, Empty string and Undefined 34.3 testing database TIMESTAMP(p) 34.3.1 SELECT query - original data 34.3.2 SELECT query - formatted data for comparison 35. dataTypeTimestamp3.js 35.1 Testing JavaScript Date with database TIMESTAMP WITH TIME ZONE 35.1.1 works well with SELECT query 35.1.2 works well with result set 35.1.3 works well with REF Cursor 35.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 35.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 35.2 stores null value correctly 35.2.1 testing Null, Empty string and Undefined 35.3 testing TIMESTAMP WITH TIME ZONE 32.3.1 SELECT query - original data 35.3.2 SELECT query - formatted data for comparison 35.3.3 returns scalar types from PL/SQL block 36. dataTypeTimestamp4.js 36.1 Testing JavaScript Date with database TIMESTAMP (4) WITH TIME ZONE 36.1.1 works well with SELECT query 36.1.2 works well with result set 36.1.3 works well with REF Cursor 36.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 36.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 36.2 stores null value correctly 36.2.1 testing Null, Empty string and Undefined 36.3 testing TIMESTAMP (4) WITH TIME ZONE 32.3.1 SELECT query - original data 36.3.2 SELECT query - formatted data for comparison 36.3.3 returns scalar types from PL/SQL block 37. dataTypeTimestamp5.js 37.1 Testing JavaScript Date with database TIMESTAMP WITH LOCAL TIME ZONE 37.1.1 works well with SELECT query 37.1.2 works well with result set 37.1.3 works well with REF Cursor 37.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 37.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 37.2 stores null value correctly 37.2.1 testing Null, Empty string and Undefined 37.3 testing TIMESTAMP WITH LOCAL TIME ZONE 37.3.1 SELECT query - original data 37.3.2 SELECT query - formatted data for comparison 38. dataTypeTimestamp6.js 38.1 Testing JavaScript Date with database TIMESTAMP(9) WITH LOCAL TIME ZON 38.1.1 works well with SELECT query 38.1.2 works well with result set 38.1.3 works well with REF Cursor 38.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 38.1.5 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 38.2 stores null value correctly 38.2.1 testing Null, Empty string and Undefined 38.3 testing TIMESTAMP WITH LOCAL TIME ZONE 38.3.1 SELECT query - original data 38.3.2 SELECT query - formatted data for comparison 39. dataTypeRowid.js 39.1 testing ROWID data type 39.1.1 query rowid 39.1.2 works well with result set 39.1.3 ROWID couldn't update 39.1.4 can get data object number correctly 39.1.5 can get datafile number correctly 39.1.6 can get data block number correctly 39.1.7 can get row number correctly 39.1.8 works well with REF Cursor 39.1.9 columns fetched from REF CURSORS can be mapped by fetchInfo settings 39.2 stores null value correctly 39.2.1 testing Null, Empty string and Undefined 40. dataTypeClob.js 40.1 testing CLOB data type 40.1.1 stores CLOB value correctly 40.1.2 CLOB getData() 40.2 stores null value correctly 40.2.1 testing Null, Empty string and Undefined 41. dataTypeBlob.js 41.1 testing BLOB data type 41.1.1 stores BLOB value correctly 41.1.2 BLOB getData() 41.2 stores null value correctly 41.2.1 testing Null, Empty string and Undefined 42. dataTypeRaw.js 42.1 testing RAW data in various lengths 42.1.1 SELECT query 42.1.2 resultSet stores RAW data correctly 42.1.3 works well with REF Cursor 42.1.4 result set getRow() function works well with RAW 42.1.5 a negative case which hits NJS-011 error 42.2 stores null value correctly 42.2.1 testing Null, Empty string and Undefined 42.3 DML Returning - Currently not support RAW 42.3.1 INSERT statement with Object binding 42.3.2 INSERT statement with ARRAY binding 42.3.3 INSERT statement with exact maxSize restriction 42.3.4 UPDATE statement 42.3.5 DELETE statement with single row matching 42.3.6 DELETE statement with multiple rows matching 42.4 in PL/SQL, the maximum size is 32767 42.4.1 works well when the length of data is less than maxSize 42.4.2 works well when the length of data is exactly 32767 42.4.3 throws error when the length of data is greater than maxSize 42.4.4 throws error when both data and maxSize are greater than 32767 42.5 INSERT and SELECT 42.5.1 works with data size 100 42.5.2 works with data size 2000 42.5.3 works with default type/dir 42.6 UPDATE 42.6.1 works with data size 100 42.6.2 works with data size 2000 42.6.3 works with default type/dir 43. plsqlBindIndexedTable1.js 43.1 binding PL/SQL indexed table 43.1.1 binding PL/SQL indexed table IN by name 43.1.2 binding PL/SQL indexed table IN by position 43.1.3 binding PL/SQL indexed table IN OUT 43.1.4 binding PL/SQL indexed table OUT 43.2 test exceptions when using PL/SQL indexed table bindings 43.2.1 maxArraySize is ignored when specifying BIND_IN 43.2.2 maxArraySize is mandatory for BIND_INOUT 43.2.3 maxArraySize cannot smaller than the number of array elements 43.2.5 negative case: incorrect type of array element - bind by name 1 43.2.6 negative case: incorrect type of array element - bind by name 2 43.2.7 negative case: incorrect type of array element - bind by name 3 43.2.8 negative case: incorrect type of array element - bind by name 4 43.2.9 supports binding by position 43.2.10 negative case: incorrect type of array elements - bind by pos 1 43.2.11 negative case: incorrect type of array elements - bind by pos 2 43.2.12 negative case: incorrect type of array elements - bind by pos 3 43.2.13 negative case: incorrect type of array elements - bind by pos 4 43.3 binding PL/SQL scalar 43.3.1 binding PL/SQL scalar IN 43.3.2 binding PL/SQL scalar IN/OUT 43.3.3 binding PL/SQL scalar OUT by name 43.3.4 binding PL/SQL scalar OUT by position 43.4 test attribute - maxArraySize 43.4.1 maxArraySize property is ignored for BIND_IN 43.4.2 maxArraySize is mandatory for BIND_INOUT 43.4.3 maxArraySize cannot smaller than the number of array elements 43.4.4 maxArraySize can be equal to the number of array elements 43.4.5 negative case: large value 43.4.6 negative case: < 0 43.4.7 negative case: = 0 43.4.8 negative case: assign a string to it 43.4.9 negative case: NaN 44. plsqlBindIndexedTable2.js.js 44.1 example case 44.2 example case binding by position 44.3 default binding type and direction with binding by name 44.4 default binding type and direction with binding by position 44.5 null elements in String and Number arrays 44.6 empty array for BIND_IN and BIND_INOUT 44.7 empty array for BIND_OUT 44.8 maxSize option applies to each elements of an array 45. instanceof1.js 45.2 instanceof works for pool instances 45.3 instanceof works for connection instances 45.4 instanceof works for resultset instances 45.5 instanceof works for lob instances 51. poolClose.js 51.1 can not get connections from the terminated pool 51.2 can not terminate the same pool multiple times 51.3 can not close the same pool multiple times 51.4 pool is still available after the failing close 51.5 can not close the same connection multiple times 51.6 can not get connection in promise version from the terminated pool 51.7 can not set the attributes after pool created 51.8 can access the attributes of closed pool without error 52. connClose.js 52.1 can not set property, stmtCacheSize, after connection closes 52.2 can not set property, clientId, after connection closes 52.3 can not set property, module 52.4 can not set property, action 52.5 can not call method, execute() 52.6 can not call method, break() 52.7 can not call method, commit() 52.8 can not call method, createLob() 52.9 can not call method, queryStream() 52.10 can not call release() multiple times 52.11 can not call method, rollback 52.12 can access properties of closed connection without error 53. resultSetClose.js 53.1 can not get metaData property 53.2 can not call close() again 53.3 can not call getRow() 53.4 can not call getRows() 53.5 can not call toQueryStream() 53.6 can call getRow() again in the callback of getRow() 54. lobClose.js 54.1 can access properties of closed LOB without error 54.2 can not call close() multiple times 54.3 verify closed LOB 54.4 automatically close result sets and LOBs when the connection is closed 55. resultSet2.js 55.1 query a RDBMS function 55.1.1 LPAD function 55.2 binding variables 55.2.1 query with one binding variable 55.3 alternating getRow() & getRows() function 55.3.1 result set 55.3.2 REF Cursor 55.4 automatically close result sets and LOBs when the connection is closed 55.4.1 resultSet gets closed automatically 55.4.2 REF Cursor gets closed automatically 55.5 the content of resultSet should be consistent 55.5.1 (1) get RS (2) modify data in that table and commit (3) check RS 55.6 access resultSet simultaneously 55.6.1 concurrent operations on resultSet are not allowed (using getRows()) 55.6.2 concurrent operation on REF Cursor are not allowed 55.6.3 concurrent operations on resultSet are not allowed (using getRow()) 55.6.4 concurrently closing resultSet not allowed 55.7 getting multiple resultSets 55.7.1 can access multiple resultSet on one connection 55.7.2 can access multiple REF Cursor 55.9 test querying a PL/SQL function 55.9.1 55.10 calls getRows() once and then close RS before getting more rows 55.10.1 55.11 result set with unsupported data types 55.11.1 INTERVAL YEAR TO MONTH data type 55.12 bind a cursor BIND_INOUT 55.12.1 has not supported binding a cursor with BIND_INOUT 55.13 Invalid Ref Cursor 55.13.1 56. fetchAs.js 56.1 property value check 56.2 Fetch DATE column values as STRING - by-Column name 56.3 Fetch DATE, NUMBER column values STRING - by Column-name 56.4 Fetch DATE, NUMBER as STRING by-time configuration and by-name 56.5 Fetch DATE, NUMBER column as STRING by-type and override at execute time 56.6 Fetch ROWID column values STRING - non-ResultSet 56.7 Fetch ROWID column values STRING - ResultSet 56.8 large numbers with fetchInfo 56.9 large numbers with setting fetchAsString property 56.10 invalid syntax for type should result in error 56.11 assigns an empty array to fetchAsString 56.12 Negative - empty string 56.13 Negative - null 56.14 Negative - undefined 56.15 Negative - NaN 56.16 Negative - invalid type of value, number 56.17 Negative - invalid type of value, string 56.18 Negative - passing oracledb.DATE type to fetchInfo 56.19 Negative - passing empty JSON to fetchInfo 56.20 Negative - passing oracledb.NUMBER type to fetchInfo 56.21 Negative - passing Date for fetchAsString 56.22 Negative - passing Buffer for fetchAsstring 58. properties.js 58.1 Oracledb Class 58.1.1 poolMin 58.1.2 poolMax 58.1.3 poolIncrement 58.1.4 poolTimeout 58.1.5 maxRows 58.1.6 fetchArraySize 58.1.7 autoCommit 58.1.8 version (read-only) 58.1.9 connectionClass 58.1.10 externalAuth 58.1.11 fetchAsString 58.1.12 outFormat 58.1.13 lobPrefetchSize 58.1.14 oracleClientVersion (read-only) 58.1.15 queueTimeout 58.1.16 queueMax 58.1.17 stmtCacheSize 58.1.18 poolPingInterval 58.1.19 fetchAsBuffer 58.1.20 Negative - connectionClass 58.1.21 Negative - autoCommit 58.1.22 Negative - outFormat 58.1.23 Negative - externalAuth 58.1.24 versionString (read-only) 58.1.25 versionSuffix (read-only) 58.1.26 oracleClientVersionString (read-only) 58.1.27 edition 58.1.28 Negative - edition 58.1.29 events 58.1.30 Negative - events 58.1.31 dbObjectAsPojo 58.1.32 Negative - fetchArraySize 58.1.33 Negative - dbObjectAsPojo 58.1.34 Negative - fetchAsString 58.1.35 Negative - lobPrefetchSize 58.1.36 Negative - maxRows 58.1.37 Negative - poolIncrement 58.1.38 Negative - poolMin 58.1.39 Negative - poolMax 58.1.40 Negative - poolTimeout 58.2 Pool Class 58.2.1 poolMin 58.2.2 poolMax 58.2.3 poolIncrement 58.2.4 poolTimeout 58.2.5 stmtCacheSize 58.2.6 connectionsInUse 58.2.7 connectionsOpen 58.2.8 queueTimeout 58.2.9 poolPingInterval 58.2.10 poolMax 58.3 Connection Class 58.3.1 Connection object initial toString values 58.3.2 stmtCacheSize (read-only) 58.3.3 clientId (write-only) 58.3.4 action (write-only) 58.3.5 module (write-only) 58.3.6 oracleServerVersion (read-only) 58.3.7 oracleServerVersionString (read-only) 58.3.8 currentSchema 58.4 ResultSet Class 58.4.1 metaData (read-only) 59. lobResultSet.js 59.1 CLOB data 59.1.1 reads clob data one by one row from result set 59.1.2 works with oracledb.maxRows > actual number of rows fetched 59.1.3 works with oracledb.maxRows = actual number of rows fetched 59.1.4 works with oracledb.maxRows < actual number of rows fetched 59.2 BLOB data 59.2.1 reads blob data one by one row from result set 59.2.2 works with oracledb.maxRows > actual number of rows fetched 59.2.3 works with oracledb.maxRows = actual number of rows fetched 59.2.4 works with oracledb.maxRows < actual number of rows fetched 60. clobPlsqlString.js 60.1 BIND OUT as STRING 60.1.1 PL/SQL OUT CLOB parameters can also be bound as STRING 60.1.2 The returned length is limited to the maximum size 60.2 BIND OUT as CLOB 60.2.1 maxSize option does not take effect when bind out type is clob 61. checkClassesTypes.js 61.1 Oracledb class 61.2 Connection class 61.3 Lob Class 61.4 Pool Class 61.5 ResultSet Class 62. lobProperties1.js 62.1 chunkSize (read-only) 62.2 length (read-only) 62.3 pieceSize -default value is chunkSize 62.4 pieceSize - can be increased 62.5 pieceSize - can be decreased 62.6 pieceSize - can be zero 62.7 pieceSize - cannot be less than zero 62.8 pieceSize - cannot be null 62.9 pieceSize - must be a number 62.10 type (read-only) 63. autoCommit4nestedExecutes.js 63.1 nested execute() functions 64. sqlWithWarnings.js 64.1 test case offered by GitHub user 64.1.1 Executes an aggregate query which causes warnings 64.2 PL/SQL - Success With Info 64.2.1 Execute SQL Statement to create PLSQL procedure with warnings 65. uninitializedLob.js 65.1 an uninitialized Lob is returned from a PL/SQL block 66. writableProperties1.js 66.1 allows overwriting of public methods on pool instances 66.2 allows overwriting of public methods on connection instances 66.3 allows overwriting of public methods on resultset instances 66.4 allows overwriting of public methods on lob instances 66.5 allows overwriting of public methods on oracledb instances 67. poolCache.js 67.1 basic functional tests 67.1.1 caches pool as default if pool is created when cache is empty 67.1.2 removes the pool from the cache on terminate 67.1.3 can cache and retrieve an aliased pool 67.1.4 throws an error if the poolAlias already exists in the cache 67.1.5 does not throw an error if multiple pools are created without an alias 67.1.6 throws an error if poolAttrs.poolAlias is not a string 67.1.7 makes poolAttrs.poolAlias a read-only attribute on the pool named alias 67.1.8 retrieves the default pool, even after an aliased pool is created 67.1.9 retrieves the right pool, even after multiple pools are created 67.1.10 throws an error if the pool specified in getPool doesn't exist 67.1.11 does not throw an error if multiple pools are created without a poolAlias in the same call stack 67.2 oracledb.getConnection functional tests 67.2.1 gets a connection from the default pool 67.2.2 gets a connection from the pool with the specified alias when no alias is specified 67.2.3 throws an error if an attempt is made to use the default pool when it does not exist 67.2.4 throws an error if an attempt is made to use a poolAlias for a pool that is not in the cache 67.2.5 gets a connection from the default pool, even after an aliased pool is created 67.2.6 uses the right pool, even after multiple pools are created 67.2.7 gets a connection from the default pool with callback function(err) 67.3 poolAlias attribute 67.3.1 throws an error if poolAttrs.poolAlias is an object 67.3.2 throws an error if poolAttrs.poolAlias is an array 67.3.3 throws an error if poolAttrs.poolAlias is a number 67.3.4 throws an error if poolAttrs.poolAlias is a boolean 67.3.5 throws an error if poolAttrs.poolAlias is null 67.3.6 throws an error if poolAttrs.poolAlias is an empty string 67.3.7 throws an error if poolAttrs.poolAlias is NaN 67.3.8 works if poolAttrs.poolAlias is undefined 68. multipleLobInsertion.js 68.1 inserts multiple BLOBs 68.2 inserts multiple CLOBs 69. driverName.js 69.1 checks the driver name 70. plsqlBindScalar.js 70.1 PL/SQL bind scalar, dir: BIND_IN and BIND_OUT, type: STRING 70.1.1 basic case: a simple string 70.1.2 negative: bind in value and type mismatch 70.1.3 val: null 70.1.4 val: empty string 70.1.5 val: undefined 70.1.6 tests default dir & type 70.1.7 val: NaN 70.2 dir: BIND_IN and BIND_OUT, type: NUMBER 70.2.1 basic case 70.2.2 auto detect number type 70.2.3 val: null 70.2.4 Negative: bind value and type mismatch - val: empty string 70.2.5 val: 0 70.2.6 val: undefined 70.2.7 val: NaN 70.2.8 val: -1 - 70.2.9 val: maxval 70.3 dir: BIND_IN and BIND_OUT, type: DATE 70.3.1 basic case 70.3.2 auto detect Date type 70.3.3 val: null 70.3.4 val: empty string, negative - bind value and type mismatch 70.3.5 val: undefined 70.3.6 val: NaN 70.3.7 val: invalid Date Value: Feb 30, 2016 70.3.8 val: 1969-12-31 70.3.9 val: epoc date 1970-1-1 70.3.10 val: create Date value using numeric value: new Date(number) 70.3.11 val: create Date value using numeric value: new Date(7 number) 70.3.12 val: create Date value using numeric value: 0 70.4 dir: BIND_IN and BIND_OUT, type: BUFFER 70.4.1 basic case 70.4.2 auto detect Buffer type 70.4.3 val: null 70.4.4 val: empty string 70.4.5 val: undefined 70.4.6 val: NaN 70.5 dir: BIND_INOUT, type: STRING 70.5.1 basic case: a simple string 70.5.2 tests default type 70.5.3 negative: bind value and type mismatch 70.5.4 val: null 70.5.5 val: empty string 70.5.6 val: undefined 70.5.7 val: NaN 70.5.8 NULL IN and NON-NULL out 70.5.9 NON-NULL IN and NULL OUT 70.5.10 n Length IN and 2n OUT 70.5.11 2n Length IN and n OUT 70.6 dir: BIND_INOUT, type: NUMBER 70.6.1 basic case 70.6.2 auto detect number type 70.6.3 negative: bind value and type mismatch - val: empty string 70.6.4 val: null 70.6.5 val: undefined 70.6.6 val: NaN 70.6.7 val: 0 70.6.8 val: -1 - 70.6.9 val: maxval 70.6.10 NULL IN and NON-NULL out 70.6.11 NON-NULL IN and NULL OUT 70.7 dir: BIND_INOUT, type: DATE 70.7.1 basic case 70.7.2 auto detect Date type 70.7.3 val: null 70.7.4 val: empty string, negative - bind value and type mismatch 70.7.5 val: undefined 70.7.6 val: NaN 70.7.7 val: invalid Date Value: Feb 30, 2016 70.7.8 val: 1969-12-31 70.7.9 val: epoc date 1970-1-1 70.7.10 NULL IN and NON-NULL out 70.7.11 NON-NULL IN and NULL OUT 70.8 dir: BIND_INOUT, type: BUFFER 70.8.1 basic case 70.8.2 auto detect BUFFER type 70.8.3 val: null 70.8.4 val: empty string 70.8.5 val: undefined 70.8.6 val: NaN 70.9 Query the binded data by SQL 70.9.1 basic case 70.9.2 dir: BIND_INOUT, val: null 70.9.3 dir: BIND_IN, val: null 70.9.4 dir: BIND_INOUT, val: undefined 70.9.5 dir: BIND_IN, val: undefined 70.10 Check the bind-in values in PL/SQL 70.10.1 STRING, basic 70.10.2 STRING, null, empty string, undefined 70.10.3 NUMBER, null values 70.10.4 DATE, null values 70.10.5 BUFFER 70.10.6 TIMESTAMP, null values 70.10.7 TIMESTAMP WITH TIME ZONE, null values 70.10.8 TIMESTAMP WITH LOCAL TIME ZONE, null values 70.11 dir: BIND_IN and BIND_OUT, type: TIMESTAMP(convert STRING to TIMESTAMP) 70.11.1 basic case 70.11.2 val: null 70.11.3 val: empty string 70.11.4 val: undefined 70.11.5 val: NaN 70.11.7 val: invalid Date Value: Feb 30, 2016 70.11.8 val: 1969-12-31 70.11.9 val: epoch date 1970-1-1 70.12 dir: BIND_IN and BIND_OUT, type: TIMESTAMP(WITH VARCHAR2 RETURN) 70.12.1 basic case 70.12.2 val: null 70.12.3 val: empty string 70.12.4 val: undefined 70.12.5 val: NaN 70.12.7 val: invalid Date Value: Feb 30, 2016 70.12.8 val: 1969-12-31 70.12.9 val: epoch date 1970-1-1 70.12.10 val: create Date value using numeric value: new Date(number) 70.12.11 val: create Date value using numeric value: 0 70.13 dir: BIND_IN and BIND_OUT, type: TIMESTAMP 70.13.1 val: empty string 70.13.2 val: undefined 70.13.3 val: NaN 70.14 dir: BIND_INOUT, type:TIMESTAMP 70.14.1 basic case 70.14.2 auto detect data type 70.14.3 val: null 70.14.4 val: empty string 70.14.5 val: undefined 70.14.6 val: NaN 70.14.7 val: invalid Date Value: Feb 30, 2016 70.14.8 val: 1969-12-31 70.14.9 val: epoch date 1970-1-1 70.14.10 NULL IN and NON-NULL out 70.14.11 NON-NULL IN and NULL OUT 70.15 dir: BIND_IN and BIND_OUT, type: TIMESTAMP WITH TIME ZONE(convert STRING to TIMESTAMP) 70.15.1 basic case 70.15.2 val: null 70.15.3 val: empty string 70.15.4 val: undefined 70.15.5 val: NaN 70.15.7 val: invalid Date Value: Feb 30, 2016 70.15.8 val: 1969-12-31 70.15.9 val: epoch date 1970-1-1 70.16 dir: BIND_IN and BIND_OUT, type: TIMESTAMP WITH TIME ZONE(WITH VARCHAR2 RETURN) 70.16.1 basic case 70.16.2 val: null 70.16.3 val: empty string 70.16.4 val: undefined 70.16.5 val: NaN 70.16.7 val: invalid Date Value: Feb 30, 2016 70.16.8 val: 1969-12-31 70.16.9 val: epoch date 1970-1-1 70.16.10 val: create Date value using numeric value: new Date(number) 70.16.11 val: create Date value using numeric value: 0 70.17 dir: BIND_IN and BIND_OUT, type: TIMESTAMP WITH TIME ZONE 70.17.1 val: empty string 70.17.2 val: undefined 70.17.3 val: NaN 70.18 dir: BIND_INOUT, type:TIMESTAMP WITH TIME ZONE 70.18.1 basic case 70.18.2 auto detect data type 70.18.3 val: null 70.18.4 val: empty string 70.18.5 val: undefined 70.18.6 val: NaN 70.18.7 val: invalid Date Value: Feb 30, 2016 70.18.8 val: 1969-12-31 70.18.9 val: epoch date 1970-1-1 70.18.10 NULL IN and NON-NULL out 70.18.11 NON-NULL IN and NULL OUT 70.19 dir: BIND_IN and BIND_OUT, type: TIMESTAMP WITH LOCAL TIME ZONE(convert STRING to TIMESTAMP) 70.19.1 basic case 70.19.2 val: null 70.19.3 val: empty string 70.19.4 val: undefined 70.19.5 val: NaN 70.19.7 val: invalid Date Value: Feb 30, 2016 70.19.8 val: 1969-12-31 70.19.9 val: epoch date 1970-1-1 70.20 dir: BIND_IN and BIND_OUT, type: TIMESTAMP WITH LOCAL TIME ZONE(WITH VARCHAR2 RETURN) 70.20.1 basic case 70.20.2 val: null 70.20.3 val: empty string 70.20.4 val: undefined 70.20.5 val: NaN 70.20.7 val: invalid Date Value: Feb 30, 2016 70.20.8 val: 1969-12-31 70.20.9 val: epoch date 1970-1-1 70.20.10 val: create Date value using numeric value: new Date(number) 70.20.11 val: create Date value using numeric value: 0 70.21 dir: BIND_IN and BIND_OUT, type: TIMESTAMP WITH LOCAL TIME ZONE 70.21.1 val: empty string 70.21.2 val: undefined 70.21.3 val: NaN 70.22 dir: BIND_INOUT, type:TIMESTAMP WITH LOCAL TIME ZONE 70.22.1 basic case 70.22.2 auto detect data type 70.22.3 val: null 70.22.4 val: empty string 70.22.5 val: undefined 70.22.6 val: NaN 70.22.7 val: invalid Date Value: Feb 30, 2016 70.22.8 val: 1969-12-31 70.22.9 val: epoch date 1970-1-1 70.22.10 NULL IN and NON-NULL OUT 70.22.11 NON-NULL IN and NULL OUT 71. lobBind1.js 71.1 persistent CLOB 71.1.1 BIND_IN, DML, a String variable 71.1.2 BIND_IN, DML, null 71.1.3 BIND_IN, DML, a txt file 71.1.4 BIND_IN, PL/SQL, a txt file 71.1.5 BIND_OUT, PL/SQL, a string 71.1.6 BIND_OUT, PL/SQL, a txt file 71.1.7 BIND_INOUT, PL/SQL, A String. IN LOB gets closed automatically. 71.1.8 BIND_INOUT, PL/SQL, a txt file 71.1.9 BIND_INOUT, PL/SQL, a String as the bind IN Value 71.2 persistent BLOB 71.2.1 BIND_IN, DML, a Buffer value 71.2.2 BIND_IN, DML, null 71.2.3 BIND_IN, DML, a jpg file 71.2.4 BIND_IN, PL/SQL, a jpg file 71.2.5 BIND_OUT, PL/SQL, a Buffer value 71.2.6 BIND_OUT, PL/SQL, a jpg file 71.2.7 BIND_INOUT, PL/SQL, a Buffer value 71.2.8 BIND_INOUT, PL/SQL, a jpg file 71.2.9 BIND_INOUT, PL/SQL, a Buffer as the bind IN value 72. lobBind2.js 72.1 CLOB 72.1.1 BIND_IN, DML, a txt file 72.1.2 BIND_IN, PL/SQL, a txt file 72.1.3 Negative - invalid type 72.1.4 Negative - invalid value 72.1.5 DML - UPDATE statement 72.1.6 BIND_INOUT, PL/SQL, IN LOB gets closed automatically 72.2 BLOB 72.2.1 BIND_IN, DML, a jpg file 72.2.2 BIND_IN, PL/SQL, a jpg file 72.2.3 Negative - inconsistent datatypes 72.2.4 Negative - not providing first parameter 72.2.5 call lob.close() multiple times sequentially 72.3 NCLOB 72.3.1 BIND_IN, DML, a txt file 72.3.2 BIND_IN, PL/SQL, a txt file 72.3.3 Negative - invalid type 72.3.4 Negative - invalid value 72.3.5 DML - UPDATE statement 72.3.6 BIND_INOUT, PL/SQL, IN LOB gets closed automatically 73. poolPing.js 73.1 the default value of poolPingInterval is 60 73.2 does not change after the pool has been created 73.3 can not be changed on pool object 73.4 can not be accessed on connection object 73.5 can be set to 0, means always ping 73.6 can be set to negative values, means never ping 73.7 Negative: Number.MAX_SAFE_INTEGER 73.8 cannot surpass the upper limit 73.9 cannot surpass the lower Limit 73.10 Negative: null 73.11 Negative: NaN 73.12 Negative: undefined 73.13 Negative: 'random-string' 73.14 can be set at pool creation, e.g. positive value 1234 73.15 can be set at pool creation, e.g. negative value -4321 73.16 can be set at pool creation, e.g. 0 means always ping 73.17 Negative: null 73.18 Setting to 'undefined' will use current value from oracledb 73.19 can be set at pool creation. Negative: NaN 73.20 can be set at pool creation. Negative: 'random-string' 73.21 cannot surpass the upper limit at pool creation 73.22 cannot surpass the lower limit at pool creation 74. clobPlsqlBindAsString_bindin.js 74.1 CLOB, PLSQL, BIND_IN 74.1.1 works with EMPTY_CLOB 74.1.2 works with EMPTY_CLOB and bind in maxSize set to 1 74.1.3 works with EMPTY_CLOB and bind in maxSize set to (64K - 1) 74.1.4 works with null 74.1.5 works with null and bind in maxSize set to 1 74.1.6 works with null and bind in maxSize set to (64K - 1) 74.1.7 works with empty string 74.1.8 works with empty string and bind in maxSize set to 1 74.1.9 works with empty string and bind in maxSize set to (64K - 1) 74.1.10 works with undefined 74.1.11 works with undefined and bind in maxSize set to 1 74.1.12 works with undefined and bind in maxSize set to (64K - 1) 74.1.13 works with NaN 74.1.14 works with 0 74.1.15 works with String length 32K 74.1.16 works with String length (64K - 1) 74.1.17 works with String length (64K + 1) 74.1.18 works with String length (1MB + 1) 74.1.19 works with bind value and type mismatch 74.1.20 mixing named with positional binding 74.1.21 works with invalid CLOB 74.1.22 works with bind in maxSize smaller than string length 74.1.23 RETURN with bind type STRING 74.1.24 works with UPDATE 74.1.25 bind error: NJS-037, bind by name 1 74.1.26 bind error: NJS-037, bind by name 2 74.1.27 bind error: NJS-037, bind by name 3 74.1.28 bind error: NJS-037, bind by name 4 74.1.29 bind error: NJS-052, bind by pos 1 74.1.30 bind error: NJS-052, bind by pos 2 74.1.31 bind error: NJS-052, bind by pos 3 74.1.32 bind error: NJS-052, bind by pos 4 74.2 CLOB, PLSQL, BIND_IN to VARCHAR2 74.2.1 works with EMPTY_CLOB 74.2.2 works with EMPTY_CLOB and bind in maxSize set to 1 74.2.3 works with EMPTY_CLOB and bind in maxSize set to (64K - 1) 74.2.4 works with null 74.2.5 works with null and bind in maxSize set to 1 74.2.6 works with null and bind in maxSize set to (64K - 1) 74.2.7 works with empty string 74.2.8 works with empty string and bind in maxSize set to 1 74.2.9 works with empty string and bind in maxSize set to (64K - 1) 74.2.10 works with undefined 74.2.11 works with undefined and bind in maxSize set to 1 74.2.12 works with undefined and bind in maxSize set to (64K - 1) 74.2.13 works with NaN 74.2.14 works with 0 74.2.15 works with String length (32K - 1) 74.2.16 works with String length 32K 74.2.17 works with invalid CLOB 74.2.18 works with bind in maxSize smaller than string length 74.2.19 works with UPDATE 74.3 Multiple CLOBs, BIND_IN 74.3.1 bind two string 74.3.2 bind a txt file and a string 74.3.3 bind two string, one > (64K - 1) 75. clobPlsqlBindAsString_bindout.js 75.1 CLOB, PLSQL, BIND_OUT 75.1.1 works with EMPTY_LOB 75.1.2 works with EMPTY_LOB and bind out maxSize set to 1 75.1.3 works with EMPTY_LOB and bind out maxSize set to (64k - 1) 75.1.4 works with null 75.1.5 works with null and bind out maxSize set to 1 75.1.6 works with null and bind out maxSize set to (64k - 1) 75.1.7 works with empty string 75.1.8 works with empty string and bind out maxSize set to 1 75.1.9 works with empty string and bind out maxSize set to (64K - 1) 75.1.10 works with undefined 75.1.11 works with undefined and bind out maxSize set to 1 75.1.12 works with undefined and bind out maxSize set to (64K - 1) 75.1.13 works with NaN 75.1.14 works with 0 75.1.15 works with String length 32K 75.1.16 works with String length (64K - 1) 75.1.17 works with String length (64K + 1) 75.1.18 works with String length (1MB + 1) 75.1.19 works with bind value and type mismatch 75.1.20 mixing named with positional binding 75.1.21 works with UPDATE 75.1.22 works with substr 75.1.23 named binging, bind out maxSize smaller than string length ( < 32K ) 75.1.24 named binging, bind out maxSize smaller than string length ( > 32K ) 75.1.25 named binging, bind out maxSize smaller than string length ( > 64K ) 75.1.26 positional binging, bind out maxSize smaller than string length ( < 32K ) 75.1.27 positional binging, bind out maxSize smaller than string length ( > 32K ) 75.1.28 positional binging, bind out maxSize smaller than string length ( > 63K ) 75.2 CLOB, PLSQL, BIND_OUT to VARCHAR2 75.2.1 works with EMPTY_LOB 75.2.2 works with EMPTY_LOB and bind out maxSize set to 1 75.2.3 works with EMPTY_LOB and bind out maxSize set to (64k - 1) 75.2.4 works with null 75.2.5 works with null and bind out maxSize set to 1 75.2.6 works with null and bind out maxSize set to (64k - 1) 75.2.7 works with empty string 75.2.8 works with empty string and bind out maxSize set to 1 75.2.9 works with empty string and bind out maxSize set to (64K - 1) 75.2.10 works with undefined 75.2.11 works with undefined and bind out maxSize set to 1 75.2.12 works with undefined and bind out maxSize set to (64K - 1) 75.2.13 works with NaN 75.2.14 works with 0 75.2.15 works with String length (32K - 1) 75.2.16 works with String length 32K 75.2.17 works with bind out maxSize smaller than string length 75.2.18 works with UPDATE 75.2.19 works with substr 75.3 Multiple CLOBs, BIND_OUT 75.3.1 bind two string 75.3.2 bind a txt file and a string 75.3.3 bind two string, one > (64K - 1) 76. clobPlsqlBindAsString_bindinout.js 76.1 CLOB, PLSQL, BIND_INOUT 76.1.1 works with EMPTY_CLOB 76.1.2 works with EMPTY_CLOB and maxSize set to 1 76.1.3 works with EMPTY_CLOB and maxSize set to (64K - 1) 76.1.4 works with null 76.1.5 works with null and maxSize set to 1 76.1.6 works with null and maxSize set to (64K - 1) 76.1.7 works with empty string 76.1.8 works with empty string and maxSize set to 1 76.1.9 works with empty string and maxSize set to (64K - 1) 76.1.10 works with undefined 76.1.11 works with undefined and maxSize set to 1 76.1.12 works with undefined and maxSize set to (64K - 1) 76.1.13 works with NaN 76.1.14 works with 0 76.1.15 works with String length 32K 76.1.16 works with String length (64K - 1) 76.1.17 works with String length (64K + 1) 76.1.18 works with String length (1MB + 1) 76.1.19 works with bind value and type mismatch 76.1.20 mixing named with positional binding 76.1.21 works with UPDATE 76.1.22 works with invalid CLOB 76.1.23 works with substr - 76.1.24 named binding: maxSize smaller than string length( < 32K ) 76.1.25 named binding: maxSize smaller than string length( > 32K ) 76.1.26 named binding: maxSize smaller than string length( > 64K ) - 76.1.27 positional binding: maxSize smaller than string length( < 32K ) 76.1.28 positional binding: maxSize smaller than string length( > 32K ) 76.1.29 positional binding: maxSize smaller than string length( > 64K ) 76.2 CLOB, PLSQL, BIND_INOUT to VARCHAR2 76.2.1 works with EMPTY_CLOB 76.2.2 works with EMPTY_CLOB and maxSize set to 1 76.2.3 works with EMPTY_CLOB and maxSize set to (64K - 1) 76.2.4 works with null 76.2.5 works with null and maxSize set to 1 76.2.6 works with null and maxSize set to (64K - 1) 76.2.7 works with empty string 76.2.8 works with empty string and maxSize set to 1 76.2.9 works with empty string and maxSize set to (64K - 1) 76.2.10 works with undefined 76.2.11 works with undefined and maxSize set to 1 76.2.12 works with undefined and maxSize set to (64K - 1) 76.2.13 works with NaN 76.2.14 works with 0 76.2.15 works with String length (32K - 1) 76.2.16 works with String length 32K 76.2.17 works with bind out maxSize smaller than string length 76.2.18 works with UPDATE 76.2.19 works with invalid CLOB 76.2.20 works with substr 76.3 Multiple CLOBs, BIND INOUT 76.3.1 bind a txt file and a 32K string 76.3.2 bind a txt file and a (64K - 1) string 76.3.3 bind a txt file and a (64K + 1) string 77. blobPlsqlBindAsBuffer_bindin.js 77.1 BLOB, PLSQL, BIND_IN 77.1.1 works with EMPTY_BLOB 77.1.2 works with EMPTY_BLOB and bind in maxSize set to 1 77.1.3 works with EMPTY_BLOB and bind in maxSize set to (64K - 1) 77.1.4 works with null 77.1.5 works with null and bind in maxSize set to 1 77.1.6 works with null and bind in maxSize set to (64K - 1) 77.1.7 works with empty buffer 77.1.8 works with empty buffer and bind in maxSize set to 1 77.1.9 works with empty buffer and bind in maxSize set to (64K - 1) 77.1.10 works with undefined 77.1.11 works with undefined and bind in maxSize set to 1 77.1.12 works with undefined and bind in maxSize set to (64K - 1) 77.1.13 works with NaN 77.1.14 works with 0 77.1.15 works with Buffer size 32K 77.1.16 works with Buffer size (64K - 1) 77.1.17 works with Buffer size (64K + 1) 77.1.18 works with Buffer size (1MB + 1) 77.1.19 works with bind value and type mismatch 77.1.20 mixing named with positional binding 77.1.21 works with invalid BLOB 77.1.22 works without maxSize 77.1.23 works with bind in maxSize smaller than buffer size 77.1.24 works with UPDATE 77.2 BLOB, PLSQL, BIND_IN to RAW 77.2.1 works with EMPTY_BLOB 77.2.2 works with EMPTY_BLOB and bind in maxSize set to 1 77.2.3 works with EMPTY_BLOB and bind in maxSize set to (64K - 1) 77.2.4 works with null 77.2.5 works with null and bind in maxSize set to 1 77.2.6 works with null and bind in maxSize set to (64K - 1) 77.2.7 works with empty buffer 77.2.8 works with empty buffer and bind in maxSize set to 1 77.2.9 works with empty buffer and bind in maxSize set to (64K - 1) 77.2.10 works with undefined 77.2.11 works with undefined and bind in maxSize set to 1 77.2.12 works with undefined and bind in maxSize set to (64K - 1) 77.2.13 works with NaN 77.2.14 works with 0 77.2.15 works with Buffer size (32K - 1) 77.2.16 works with Buffer size 32K 77.2.17 works with invalid BLOB 77.2.18 works without maxSize 77.2.19 works with bind in maxSize smaller than buffer size 77.2.20 works with UPDATE 77.3 Multiple BLOBs, BIND_IN 77.3.1 bind two Buffer 77.3.2 bind a JPG file and a Buffer 77.3.3 bind two Buffer, one > (64K - 1) 78. blobPlsqlBindAsBuffer_bindout.js 78.1 BLOB, PLSQL, BIND_OUT 78.1.1 works with EMPTY_BLOB 78.1.2 works with EMPTY_BLOB and bind out maxSize set to 1 78.1.3 works with EMPTY_BLOB and bind out maxSize set to (64K - 1) 78.1.4 works with null 78.1.5 works with null and bind out maxSize set to 1 78.1.6 works with null and bind out maxSize set to (64K - 1) 78.1.7 works with empty buffer 78.1.8 works with empty buffer and bind out maxSize set to 1 78.1.9 works with empty buffer and bind out maxSize set to (64K - 1) 78.1.10 works with undefined 78.1.11 works with undefined and bind out maxSize set to 1 78.1.12 works with undefined and bind out maxSize set to (64K - 1) 78.1.13 works with Buffer size 32K 78.1.14 works with Buffer size (64K - 1) 78.1.15 works with Buffer size (64K + 1) 78.1.16 works with Buffer size (1MB + 1) 78.1.17 mixing named with positional binding 78.1.18 works with UPDATE 78.1.19 works with dbms_lob.substr() 78.1.20 named binding: bind out maxSize smaller than buffer size( < 32K ) 78.1.21 named binding: bind out maxSize smaller than buffer size( > 32K ) 78.1.22 named binding: bind out maxSize smaller than buffer size( > 64K ) 78.1.23 positional binding: bind out maxSize smaller than buffer size( < 32K ) 78.1.24 positional binding: bind out maxSize smaller than buffer size( > 32K ) 78.1.25 positional binding: bind out maxSize smaller than buffer size( > 64K ) 78.1.26 bind out without maxSize 78.1.28 bind out without maxSize 78.2 BLOB, PLSQL, BIND_OUT to RAW 78.2.1 works with EMPTY_BLOB 78.2.2 works with EMPTY_BLOB and bind out maxSize set to 1 78.2.3 works with EMPTY_BLOB and bind out maxSize set to (64K - 1) 78.2.4 works with null 78.2.5 works with null and bind out maxSize set to 1 78.2.6 works with null and bind out maxSize set to (64K - 1) 78.2.7 works with empty buffer 78.2.8 works with empty buffer and bind out maxSize set to 1 78.2.9 works with empty buffer and bind out maxSize set to (64K - 1) 78.2.10 works with undefined 78.2.11 works with undefined and bind out maxSize set to 1 78.2.12 works with undefined and bind out maxSize set to (64K - 1) 78.2.13 works with Buffer size (32K - 1) 78.2.14 works with Buffer size 32K 78.2.15 works with bind out maxSize smaller than buffer size 78.2.16 bind out without maxSize 78.2.17 works with UPDATE 78.2.18 works with dbms_lob.substr() 78.3 Multiple BLOBs, BIND_OUT 78.3.1 bind two buffer 78.3.2 PLSQL, BIND_OUT, bind a JPG file and a Buffer 78.3.3 bind two buffer, one > (64K - 1) 79. blobPlsqlBindAsBuffer_bindinout.js 79.1 BLOB, PLSQL, BIND_INOUT 79.1.1 works with EMPTY_BLOB 79.1.2 works with EMPTY_BLOB and maxSize set to 1 79.1.3 works with EMPTY_BLOB and maxSize set to (64K - 1) 79.1.4 works with null 79.1.5 works with null and maxSize set to 1 79.1.6 works with null and maxSize set to (64K - 1) 79.1.7 works with empty buffer 79.1.8 works with empty buffer and maxSize set to 1 79.1.9 works with empty buffer and maxSize set to (64K - 1) 79.1.10 works with undefined 79.1.11 works with undefined and maxSize set to 1 79.1.12 works with undefined and maxSize set to (64K - 1) 79.1.13 works with NaN 79.1.14 works with 0 79.1.15 works with buffer size 32K 79.1.16 works with buffer size (64K - 1) 79.1.17 works with buffer size (64K + 1) 79.1.18 works with buffer size (1MB + 1) 79.1.19 works with bind value and type mismatch 79.1.20 mixing named with positional binding 79.1.21 works with invalid BLOB 79.1.22 works with substr 79.1.23 works with UPDATE - 79.1.24 named binding: maxSize smaller than buffer size ( < 32K ) 79.1.25 named binding: maxSize smaller than buffer size ( > 32K ) 79.1.26 named binding: maxSize smaller than buffer size ( > 64K ) - 79.1.27 positional binding: maxSize smaller than buffer size ( < 32K ) 79.1.28 positional binding: maxSize smaller than buffer size ( > 32K ) 79.1.29 positional binding: maxSize smaller than buffer size ( > 64K ) 79.1.30 bind without maxSize 79.2 BLOB, PLSQL, BIND_INOUT to RAW 79.2.1 works with EMPTY_BLOB 79.2.2 works with EMPTY_BLOB and maxSize set to 1 79.2.3 works with EMPTY_BLOB and maxSize set to (64K - 1) 79.2.4 works with null 79.2.5 works with null and maxSize set to 1 79.2.6 works with null and maxSize set to (64K - 1) 79.2.7 works with empty buffer 79.2.8 works with empty buffer and maxSize set to 1 79.2.9 works with empty buffer and maxSize set to (64K - 1) 79.2.10 works with undefined 79.2.11 works with undefined and maxSize set to 1 79.2.12 works with undefined and maxSize set to (64K - 1) 79.2.13 works with NaN 79.2.14 works with 0 79.2.15 works with buffer size (32K - 1) 79.2.16 works with buffer size 32K 79.2.17 works with buffer size > maxSize 79.2.18 works with invalid BLOB 79.2.19 works with substr 79.2.20 works with UPDATE 79.2.21 works without maxSize 79.3 Multiple BLOBs, BIND_INOUT 79.3.1 bind a JPG and a 32K buffer 79.3.2 bind two buffers 79.3.3 bind two buffers, one > (64K - 1) 80. lobBindAsStringBuffer.js 80.1 Multiple LOBs, BIND_IN 80.1.1 PLSQL, CLOB&BLOB, bind a string and a buffer 80.1.2 PLSQL, CLOB&BLOB, bind a string and a JPG file 80.1.3 PLSQL, CLOB&BLOB, bind a txt file and a Buffer 80.2 Multiple LOBs, BIND_OUT 80.2.1 PLSQL, CLOB&BLOB, bind a string and a buffer 80.2.2 PLSQL, CLOB&BLOB, bind a string and a JPG file 80.2.3 PLSQL, CLOB&BLOB, bind a txt file and a buffer 80.3 Multiple LOBs, BIND_INOUT 80.3.1 PLSQL, BIND_INOUT, bind a 32K string and a 32K buffer 80.3.2 PLSQL, BIND_INOUT, bind a (64K - 1) string and a (64K - 1) buffer 81. clobDMLBindAsString.js 81.1 CLOB, INSERT 81.1.1 works with EMPTY_CLOB 81.1.2 works with empty string 81.1.3 works with empty string and bind in maxSize set to 32767 81.1.4 works with empty string and bind in maxSize set to 50000 81.1.5 works with undefined 81.1.6 works with null 81.1.7 works with null and bind in maxSize set to 32767 81.1.8 works with null and bind in maxSize set to 50000 81.1.9 works with NaN 81.1.10 works with 0 81.1.11 works with String length 32K 81.1.12 works with String length (64K - 1) 81.1.13 works with String length (64K + 1) 81.1.14 works with String length (1MB + 1) 81.1.15 bind value and type mismatch 81.1.16 mixing named with positional binding 81.1.17 bind with invalid CLOB 81.1.18 RETURNING INTO with bind type STRING 81.1.19 works with bind in maxSize smaller than string length 81.2 CLOB, UPDATE 81.2.1 update EMPTY_CLOB column 81.2.2 update a cloumn with EMPTY_CLOB 81.2.3 update EMPTY_CLOB column with empty string 81.2.4 update empty string column 81.2.5 update a column with empty string 82. blobDMLBindAsBuffer.js 82.1 BLOB, INSERT 82.1.1 works with EMPTY_BLOB 82.1.2 works with empty buffer 82.1.3 works with empty buffer and bind in maxSize set to 32767 82.1.4 works with empty buffer and bind in maxSize set to 50000 82.1.5 works with undefined 82.1.6 works with null 82.1.7 works with null and bind in maxSize set to 32767 82.1.8 works with null and bind in maxSize set to 50000 82.1.9 works with NaN 82.1.10 works with 0 82.1.11 works with Buffer length 32K 82.1.12 works with Buffer length (64K - 1) 82.1.13 works with Buffer length (64K + 1) 82.1.14 works with Buffer length (1MB + 1) 82.1.15 bind value and type mismatch 82.1.16 mixing named with positional binding 82.1.17 bind with invalid BLOB 82.1.18 RETURNING INTO with bind type BUFFER 82.1.19 works with bind in maxSize smaller than buffer size 82.2 BLOB, UPDATE 82.2.1 update EMPTY_BLOB column 82.2.2 update a cloumn with EMPTY_BLOB 82.2.3 update EMPTY_BLOB column with empty buffer 82.2.4 update empty buffer column 82.2.5 update a column with empty buffer 83. lobProperties2.js 83.1 CLOB: chunkSize (read-only) 83.2 BLOB: chunkSize (read-only) 83.3 CLOB: length (read-only) 83.4 BLOB: length (read-only) 83.5 CLOB: type (read-only) 83.6 BLOB: type (read-only) 83.7 pieceSize 83.7.1 default value is chunkSize 83.7.2 can be increased 83.7.3 can be decreased 83.7.4 can be zero 83.7.5 cannot be less than zero 83.7.6 cannot be null 83.7.7 must be a number 84. fetchClobAsString1.js 84.1 fetch CLOB columns by setting oracledb.fetchAsString 84.1.1 works with NULL value 84.1.2 works with empty string 84.1.3 works with small CLOB data 84.1.4 works with (64K - 1) data 84.1.5 works with (64K + 1) data 84.1.6 works with (1MB + 1) data 84.1.7 fetch with substr() 84.1.8 works with EMPTY_CLOB() 84.1.9 fetch multiple CLOB columns as String 84.1.10 fetch the same CLOB column multiple times 84.1.11 works with update statement 84.1.12 works with REF CURSOR 84.1.13 fetch CLOB with stream 84.1.14 works with setting oracledb.maxRows < actual number of rows in the table 84.1.15 works with setting oracledb.maxRows > actual number of rows in the table 84.1.16 override oracledb.fetchAsString with fetchInfo set to oracledb.DEFAULT 84.1.17 works with connection.queryStream() 84.1.18 works with connection.queryStream() and oracledb.maxRows > actual number of rows in the table 84.1.19 works with connection.queryStream() and oracledb.maxRows = actual number of rows in the table 84.1.20 works with connection.queryStream() and oracledb.maxRows < actual number of rows in the table 84.2 fetch CLOB columns by setting oracledb.fetchAsString and outFormat = oracledb.OUT_FORMAT_OBJECT 84.2.1 works with NULL value 84.2.2 works with empty String 84.2.3 works with small value 84.2.4 works with (64K - 1) value 84.2.5 works with (64K + 1) value 84.2.6 works with (1MB + 1) data 84.2.7 works with dbms_lob.substr() 84.2.8 works with EMPTY_CLOB() 84.2.9 fetch multiple CLOB rows as String 84.2.10 fetch the same CLOB column multiple times 84.2.11 works with update statement 84.2.12 works with REF CURSOR 84.2.13 fetch CLOB with stream 84.2.14 works with setting oracledb.maxRows < actual number of rows in the table 84.2.15 works with setting oracledb.maxRows > actual number of rows in the table 84.2.16 override oracledb.fetchAsString with fetchInfo set to oracledb.DEFAULT 84.3 fetch CLOB columns by setting oracledb.fetchAsString, outFormat = oracledb.OUT_FORMAT_OBJECT and resultSet = true 84.3.1 works with NULL value 84.3.2 works with empty String 84.3.3 works with small value 84.3.4 works with (64K - 1) value 84.3.5 works with (64K + 1) value 84.3.6 works with (1MB + 1) data 84.3.7 works with dbms_lob.substr() 84.3.8 works with EMPTY_CLOB() 84.3.9 fetch multiple CLOB rows as String 84.3.10 fetch the same CLOB column multiple times 84.3.11 works with update statement 84.3.13 fetch CLOB with stream 84.3.14 works with setting oracledb.maxRows < actual number of rows in the table 84.3.15 works with setting oracledb.maxRows > actual number of rows in the table 84.3.16 override oracledb.fetchAsString with fetchInfo set to oracledb.DEFAULT 84.4 fetch CLOB columns by setting oracledb.fetchAsString and outFormat = oracledb.OUT_FORMAT_ARRAY 84.4.1 works with NULL value 84.4.2 works with empty String 84.4.3 works with small value 84.4.4 works with (64K - 1) value 84.4.5 works with (64K + 1) value 84.4.6 works with (1MB + 1) data 84.4.7 works with dbms_lob.substr() 84.4.8 works with EMPTY_CLOB() 84.4.9 fetch multiple CLOB rows as String 84.4.10 fetch the same CLOB column multiple times 84.4.11 works with update statement 84.4.12 works with REF CURSOR 84.4.13 fetch CLOB with stream 84.4.14 works with setting oracledb.maxRows < actual number of rows in the table 84.4.15 works with setting oracledb.maxRows < actual number of rows in the table 84.4.16 override oracledb.fetchAsString with fetchInfo set to oracledb.DEFAULT 84.5 fetch CLOB columns by setting oracledb.fetchAsString, outFormat = oracledb.OUT_FORMAT_ARRAY and resultSet = true 84.5.1 works with NULL value 84.5.2 works with empty String 84.5.3 works with small value 84.5.4 works with (64K - 1) value 84.5.5 works with (64K + 1) value 84.5.6 works with (1MB + 1) data 84.5.7 works with dbms_lob.substr() 84.5.8 works with EMPTY_CLOB() 84.5.9 fetch multiple CLOB rows as String 84.5.10 fetch the same CLOB column multiple times 84.5.11 works with update statement 84.5.13 fetch CLOB with stream 84.5.14 works with setting oracledb.maxRows < actual number of rows in the table 84.5.15 works with setting oracledb.maxRows > actual number of rows in the table 84.5.16 override oracledb.fetchAsString with fetchInfo set to oracledb.DEFAULT 85. fetchClobAsString2.js 85.1 fetch CLOB columns by setting fetchInfo option 85.1.1 works with NULL value 85.1.2 works with empty String 85.1.3 works with small value 85.1.4 works with (64K - 1) value 85.1.5 works with (64K + 1) value 85.1.6 works with (1MB + 1) value 85.1.7 works with dbms_lob.substr() 85.1.8 works with EMPTY_CLOB() 85.1.9 fetch multiple CLOB rows as String 85.1.10 fetch the same CLOB column multiple times 85.1.11 works with update statement 85.1.12 works with setting oracledb.maxRows < actual number of rows in the table 85.1.13 works with setting oracledb.maxRows > actual number of rows in the table 85.1.14 works with connection.queryStream() 85.1.15 works with connection.queryStream() and oracledb.maxRows > actual number of rows in the table 85.1.16 works with connection.queryStream() and oracledb.maxRows = actual number of rows in the table 85.1.17 works with connection.queryStream() and oracledb.maxRows < actual number of rows in the table 85.1.18 works with REF CURSOR 85.2 fetch CLOB columns by setting fetchInfo option and outFormat = oracledb.OUT_FORMAT_OBJECT 85.2.1 works with NULL value 85.2.2 works with empty buffer 85.2.3 works with small value 85.2.4 works with (64K - 1) value 85.2.5 works with (64K + 1) value 85.2.6 works with (1MB + 1) value 85.2.7 works with dbms_lob.substr() 85.2.8 works with EMPTY_CLOB() 85.2.9 fetch multiple CLOB rows as String 85.2.10 fetch the same CLOB column multiple times 85.2.11 works with update statement 85.2.12 works with setting oracledb.maxRows < actual number of rows in the table 85.2.13 works with setting oracledb.maxRows > actual number of rows in the table 85.2.14 works with REF CURSOR 85.3 fetch CLOB columns by setting fetchInfo option, outFormat = oracledb.OUT_FORMAT_OBJECT and resultSet = true 85.3.1 works with NULL value 85.3.2 works with empty buffer 85.3.3 works with small value 85.3.4 works with (64K - 1) value 85.3.5 works with (64K + 1) value 85.3.6 works with (1MB + 1) value 85.3.7 works with dbms_lob.substr() 85.3.8 works with EMPTY_CLOB() 85.3.9 fetch multiple CLOB rows as String 85.3.10 fetch the same CLOB column multiple times 85.3.11 works with update statement 85.3.12 works with setting oracledb.maxRows < actual number of rows in the table 85.3.13 works with setting oracledb.maxRows > actual number of rows in the table 85.4 fetch CLOB columns by setting fetchInfo option and outFormat = oracledb.OUT_FORMAT_ARRAY 85.4.1 works with NULL value 85.4.2 works with empty String 85.4.3 works with small value 85.4.4 works with (64K - 1) value 85.4.5 works with (64K + 1) value 85.4.6 works with (1MB + 1) value 85.4.7 works with dbms_lob.substr() 85.4.8 works with EMPTY_CLOB() 85.4.9 fetch multiple CLOB rows as String 85.4.10 fetch the same CLOB column multiple times 85.4.11 works with update statement 85.4.12 works with setting oracledb.maxRows < actual number of rows in the table 85.4.13 works with setting oracledb.maxRows > actual number of rows in the table 85.4.14 works with REF CURSOR 85.5 fetch CLOB columns by setting fetchInfo option, outFormat = oracledb.OUT_FORMAT_ARRAY and resultSet = true 85.5.1 works with NULL value 85.5.2 works with empty String 85.5.3 works with small value 85.5.4 works with (64K - 1) value 85.5.5 works with (64K + 1) value 85.5.6 works with (1MB + 1) value 85.5.7 works with dbms_lob.substr() 85.5.8 works with EMPTY_CLOB() 85.5.9 fetch multiple CLOB rows as String 85.5.10 fetch the same CLOB column multiple times 85.5.11 works with update statement 85.5.12 works with setting oracledb.maxRows < actual number of rows in the table 85.5.13 works with setting oracledb.maxRows > actual number of rows in the table 86. fetchClobAsString3.js 86.1 fetch multiple CLOBs 86.1.1 fetch multiple CLOB columns as String 86.1.2 fetch two CLOB columns, one as string, another streamed 86.1.3 works with Restult Set 86.2 types support for fetchAsString property 86.2.1 String not supported in fetchAsString 86.2.2 BLOB not supported in fetchAsString 86.2.3 Cursor not supported in fetchAsString 86.2.4 Buffer supported in fetchAsString 86.2.5 Number supported in fetchAsString 86.2.6 Date supported in fetchAsString 86.2.7 CLOB supported in fetchAsString 86.2.8 undefined in fetchAsString will throw NJS-004 86.2.9 Random string in fetchAsString will throw NJS-004 86.2.10 Random integer in fetchAsString will throw NJS-021 86.2.11 Negative integer in fetchAsString will throw NJS-004 86.2.12 Random float in fetchAsString will throw NJS-004 86.2.13 Array in fetchAsString will throw NJS-004 86.2.14 Object in fetchAsString will throw NJS-004 86.2.15 Non-Array as fetchAsString will throw NJS-004 87. fetchBlobAsBuffer1.js 87.1 fetch BLOB columns by setting oracledb.fetchAsBuffer 87.1.1 works with NULL value 87.1.2 works with empty Buffer 87.1.3 works with small value 87.1.4 works with (64K - 1) value 87.1.5 works with (64K + 1) value 87.1.6 works with (1MB + 1) data 87.1.7 works with dbms_lob.substr() 87.1.8 works with EMPTY_BLOB() 87.1.9 fetch multiple BLOB rows as Buffer 87.1.10 fetch the same BLOB column multiple times 87.1.11 works with update statement 87.1.12 works with REF CURSOR 87.1.13 fetch BLOB with stream 87.1.14 works with setting oracledb.maxRows < actual number of rows in the table 87.1.15 works with setting oracledb.maxRows > actual number of rows in the table 87.1.16 override oracledb.fetchAsBuffer with fetchInfo set to oracledb.DEFAULT 87.1.17 works with connection.queryStream() 87.1.18 works with connection.queryStream() and oracledb.maxRows > actual number of rows in the table 87.1.19 works with connection.queryStream() and oracledb.maxRows = actual number of rows in the table 87.1.20 works with connection.queryStream() and oracledb.maxRows < actual number of rows in the table 87.2 fetch BLOB columns by setting oracledb.fetchAsBuffer and outFormat = oracledb.OUT_FORMAT_OBJECT 87.2.1 works with NULL value 87.2.2 works with empty Buffer 87.2.3 works with small value 87.2.4 works with (64K - 1) value 87.2.5 works with (64K + 1) value 87.2.6 works with (1MB + 1) data 87.2.7 works with dbms_lob.substr() 87.2.8 works with EMPTY_BLOB() 87.2.9 fetch multiple BLOB rows as Buffer 87.2.10 fetch the same BLOB column multiple times 87.2.11 works with update statement 87.2.12 works with REF CURSOR 87.2.13 fetch BLOB with stream 87.2.14 works with setting oracledb.maxRows < actual number of rows in the table 87.2.15 works with setting oracledb.maxRows > actual number of rows in the table 87.2.16 override oracledb.fetchAsBuffer with fetchInfo set to oracledb.DEFAULT 87.3 fetch BLOB columns by setting oracledb.fetchAsBuffer, outFormat = oracledb.OUT_FORMAT_OBJECT and resultSet = true 87.3.1 works with NULL value 87.3.2 works with empty Buffer 87.3.3 works with small value 87.3.4 works with (64K - 1) value 87.3.5 works with (64K + 1) value 87.3.6 works with (1MB + 1) data 87.3.7 works with dbms_lob.substr() 87.3.8 works with EMPTY_BLOB() 87.3.9 fetch multiple BLOB rows as Buffer 87.3.10 fetch the same BLOB column multiple times 87.3.11 works with update statement 87.3.12 works with REF CURSOR 87.3.13 fetch BLOB with stream 87.3.14 works with setting oracledb.maxRows < actual number of rows in the table 87.3.15 works with setting oracledb.maxRows > actual number of rows in the table 87.3.16 override oracledb.fetchAsBuffer with fetchInfo set to oracledb.DEFAULT 87.4 fetch BLOB columns by setting oracledb.fetchAsBuffer and outFormat = oracledb.OUT_FORMAT_ARRAY 87.4.1 works with NULL value 87.4.2 works with empty Buffer 87.4.3 works with small value 87.4.4 works with (64K - 1) value 87.4.5 works with (64K + 1) value 87.4.6 works with (1MB + 1) data 87.4.7 works with dbms_lob.substr() 87.4.8 works with EMPTY_BLOB() 87.4.9 fetch multiple BLOB rows as Buffer 87.4.10 fetch the same BLOB column multiple times 87.4.11 works with update statement 87.4.12 works with REF CURSOR 87.4.13 fetch BLOB with stream 87.4.14 works with setting oracledb.maxRows < actual number of rows in the table 87.4.15 works with setting oracledb.maxRows < actual number of rows in the table 87.4.16 override oracledb.fetchAsBuffer with fetchInfo set to oracledb.DEFAULT 87.5 fetch BLOB columns by setting oracledb.fetchAsBuffer, outFormat = oracledb.OUT_FORMAT_ARRAY and resultSet = true 87.5.1 works with NULL value 87.5.2 works with empty Buffer 87.5.3 works with small value 87.5.4 works with (64K - 1) value 87.5.5 works with (64K + 1) value 87.5.6 works with (1MB + 1) data 87.5.7 works with dbms_lob.substr() 87.5.8 works with EMPTY_BLOB() 87.5.9 fetch multiple BLOB rows as Buffer 87.5.10 fetch the same BLOB column multiple times 87.5.11 works with update statement 87.5.12 works with REF CURSOR 87.5.13 fetch BLOB with stream 87.5.14 works with setting oracledb.maxRows < actual number of rows in the table 87.5.15 works with setting oracledb.maxRows > actual number of rows in the table 87.5.16 override oracledb.fetchAsBuffer with fetchInfo set to oracledb.DEFAULT 88. fetchBlobAsBuffer2.js 88.1 fetch BLOB columns by setting fetchInfo option 88.1.1 works with NULL value 88.1.2 works with empty Buffer 88.1.3 works with small value 88.1.4 works with (64K - 1) value 88.1.5 works with (64K + 1) value 88.1.6 works with (1MB + 1) value 88.1.7 works with dbms_lob.substr() 88.1.8 works with EMPTY_BLOB() 88.1.9 fetch multiple BLOB rows as Buffer 88.1.10 fetch the same BLOB column multiple times 88.1.11 works with update statement 88.1.12 works with setting oracledb.maxRows < actual number of rows in the table 88.1.13 works with setting oracledb.maxRows > actual number of rows in the table 88.1.14 works with connection.queryStream() 88.1.15 works with connection.queryStream() and oracledb.maxRows > actual number of rows in the table 88.1.16 works with connection.queryStream() and oracledb.maxRows = actual number of rows in the table 88.1.17 works with connection.queryStream() and oracledb.maxRows < actual number of rows in the table 88.2 fetch BLOB columns by setting fetchInfo option and outFormat = oracledb.OUT_FORMAT_OBJECT 88.2.1 works with NULL value 88.2.2 works with empty buffer 88.2.3 works with small value 88.2.4 works with (64K - 1) value 88.2.5 works with (64K + 1) value 88.2.6 works with (1MB + 1) value 88.2.7 works with dbms_lob.substr() 88.2.8 works with EMPTY_BLOB() 88.2.9 fetch multiple BLOB rows as Buffer 88.2.10 fetch the same BLOB column multiple times 88.2.11 works with update statement 88.2.12 works with setting oracledb.maxRows < actual number of rows in the table 88.2.13 works with setting oracledb.maxRows > actual number of rows in the table 88.3 fetch BLOB columns by setting fetchInfo option, outFormat = oracledb.OUT_FORMAT_OBJECT and resultSet = true 88.3.1 works with NULL value 88.3.2 works with empty buffer 88.3.3 works with small value 88.3.4 works with (64K - 1) value 88.3.5 works with (64K + 1) value 88.3.6 works with (1MB + 1) value 88.3.7 works with dbms_lob.substr() 88.3.8 works with EMPTY_BLOB() 88.3.9 fetch multiple BLOB rows as Buffer 88.3.10 fetch the same BLOB column multiple times 88.3.11 works with update statement 88.3.12 works with setting oracledb.maxRows < actual number of rows in the table 88.3.13 works with setting oracledb.maxRows > actual number of rows in the table 88.4 fetch BLOB columns by setting fetchInfo option and outFormat = oracledb.OUT_FORMAT_ARRAY 88.4.1 works with NULL value 88.4.2 works with empty Buffer 88.4.3 works with small value 88.4.4 works with (64K - 1) value 88.4.5 works with (64K + 1) value 88.4.6 works with (1MB + 1) value 88.4.7 works with dbms_lob.substr() 88.4.8 works with EMPTY_BLOB() 88.4.9 fetch multiple BLOB rows as Buffer 88.4.10 fetch the same BLOB column multiple times 88.4.11 works with update statement 88.4.12 works with setting oracledb.maxRows < actual number of rows in the table 88.4.13 works with setting oracledb.maxRows > actual number of rows in the table 88.5 fetch BLOB columns by setting fetchInfo option, outFormat = oracledb.OUT_FORMAT_ARRAY and resultSet = true 88.5.1 works with NULL value 88.5.2 works with empty Buffer 88.5.3 works with small value 88.5.4 works with (64K - 1) value 88.5.5 works with (64K + 1) value 88.5.6 works with (1MB + 1) value 88.5.7 works with dbms_lob.substr() 88.5.8 works with EMPTY_BLOB() 88.5.9 fetch multiple BLOB rows as Buffer 88.5.10 fetch the same BLOB column multiple times 88.5.11 works with update statement 88.5.12 works with setting oracledb.maxRows < actual number of rows in the table 88.5.13 works with setting oracledb.maxRows > actual number of rows in the table 89. fetchBlobAsBuffer3.js 89.1 fetch multiple BLOBs 89.1.1 fetch multiple BLOB columns as Buffer 89.1.2 fetch two BLOB columns, one as string, another streamed 89.2 types support for fetchAsBuffer property 89.2.1 String not supported in fetchAsBuffer 89.2.2 CLOB not supported in fetchAsBuffer 89.2.3 Number not supported in fetchAsBuffer 89.2.4 Date not supported in fetchAsBuffer 89.2.5 Cursor not supported in fetchAsBuffer 89.2.6 Buffer not supported in fetchAsBuffer 89.2.7 BLOB supported in fetchAsBuffer 89.2.8 negative - null value for fetchAsBuffer 89.2.9 negative - undefined value for fetchAsBuffer 89.2.10 negative - numeric value for fetchAsBuffer 89.2.11 negative - empty string value for fetchAsBuffer 89.2.12 negative - arbitary string value for fetchAsBuffer 89.2.13 negative - date value for fetchAsBuffer 89.2.14 negative - buffer value for fetchAsBuffer 90. fetchClobAsString4.js 90.1 PLSQL FUNCTION RETURN CLOB to STRING 90.1.1 bind by position - 1 90.1.2 bind by name - 1 90.1.3 bind by position - 2 90.1.4 bind by name - 2 90.2 PLSQL PROCEDURE BIND OUT CLOB to STRING 90.2.1 bind by position - 1 90.2.2 bind by name - 1 90.2.3 bind by position - 2 90.2.4 bind by name - 2 90.3 PLSQL FUNCTION RETURN CLOB to VARCHAR2 90.3.1 bind by name - 1 90.3.2 bind by position - 1 90.3.3 bind by name - 2 90.3.4 bind by position - 2 91. fetchBlobAsBuffer4.js 91.1 PLSQL FUNCTION RETURN BLOB to BUFFER 91.1.1 bind by position - 1 91.1.2 bind by name - 1 91.1.3 bind by position - 2 91.1.4 bind by name - 2 91.2 PLSQL PROCEDURE BIND OUT BLOB to BUFFER 91.2.1 bind by position - 1 91.2.2 bind by name - 1 91.2.3 bind by position - 2 91.2.4 bind by name - 2 91.3 PLSQL FUNCTION RETURN BLOB to RAW 91.3.1 bind by name - 1 91.3.2 bind by position - 1 91.3.3 bind by name - 2 91.3.4 bind by position - 2 92.binding_DMLInsert.js 92.1 insert small value of oracledb.STRING/BUFFER 92.1.1 oracledb.STRING <--> DB: NUMBER 92.1.2 oracledb.STRING <--> DB: CHAR 92.1.3 oracledb.STRING <--> DB: NCHAR 92.1.4 oracledb.STRING <--> DB: VARCHAR2 92.1.5 oracledb.STRING <--> DB: FLOAT 92.1.6 oracledb.STRING <--> DB: BINARY_FLOAT 92.1.7 oracledb.STRING <--> DB: BINARY_DOUBLE 92.1.8 oracledb.STRING <--> DB: DATE 92.1.9 oracledb.STRING <--> DB: TIMESTAMP 92.1.10 oracledb.STRING <--> DB: RAW 92.1.11 oracledb.STRING <--> DB: CLOB 92.1.12 oracledb.STRING <--> DB: BLOB 92.1.13 oracledb.BUFFER <--> DB: NUMBER 92.1.14 oracledb.BUFFER <--> DB: CHAR 92.1.15 oracledb.BUFFER <--> DB: NCHAR 92.1.16 oracledb.BUFFER <--> DB: VARCHAR2 92.1.17 oracledb.BUFFER <--> DB: FLOAT 92.1.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 92.1.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 92.1.20 oracledb.BUFFER <--> DB: DATE 92.1.21 oracledb.BUFFER <--> DB: TIMESTAMP 92.1.22 oracledb.BUFFER <--> DB: RAW 92.1.23 oracledb.BUFFER <--> DB: CLOB 92.1.24 oracledb.BUFFER <--> DB: BLOB 92.2 insert null value of oracledb.STRING/BUFFER 92.2.1 oracledb.STRING <--> DB: NUMBER 92.2.2 oracledb.STRING <--> DB: CHAR 92.2.3 oracledb.STRING <--> DB: NCHAR 92.2.4 oracledb.STRING <--> DB: VARCHAR2 92.2.5 oracledb.STRING <--> DB: FLOAT 92.2.6 oracledb.STRING <--> DB: BINARY_FLOAT 92.2.7 oracledb.STRING <--> DB: BINARY_DOUBLE 92.2.8 oracledb.STRING <--> DB: DATE 92.2.9 oracledb.STRING <--> DB: TIMESTAMP 92.2.10 oracledb.STRING <--> DB: RAW 92.2.11 oracledb.STRING <--> DB: CLOB 92.2.12 oracledb.STRING <--> DB: BLOB 92.2.13 oracledb.BUFFER <--> DB: NUMBER 92.2.14 oracledb.BUFFER <--> DB: CHAR 92.2.15 oracledb.BUFFER <--> DB: NCHAR 92.2.16 oracledb.BUFFER <--> DB: VARCHAR2 92.2.17 oracledb.BUFFER <--> DB: FLOAT 92.2.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 92.2.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 92.2.20 oracledb.BUFFER <--> DB: DATE 92.2.21 oracledb.BUFFER <--> DB: TIMESTAMP 92.2.22 oracledb.BUFFER <--> DB: RAW 92.2.23 oracledb.BUFFER <--> DB: CLOB 92.2.24 oracledb.BUFFER <--> DB: BLOB 92.3 insert large value of oracledb.STRING/BUFFER 92.3.1 oracledb.STRING <--> DB: NUMBER 92.3.2 oracledb.STRING <--> DB: CHAR 92.3.3 oracledb.STRING <--> DB: NCHAR 92.3.4 oracledb.STRING <--> DB: VARCHAR2 92.3.5 oracledb.STRING <--> DB: FLOAT 92.3.6 oracledb.STRING <--> DB: BINARY_FLOAT 92.3.7 oracledb.STRING <--> DB: BINARY_DOUBLE 92.3.8 oracledb.STRING <--> DB: DATE 92.3.9 oracledb.STRING <--> DB: TIMESTAMP 92.3.10 oracledb.STRING <--> DB: RAW 92.3.11 oracledb.STRING <--> DB: CLOB 92.3.12 oracledb.STRING <--> DB: BLOB 92.3.13 oracledb.BUFFER <--> DB: NUMBER 92.3.14 oracledb.BUFFER <--> DB: CHAR 92.3.15 oracledb.BUFFER <--> DB: NCHAR 92.3.16 oracledb.BUFFER <--> DB: VARCHAR2 92.3.17 oracledb.BUFFER <--> DB: FLOAT 92.3.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 92.3.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 92.3.20 oracledb.BUFFER <--> DB: DATE 92.3.21 oracledb.BUFFER <--> DB: TIMESTAMP 92.3.22 oracledb.BUFFER <--> DB: RAW 92.3.23 oracledb.BUFFER <--> DB: CLOB 92.3.24 oracledb.BUFFER <--> DB: BLOB 93.binding_procedureBindIn.js 93.1 PLSQL procedure: bind in small value of oracledb.STRING/BUFFER 93.1.1 oracledb.STRING <--> DB: NUMBER 93.1.2 oracledb.STRING <--> DB: CHAR 93.1.3 oracledb.STRING <--> DB: NCHAR 93.1.4 oracledb.STRING <--> DB: VARCHAR2 93.1.5 oracledb.STRING <--> DB: FLOAT 93.1.6 oracledb.STRING <--> DB: BINARY_FLOAT 93.1.7 oracledb.STRING <--> DB: BINARY_DOUBLE 93.1.8 oracledb.STRING <--> DB: DATE 93.1.9 oracledb.STRING <--> DB: TIMESTAMP 93.1.10 oracledb.STRING <--> DB: RAW 93.1.11 oracledb.STRING <--> DB: CLOB 93.1.12 oracledb.STRING <--> DB: BLOB 93.1.13 oracledb.BUFFER <--> DB: NUMBER 93.1.14 oracledb.BUFFER <--> DB: CHAR 93.1.15 oracledb.BUFFER <--> DB: NCHAR 93.1.16 oracledb.BUFFER <--> DB: VARCHAR2 93.1.17 oracledb.BUFFER <--> DB: FLOAT 93.1.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 93.1.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 93.1.20 oracledb.BUFFER <--> DB: DATE 93.1.21 oracledb.BUFFER <--> DB: TIMESTAMP 93.1.22 oracledb.BUFFER <--> DB: RAW 93.1.23 oracledb.BUFFER <--> DB: CLOB 93.1.24 oracledb.BUFFER <--> DB: BLOB 93.2 PLSQL procedure: bind in null value of oracledb.STRING/BUFFER 93.2.1 oracledb.STRING <--> DB: NUMBER 93.2.2 oracledb.STRING <--> DB: CHAR 93.2.3 oracledb.STRING <--> DB: NCHAR 93.2.4 oracledb.STRING <--> DB: VARCHAR2 93.2.5 oracledb.STRING <--> DB: FLOAT 93.2.6 oracledb.STRING <--> DB: BINARY_FLOAT 93.2.7 oracledb.STRING <--> DB: BINARY_DOUBLE 93.2.8 oracledb.STRING <--> DB: DATE 93.2.9 oracledb.STRING <--> DB: TIMESTAMP 93.2.10 oracledb.STRING <--> DB: RAW 93.2.11 oracledb.STRING <--> DB: CLOB 93.2.12 oracledb.STRING <--> DB: BLOB 93.2.13 oracledb.BUFFER <--> DB: NUMBER 93.2.14 oracledb.BUFFER <--> DB: CHAR 93.2.15 oracledb.BUFFER <--> DB: NCHAR 93.2.16 oracledb.BUFFER <--> DB: VARCHAR2 93.2.17 oracledb.BUFFER <--> DB: FLOAT 93.2.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 93.2.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 93.2.20 oracledb.BUFFER <--> DB: DATE 93.2.21 oracledb.BUFFER <--> DB: TIMESTAMP 93.2.22 oracledb.BUFFER <--> DB: RAW 93.2.23 oracledb.BUFFER <--> DB: CLOB 93.2.24 oracledb.BUFFER <--> DB: BLOB 94.binding_procedureBindInout.js 94.1 PLSQL procedure: bind inout small value of oracledb.STRING/BUFFER 94.1.1 oracledb.STRING <--> DB: NUMBER 94.1.2 oracledb.STRING <--> DB: CHAR 94.1.3 oracledb.STRING <--> DB: NCHAR 94.1.4 oracledb.STRING <--> DB: VARCHAR2 94.1.5 oracledb.STRING <--> DB: FLOAT 94.1.6 oracledb.STRING <--> DB: BINARY_FLOAT 94.1.7 oracledb.STRING <--> DB: BINARY_DOUBLE 94.1.8 oracledb.STRING <--> DB: DATE 94.1.9 oracledb.STRING <--> DB: TIMESTAMP 94.1.10 oracledb.STRING <--> DB: RAW 94.1.11 oracledb.STRING <--> DB: CLOB 94.1.12 oracledb.STRING <--> DB: BLOB 94.1.13 oracledb.BUFFER <--> DB: NUMBER 94.1.14 oracledb.BUFFER <--> DB: CHAR 94.1.15 oracledb.BUFFER <--> DB: NCHAR 94.1.16 oracledb.BUFFER <--> DB: VARCHAR2 94.1.17 oracledb.BUFFER <--> DB: FLOAT 94.1.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 94.1.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 94.1.20 oracledb.BUFFER <--> DB: DATE 94.1.21 oracledb.BUFFER <--> DB: TIMESTAMP 94.1.22 oracledb.BUFFER <--> DB: RAW 94.1.23 oracledb.BUFFER <--> DB: CLOB 94.1.24 oracledb.BUFFER <--> DB: BLOB 94.2 PLSQL procedure: bind inout null value of oracledb.STRING/BUFFER 94.2.1 oracledb.STRING <--> DB: NUMBER 94.2.2 oracledb.STRING <--> DB: CHAR 94.2.3 oracledb.STRING <--> DB: NCHAR 94.2.4 oracledb.STRING <--> DB: VARCHAR2 94.2.5 oracledb.STRING <--> DB: FLOAT 94.2.6 oracledb.STRING <--> DB: BINARY_FLOAT 94.2.7 oracledb.STRING <--> DB: BINARY_DOUBLE 94.2.8 oracledb.STRING <--> DB: DATE 94.2.9 oracledb.STRING <--> DB: TIMESTAMP 94.2.10 oracledb.STRING <--> DB: RAW 94.2.11 oracledb.STRING <--> DB: CLOB 94.2.12 oracledb.STRING <--> DB: BLOB 94.2.13 oracledb.BUFFER <--> DB: NUMBER 94.2.14 oracledb.BUFFER <--> DB: CHAR 94.2.15 oracledb.BUFFER <--> DB: NCHAR 94.2.16 oracledb.BUFFER <--> DB: VARCHAR2 94.2.17 oracledb.BUFFER <--> DB: FLOAT 94.2.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 94.2.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 94.2.20 oracledb.BUFFER <--> DB: DATE 94.2.21 oracledb.BUFFER <--> DB: TIMESTAMP 94.2.22 oracledb.BUFFER <--> DB: RAW 94.2.23 oracledb.BUFFER <--> DB: CLOB 94.2.24 oracledb.BUFFER <--> DB: BLOB 95.binding_functionBindInout.js 95.1 PLSQL function: bind inout small value of oracledb.STRING/BUFFER 95.1.1 oracledb.STRING <--> DB: NUMBER 95.1.2 oracledb.STRING <--> DB: CHAR 95.1.3 oracledb.STRING <--> DB: NCHAR 95.1.4 oracledb.STRING <--> DB: VARCHAR2 95.1.5 oracledb.STRING <--> DB: FLOAT 95.1.6 oracledb.STRING <--> DB: BINARY_FLOAT 95.1.7 oracledb.STRING <--> DB: BINARY_DOUBLE 95.1.8 oracledb.STRING <--> DB: DATE 95.1.9 oracledb.STRING <--> DB: TIMESTAMP 95.1.10 oracledb.STRING <--> DB: RAW 95.1.11 oracledb.STRING <--> DB: CLOB 95.1.12 oracledb.STRING <--> DB: BLOB 95.1.13 oracledb.BUFFER <--> DB: NUMBER 95.1.14 oracledb.BUFFER <--> DB: CHAR 95.1.15 oracledb.BUFFER <--> DB: NCHAR 95.1.16 oracledb.BUFFER <--> DB: VARCHAR2 95.1.17 oracledb.BUFFER <--> DB: FLOAT 95.1.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 95.1.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 95.1.20 oracledb.BUFFER <--> DB: DATE 95.1.21 oracledb.BUFFER <--> DB: TIMESTAMP 95.1.22 oracledb.BUFFER <--> DB: RAW 95.1.23 oracledb.BUFFER <--> DB: CLOB 95.1.24 oracledb.BUFFER <--> DB: BLOB 95.2 PLSQL function: bind inout null value of oracledb.STRING/BUFFER 95.2.1 oracledb.STRING <--> DB: NUMBER 95.2.2 oracledb.STRING <--> DB: CHAR 95.2.3 oracledb.STRING <--> DB: NCHAR 95.2.4 oracledb.STRING <--> DB: VARCHAR2 95.2.5 oracledb.STRING <--> DB: FLOAT 95.2.6 oracledb.STRING <--> DB: BINARY_FLOAT 95.2.7 oracledb.STRING <--> DB: BINARY_DOUBLE 95.2.8 oracledb.STRING <--> DB: DATE 95.2.9 oracledb.STRING <--> DB: TIMESTAMP 95.2.10 oracledb.STRING <--> DB: RAW 95.2.11 oracledb.STRING <--> DB: CLOB 95.2.12 oracledb.STRING <--> DB: BLOB 95.2.13 oracledb.BUFFER <--> DB: NUMBER 95.2.14 oracledb.BUFFER <--> DB: CHAR 95.2.15 oracledb.BUFFER <--> DB: NCHAR 95.2.16 oracledb.BUFFER <--> DB: VARCHAR2 95.2.17 oracledb.BUFFER <--> DB: FLOAT 95.2.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 95.2.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 95.2.20 oracledb.BUFFER <--> DB: DATE 95.2.21 oracledb.BUFFER <--> DB: TIMESTAMP 95.2.22 oracledb.BUFFER <--> DB: RAW 95.2.23 oracledb.BUFFER <--> DB: CLOB 95.2.24 oracledb.BUFFER <--> DB: BLOB 96.binding_procedureBindOut.js 96.1 PLSQL procedure: bind out small value to oracledb.STRING/BUFFER 96.1.1 oracledb.STRING <--> DB: NUMBER 96.1.2 oracledb.STRING <--> DB: CHAR 96.1.3 oracledb.STRING <--> DB: NCHAR 96.1.4 oracledb.STRING <--> DB: VARCHAR2 96.1.5 oracledb.STRING <--> DB: FLOAT 96.1.6 oracledb.STRING <--> DB: BINARY_FLOAT 96.1.7 oracledb.STRING <--> DB: BINARY_DOUBLE 96.1.8 oracledb.STRING <--> DB: DATE 96.1.9 oracledb.STRING <--> DB: TIMESTAMP 96.1.10 oracledb.STRING <--> DB: RAW 96.1.11 oracledb.STRING <--> DB: CLOB 96.1.12 oracledb.STRING <--> DB: BLOB 96.1.13 oracledb.BUFFER <--> DB: NUMBER 96.1.14 oracledb.BUFFER <--> DB: CHAR 96.1.15 oracledb.BUFFER <--> DB: NCHAR 96.1.16 oracledb.BUFFER <--> DB: VARCHAR2 96.1.17 oracledb.BUFFER <--> DB: FLOAT 96.1.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 96.1.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 96.1.20 oracledb.BUFFER <--> DB: DATE 96.1.21 oracledb.BUFFER <--> DB: TIMESTAMP 96.1.22 oracledb.BUFFER <--> DB: RAW 96.1.23 oracledb.BUFFER <--> DB: CLOB 96.1.24 oracledb.BUFFER <--> DB: BLOB 96.2 PLSQL procedure: bind out null value to oracledb.STRING/BUFFER 96.2.1 oracledb.STRING <--> DB: NUMBER 96.2.2 oracledb.STRING <--> DB: CHAR 96.2.3 oracledb.STRING <--> DB: NCHAR 96.2.4 oracledb.STRING <--> DB: VARCHAR2 96.2.5 oracledb.STRING <--> DB: FLOAT 96.2.6 oracledb.STRING <--> DB: BINARY_FLOAT 96.2.7 oracledb.STRING <--> DB: BINARY_DOUBLE 96.2.8 oracledb.STRING <--> DB: DATE 96.2.9 oracledb.STRING <--> DB: TIMESTAMP 96.2.10 oracledb.STRING <--> DB: RAW 96.2.11 oracledb.STRING <--> DB: CLOB 96.2.12 oracledb.STRING <--> DB: BLOB 96.2.13 oracledb.BUFFER <--> DB: NUMBER 96.2.14 oracledb.BUFFER <--> DB: CHAR 96.2.15 oracledb.BUFFER <--> DB: NCHAR 96.2.16 oracledb.BUFFER <--> DB: VARCHAR2 96.2.17 oracledb.BUFFER <--> DB: FLOAT 96.2.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 96.2.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 96.2.20 oracledb.BUFFER <--> DB: DATE 96.2.21 oracledb.BUFFER <--> DB: TIMESTAMP 96.2.22 oracledb.BUFFER <--> DB: RAW 96.2.23 oracledb.BUFFER <--> DB: CLOB 96.2.24 oracledb.BUFFER <--> DB: BLOB 97.binding_functionBindOut.js 97.1 PLSQL function: bind out small value to oracledb.STRING/BUFFER 97.1.1 oracledb.STRING <--> DB: NUMBER 97.1.2 oracledb.STRING <--> DB: CHAR 97.1.3 oracledb.STRING <--> DB: NCHAR 97.1.4 oracledb.STRING <--> DB: VARCHAR2 97.1.5 oracledb.STRING <--> DB: FLOAT 97.1.6 oracledb.STRING <--> DB: BINARY_FLOAT 97.1.7 oracledb.STRING <--> DB: BINARY_DOUBLE 97.1.8 oracledb.STRING <--> DB: DATE 97.1.9 oracledb.STRING <--> DB: TIMESTAMP 97.1.10 oracledb.STRING <--> DB: RAW 97.1.11 oracledb.STRING <--> DB: CLOB 97.1.12 oracledb.STRING <--> DB: BLOB 97.1.13 oracledb.BUFFER <--> DB: NUMBER 97.1.14 oracledb.BUFFER <--> DB: CHAR 97.1.15 oracledb.BUFFER <--> DB: NCHAR 97.1.16 oracledb.BUFFER <--> DB: VARCHAR2 97.1.17 oracledb.BUFFER <--> DB: FLOAT 97.1.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 97.1.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 97.1.20 oracledb.BUFFER <--> DB: DATE 97.1.21 oracledb.BUFFER <--> DB: TIMESTAMP 97.1.22 oracledb.BUFFER <--> DB: RAW 97.1.23 oracledb.BUFFER <--> DB: CLOB 97.1.24 oracledb.BUFFER <--> DB: BLOB 97.2 PLSQL function: bind out null value to oracledb.STRING/BUFFER 97.2.1 oracledb.STRING <--> DB: NUMBER 97.2.2 oracledb.STRING <--> DB: CHAR 97.2.3 oracledb.STRING <--> DB: NCHAR 97.2.4 oracledb.STRING <--> DB: VARCHAR2 97.2.5 oracledb.STRING <--> DB: FLOAT 97.2.6 oracledb.STRING <--> DB: BINARY_FLOAT 97.2.7 oracledb.STRING <--> DB: BINARY_DOUBLE 97.2.8 oracledb.STRING <--> DB: DATE 97.2.9 oracledb.STRING <--> DB: TIMESTAMP 97.2.10 oracledb.STRING <--> DB: RAW 97.2.11 oracledb.STRING <--> DB: CLOB 97.2.12 oracledb.STRING <--> DB: BLOB 97.2.13 oracledb.BUFFER <--> DB: NUMBER 97.2.14 oracledb.BUFFER <--> DB: CHAR 97.2.15 oracledb.BUFFER <--> DB: NCHAR 97.2.16 oracledb.BUFFER <--> DB: VARCHAR2 97.2.17 oracledb.BUFFER <--> DB: FLOAT 97.2.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 97.2.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 97.2.20 oracledb.BUFFER <--> DB: DATE 97.2.21 oracledb.BUFFER <--> DB: TIMESTAMP 97.2.22 oracledb.BUFFER <--> DB: RAW 97.2.23 oracledb.BUFFER <--> DB: CLOB 97.2.24 oracledb.BUFFER <--> DB: BLOB 98.binding_DMLReturningInto.js 98.1 bind out small value 98.1.1 oracledb.STRING <--> DB: NUMBER 98.1.2 oracledb.STRING <--> DB: CHAR 98.1.3 oracledb.STRING <--> DB: NCHAR 98.1.4 oracledb.STRING <--> DB: VARCHAR2 98.1.5 oracledb.STRING <--> DB: FLOAT 98.1.6 oracledb.STRING <--> DB: BINARY_FLOAT 98.1.7 oracledb.STRING <--> DB: BINARY_DOUBLE 98.1.8 oracledb.STRING <--> DB: DATE 98.1.9 oracledb.STRING <--> DB: TIMESTAMP 98.1.10 oracledb.STRING <--> DB: RAW 98.1.11 oracledb.STRING <--> DB: CLOB 98.1.12 oracledb.STRING <--> DB: BLOB 98.1.13 oracledb.BUFFER <--> DB: NUMBER 98.1.14 oracledb.BUFFER <--> DB: CHAR 98.1.15 oracledb.BUFFER <--> DB: NCHAR 98.1.16 oracledb.BUFFER <--> DB: VARCHAR2 98.1.17 oracledb.BUFFER <--> DB: FLOAT 98.1.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 98.1.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 98.1.20 oracledb.BUFFER <--> DB: DATE 98.1.21 oracledb.BUFFER <--> DB: TIMESTAMP 98.1.22 oracledb.BUFFER <--> DB: RAW 98.1.23 oracledb.BUFFER <--> DB: CLOB 98.1.24 oracledb.BUFFER <--> DB: BLOB 98.2 bind out null value 98.2.1 oracledb.STRING <--> DB: NUMBER 98.2.2 oracledb.STRING <--> DB: CHAR 98.2.3 oracledb.STRING <--> DB: NCHAR 98.2.4 oracledb.STRING <--> DB: VARCHAR2 98.2.5 oracledb.STRING <--> DB: FLOAT 98.2.6 oracledb.STRING <--> DB: BINARY_FLOAT 98.2.7 oracledb.STRING <--> DB: BINARY_DOUBLE 98.2.8 oracledb.STRING <--> DB: DATE 98.2.9 oracledb.STRING <--> DB: TIMESTAMP 98.2.10 oracledb.STRING <--> DB: RAW 98.2.11 oracledb.STRING <--> DB: CLOB 98.2.12 oracledb.STRING <--> DB: BLOB 98.2.13 oracledb.BUFFER <--> DB: NUMBER 98.2.14 oracledb.BUFFER <--> DB: CHAR 98.2.15 oracledb.BUFFER <--> DB: NCHAR 98.2.16 oracledb.BUFFER <--> DB: VARCHAR2 98.2.17 oracledb.BUFFER <--> DB: FLOAT 98.2.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 98.2.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 98.2.20 oracledb.BUFFER <--> DB: DATE 98.2.21 oracledb.BUFFER <--> DB: TIMESTAMP 98.2.22 oracledb.BUFFER <--> DB: RAW 98.2.23 oracledb.BUFFER <--> DB: CLOB 98.2.24 oracledb.BUFFER <--> DB: BLOB 99.binding_functionBindIn.js 99.1 PLSQL function: bind in small value of oracledb.STRING/BUFFER 99.1.1 oracledb.STRING <--> DB: NUMBER 99.1.2 oracledb.STRING <--> DB: CHAR 99.1.3 oracledb.STRING <--> DB: NCHAR 99.1.4 oracledb.STRING <--> DB: VARCHAR2 99.1.5 oracledb.STRING <--> DB: FLOAT 99.1.6 oracledb.STRING <--> DB: BINARY_FLOAT 99.1.7 oracledb.STRING <--> DB: BINARY_DOUBLE 99.1.8 oracledb.STRING <--> DB: DATE 99.1.9 oracledb.STRING <--> DB: TIMESTAMP 99.1.10 oracledb.STRING <--> DB: RAW 99.1.11 oracledb.STRING <--> DB: CLOB 99.1.12 oracledb.STRING <--> DB: BLOB 99.1.13 oracledb.BUFFER <--> DB: NUMBER 99.1.14 oracledb.BUFFER <--> DB: CHAR 99.1.15 oracledb.BUFFER <--> DB: NCHAR 99.1.16 oracledb.BUFFER <--> DB: VARCHAR2 99.1.17 oracledb.BUFFER <--> DB: FLOAT 99.1.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 99.1.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 99.1.20 oracledb.BUFFER <--> DB: DATE 99.1.21 oracledb.BUFFER <--> DB: TIMESTAMP 99.1.22 oracledb.BUFFER <--> DB: RAW 99.1.23 oracledb.BUFFER <--> DB: CLOB 99.1.24 oracledb.BUFFER <--> DB: BLOB 99.2 PLSQL function: bind in null value of oracledb.STRING/BUFFER 99.2.1 oracledb.STRING <--> DB: NUMBER 99.2.2 oracledb.STRING <--> DB: CHAR 99.2.3 oracledb.STRING <--> DB: NCHAR 99.2.4 oracledb.STRING <--> DB: VARCHAR2 99.2.5 oracledb.STRING <--> DB: FLOAT 99.2.6 oracledb.STRING <--> DB: BINARY_FLOAT 99.2.7 oracledb.STRING <--> DB: BINARY_DOUBLE 99.2.8 oracledb.STRING <--> DB: DATE 99.2.9 oracledb.STRING <--> DB: TIMESTAMP 99.2.10 oracledb.STRING <--> DB: RAW 99.2.11 oracledb.STRING <--> DB: CLOB 99.2.12 oracledb.STRING <--> DB: BLOB 99.2.13 oracledb.BUFFER <--> DB: NUMBER 99.2.14 oracledb.BUFFER <--> DB: CHAR 99.2.15 oracledb.BUFFER <--> DB: NCHAR 99.2.16 oracledb.BUFFER <--> DB: VARCHAR2 99.2.17 oracledb.BUFFER <--> DB: FLOAT 99.2.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 99.2.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 99.2.20 oracledb.BUFFER <--> DB: DATE 99.2.21 oracledb.BUFFER <--> DB: TIMESTAMP 99.2.22 oracledb.BUFFER <--> DB: RAW 99.2.23 oracledb.BUFFER <--> DB: CLOB 99.2.24 oracledb.BUFFER <--> DB: BLOB 100.binding_defaultBindIn.js 100.1 PLSQL procedure: bind in null value with default type and dir 100.1.1 oracledb.STRING <--> DB: NUMBER 100.1.2 oracledb.STRING <--> DB: CHAR 100.1.3 oracledb.STRING <--> DB: NCHAR 100.1.4 oracledb.STRING <--> DB: VARCHAR2 100.1.5 oracledb.STRING <--> DB: FLOAT 100.1.6 oracledb.STRING <--> DB: BINARY_FLOAT 100.1.7 oracledb.STRING <--> DB: BINARY_DOUBLE 100.1.8 oracledb.STRING <--> DB: DATE 100.1.9 oracledb.STRING <--> DB: TIMESTAMP 100.1.10 oracledb.STRING <--> DB: RAW 100.1.11 oracledb.STRING <--> DB: CLOB 100.1.12 oracledb.STRING <--> DB: BLOB 100.1.13 oracledb.BUFFER <--> DB: NUMBER 100.1.14 oracledb.BUFFER <--> DB: CHAR 100.1.15 oracledb.BUFFER <--> DB: NCHAR 100.1.16 oracledb.BUFFER <--> DB: VARCHAR2 100.1.17 oracledb.BUFFER <--> DB: FLOAT 100.1.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 100.1.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 100.1.20 oracledb.BUFFER <--> DB: DATE 100.1.21 oracledb.BUFFER <--> DB: TIMESTAMP 100.1.22 oracledb.BUFFER <--> DB: RAW 100.1.23 oracledb.BUFFER <--> DB: CLOB 100.1.24 oracledb.BUFFER <--> DB: BLOB 100.2 PLSQL function: bind in null value with default type and dir 100.2.1 oracledb.STRING <--> DB: NUMBER 100.2.2 oracledb.STRING <--> DB: CHAR 100.2.3 oracledb.STRING <--> DB: NCHAR 100.2.4 oracledb.STRING <--> DB: VARCHAR2 100.2.5 oracledb.STRING <--> DB: FLOAT 100.2.6 oracledb.STRING <--> DB: BINARY_FLOAT 100.2.7 oracledb.STRING <--> DB: BINARY_DOUBLE 100.2.8 oracledb.STRING <--> DB: DATE 100.2.9 oracledb.STRING <--> DB: TIMESTAMP 100.2.10 oracledb.STRING <--> DB: RAW 100.2.11 oracledb.STRING <--> DB: CLOB 100.2.12 oracledb.STRING <--> DB: BLOB 100.2.13 oracledb.BUFFER <--> DB: NUMBER 100.2.14 oracledb.BUFFER <--> DB: CHAR 100.2.15 oracledb.BUFFER <--> DB: NCHAR 100.2.16 oracledb.BUFFER <--> DB: VARCHAR2 100.2.17 oracledb.BUFFER <--> DB: FLOAT 100.2.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 100.2.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 100.2.20 oracledb.BUFFER <--> DB: DATE 100.2.21 oracledb.BUFFER <--> DB: TIMESTAMP 100.2.22 oracledb.BUFFER <--> DB: RAW 100.2.23 oracledb.BUFFER <--> DB: CLOB 100.2.24 oracledb.BUFFER <--> DB: BLOB 101.binding_defaultBindInout.js 101.1 PLSQL procedure: bind out null value with default type and dir 101.1.1 oracledb.STRING <--> DB: NUMBER 101.1.2 oracledb.STRING <--> DB: CHAR 101.1.3 oracledb.STRING <--> DB: NCHAR 101.1.4 oracledb.STRING <--> DB: VARCHAR2 101.1.5 oracledb.STRING <--> DB: FLOAT 101.1.6 oracledb.STRING <--> DB: BINARY_FLOAT 101.1.7 oracledb.STRING <--> DB: BINARY_DOUBLE 101.1.8 oracledb.STRING <--> DB: DATE 101.1.9 oracledb.STRING <--> DB: TIMESTAMP 101.1.10 oracledb.STRING <--> DB: RAW 101.1.11 oracledb.STRING <--> DB: CLOB 101.1.12 oracledb.STRING <--> DB: BLOB 101.1.13 oracledb.BUFFER <--> DB: NUMBER 101.1.14 oracledb.BUFFER <--> DB: CHAR 101.1.15 oracledb.BUFFER <--> DB: NCHAR 101.1.16 oracledb.BUFFER <--> DB: VARCHAR2 101.1.17 oracledb.BUFFER <--> DB: FLOAT 101.1.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 101.1.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 101.1.20 oracledb.BUFFER <--> DB: DATE 101.1.21 oracledb.BUFFER <--> DB: TIMESTAMP 101.1.22 oracledb.BUFFER <--> DB: RAW 101.1.23 oracledb.BUFFER <--> DB: CLOB 101.1.24 oracledb.BUFFER <--> DB: BLOB 101.2 PLSQL procedure bind out null value with default type and dir 101.2.1 oracledb.STRING <--> DB: NUMBER 101.2.2 oracledb.STRING <--> DB: CHAR 101.2.3 oracledb.STRING <--> DB: NCHAR 101.2.4 oracledb.STRING <--> DB: VARCHAR2 101.2.5 oracledb.STRING <--> DB: FLOAT 101.2.6 oracledb.STRING <--> DB: BINARY_FLOAT 101.2.7 oracledb.STRING <--> DB: BINARY_DOUBLE 101.2.8 oracledb.STRING <--> DB: DATE 101.2.9 oracledb.STRING <--> DB: TIMESTAMP 101.2.10 oracledb.STRING <--> DB: RAW 101.2.11 oracledb.STpRING <--> DB: CLOB 101.2.12 oracledb.STRING <--> DB: BLOB 101.2.13 oracledb.BUFFER <--> DB: NUMBER 101.2.14 oracledb.BUFFER <--> DB: CHAR 101.2.15 oracledb.BUFFER <--> DB: NCHAR 101.2.16 oracledb.BUFFER <--> DB: VARCHAR2 101.2.17 oracledb.BUFFER <--> DB: FLOAT 101.2.18 oracledb.BUFFER <--> DB: BINARY_FLOAT 101.2.19 oracledb.BUFFER <--> DB: BINARY_DOUBLE 101.2.20 oracledb.BUFFER <--> DB: DATE 101.2.21 oracledb.BUFFER <--> DB: TIMESTAMP 101.2.22 oracledb.BUFFER <--> DB: RAW 101.2.23 oracledb.BUFFER <--> DB: CLOB 101.2.24 oracledb.BUFFER <--> DB: BLOB 102. bindTimestamp.js 102.1 DML, IN bind, bind by name 102.2 DML, IN bind, bind by position 102.3 DML, IN bind, Null 102.4 Negative - IN bind, value and type mismatch 102.5 DML, OUT bind, bind by position 102.6 DML, OUT bind, bind by name 102.7 Negative - OUB bind, value and type mismatch 102.8 DML, INOUT bind, bind by position 102.9 DML, INOUT bind, bind by name 102.10 Negative - INOUT bind, in bind value and type mismatch 102.11 Negative - INOUT bind, out bind value and type mismatch 102.12 DML, INOUT bind, Null values PL/SQL, IN bind 102.13 PL/SQL, IN bind, bind by name 102.14 PL/SQL, IN bind, bind by position 102.15 PL/SQL, IN bind, Null 102.16 Negative - PL/SQL, IN bind, value and type mismatch 102.17 Negative - type and value mismatch, BLOB 102.18 Negative - type and value mismatch, BUFFER 102.19 Negative - type and value mismatch, CLOB 102.20 Negative - type and value mismatch, CURSOR - 102.21 Negative - type and value mismatch, DEFAULT 102.22 Negative - type and value mismatch, NUMBER 102.23 Negative - type and value mismatch, STRING - 102.24 Negative - type and value mismatch, NOTEXIST PL/SQL, OUT bind 102.25 PL/SQL, OUT bind, bind by position 102.26 PL/SQL, OUT bind, bind by name 102.27 PL/SQL, OUT bind, Null 102.28 Negative - PL/SQL, OUT bind, value and type mismatch 102.29 Negative - type and value mismatch, BLOB - 102.30 Negative - type and value mismatch, BUFFER 102.31 Negative - type and value mismatch, CLOB - 102.32 Negative - type and value mismatch, CURSOR 102.33 Negative - type and value mismatch, DEFAULT 102.34 Negative - type and value mismatch, NUMBER - 102.35 Negative - type and value mismatch, STRING - 102.36 Negative - type and value mismatch, NOTEXIST PL/SQL, IN OUT bind 102.37 PL/SQL, IN OUT bind, bind by name 102.38 PL/SQL, IN OUT bind, bind by position 102.39 PL/SQL, IN OUT bind, Null 102.40 Negative - value and type mismatch 102.41 Negative - type and value mismatch, BLOB 102.42 Negative - type and value mismatch, BUFFER 102.43 Negative - type and value mismatch, CLOB 102.44 Negative - type and value mismatch, CURSOR - 102.45 Negative - type and value mismatch, DEFAULT 102.46 Negative - type and value mismatch, NUMBER 102.47 Negative - type and value mismatch, STRING 103. dataTypeLong.js 103.1 LONG data type support 103.1.1 SELECT query 103.1.2 works well with result set 103.1.3 works well with REF Cursor 103.2 stores null values correctly 103.2.1 testing Null, Empty string and Undefined 104. dataTypeLongRaw.js 104.1 LONG RAW data type support 104.1.1 SELECT query 104.1.2 works well with result set 104.1.3 works well with REF Cursor 104.2 stores null values correctly 104.2.1 testing Null, Empty string and Undefined 105. streamErrorEvent.js 105.1 triggers stream error event 106. fetchRowidAsString.js 106.1 works with fetchInfo option 106.1.1 fetchInfo 106.1.2 fetchInfo, and oracledb.maxRows < actual number of rows 106.1.3 fetchInfo, and oracledb.maxRows = actual number of rows 106.1.4 fetchInfo, and oracledb.maxRows > actual number of rows 106.1.5 fetchInfo, queryStream() and oracledb.maxRows < actual number of rows 106.1.6 fetchInfo, queryStream() and oracledb.maxRows = actual number of rows 106.1.7 fetchInfo, queryStream() and oracledb.maxRows > actual number of rows 106.1.8 fetchInfo, resultSet = true 106.2 works with fetchInfo and outFormat = OBJECT 106.2.1 fetchInfo with outFormat = OBJECT 106.2.2 fetchInfo, outFormat = OBJECT, and resultSet = true 106.2.3 fetchInfo, outFormat = OBJECT, and oracledb.maxRows < actual number of rows 106.2.4 fetchInfo, outFormat = OBJECT, and oracledb.maxRows = actual number of rows 106.2.5 fetchInfo, outFormat = OBJECT, and oracledb.maxRows > actual number of rows 106.2.6 fetchInfo, outFormat = OBJECT, queryStream() and oracledb.maxRows < actual number of rows 106.2.7 fetchInfo, outFormat = OBJECT, queryStream() and oracledb.maxRows = actual number of rows 106.2.8 fetchInfo, outFormat = OBJECT, queryStream() and oracledb.maxRows > actual number of rows 106.3 works with fetchInfo and outFormat = ARRAY 106.3.1 fetchInfo 106.3.2 fetchInfo, and oracledb.maxRows < actual number of rows 106.3.3 fetchInfo, and oracledb.maxRows = actual number of rows 106.3.4 fetchInfo, and oracledb.maxRows > actual number of rows 106.3.5 fetchInfo, queryStream() and oracledb.maxRows < actual number of rows 106.3.6 fetchInfo, queryStream() and oracledb.maxRows = actual number of rows 106.3.7 fetchInfo, queryStream() and oracledb.maxRows > actual number of rows 106.3.8 fetchInfo, resultSet = true 106.4 fetch as string by default 106.4.1 fetch by default 106.4.2 oracledb.maxRows < actual number of rows 106.4.3 oracledb.maxRows = actual number of rows 106.4.4 oracledb.maxRows > actual number of rows 106.4.5 queryStream() and oracledb.maxRows < actual number of rows 106.4.6 queryStream() and oracledb.maxRows = actual number of rows 106.4.7 queryStream() and oracledb.maxRows > actual number of rows 106.4.8 resultSet = true 106.5 fetch as string by default with outFormat = OBJECT 106.5.1 fetch by default 106.5.2 oracledb.maxRows < actual number of rows 106.5.3 oracledb.maxRows = actual number of rows 106.5.4 oracledb.maxRows > actual number of rows 106.5.5 queryStream() and oracledb.maxRows < actual number of rows 106.5.6 queryStream() and oracledb.maxRows = actual number of rows 106.5.7 queryStream() and oracledb.maxRows > actual number of rows 106.5.8 resultSet = true 106.6 fetch as string by default with outFormat = ARRAY 106.6.1 fetch by default 106.6.2 oracledb.maxRows < actual number of rows 106.6.3 oracledb.maxRows = actual number of rows 106.6.4 oracledb.maxRows > actual number of rows 106.6.5 queryStream() and oracledb.maxRows < actual number of rows 106.6.6 queryStream() and oracledb.maxRows = actual number of rows 106.6.7 queryStream() and oracledb.maxRows > actual number of rows 106.6.8 resultSet = true 107. rowidDMLBindAsString.js 107.1 INSERT & SELECT 107.1.1 works with null 107.1.2 works with empty string 107.1.3 works with extended rowid 107.1.4 works with restricted rowid 107.1.5 throws error with number 0 107.1.6 works with string 0 107.1.7 works with substr 107.1.8 bind null with default type/dir - named bind 107.1.9 bind null with default type/dir - positional bind 107.1.10 bind extented rowid with default type/dir - named bind 107.1.11 bind extented rowid with default type/dir - positional bind 107.1.12 works with undefined 107.1.13 bind undefined with default type/dir - named bind 107.1.14 bind undefined with default type/dir - positional bind 107.1.15 works with NaN 107.2 UPDATE 107.2.1 UPDATE null column 107.2.1 UPDATE extented rowid with restricted rowid 107.2.3 UPDATE restricted rowid with null 107.3 RETURNING INTO 107.3.1 INSERT null 107.3.2 INSERT extented rowid 107.3.3 INSERT restricted rowid 107.3.7 UPDATE null with extented rowid 107.3.8 UPDATE extented rowid with null 107.3.9 UPDATE restricted rowid with empty string 107.3.10 UPDATE restricted rowid with extented rowid 107.3.11 INSERT with default type/dir - named bind 107.3.12 INSERT with default type/dir - positional bind 107.3.13 UPDATE with default type/dir - named bind 107.3.14 UPDATE with default type/dir - positional bind 107.4 WHERE 107.4.1 can bind in WHERE clause 108. rowidProcedureBindAsString_bindin.js 108.1 PROCEDURE BIND_IN as rowid 108.1.1 works with null 108.1.2 works with empty string 108.1.3 works with undefined 108.1.4 works with NaN 108.1.5 works with extended rowid 108.1.6 works with restricted rowid 108.1.7 works with string 0 108.1.8 works with number 0 108.1.9 works with default bind type/dir - extended rowid 108.1.10 works with default bind type/dir - null value 108.1.11 works with default bind type/dir - empty string 108.1.12 works with default bind type/dir - undefined 108.1.13 bind error: NJS-037 108.1.14 bind error: NJS-052 108.2 PROCEDURE BIND_IN as string 108.2.1 works with null 108.2.2 works with empty string 108.2.3 works with undefined 108.2.4 works with NaN 108.2.5 works with extended rowid 108.2.6 works with restricted rowid 108.2.7 works with string 0 108.2.8 works with number 0 108.2.9 works with default bind type/dir - extended rowid 108.2.10 works with default bind type/dir - null value 108.2.11 works with default bind type/dir - empty string 108.2.12 works with default bind type/dir - undefined 108.2.13 bind error: NJS-037 108.2.14 bind error: NJS-052 108.3 PROCEDURE BIND_IN, UPDATE 108.3.1 update null with rowid 108.3.2 update empty string with rowid 108.3.3 update undefined with rowid 108.3.4 works with default bind type/dir 108.3.5 works with default bind type/dir - null value 108.3.6 works with default bind type/dir - empty string 108.3.7 works with default bind type/dir - undefined 109. rowidFunctionBindAsString_bind.js 109.1 FUNCTION BIND_IN/OUT as rowid 109.1.1 works with null 109.1.2 works with empty string 109.1.3 works with undefined 109.1.4 works with NaN 109.1.5 works with extended rowid 109.1.6 works with restricted rowid 109.1.7 works with string 0 109.1.8 works with number 0 109.1.9 works with default bind type/dir - extended rowid 109.1.10 works with default bind type/dir - null value 109.1.11 works with default bind type/dir - empty string 109.1.12 works with default bind type/dir - undefined 109.1.13 bind error: NJS-037 109.1.14 bind error: NJS-052 109.2 FUNCTION BIND_IN/OUT as string 109.2.1 works with null 109.2.2 works with empty string 109.2.3 works with undefined 109.2.4 works with NaN 109.2.5 works with extended rowid 109.2.6 works with restricted rowid 109.2.7 works with string 0 109.2.8 works with number 0 109.2.9 works with default bind type/dir - extended rowid 109.2.10 works with default bind type/dir - null value 109.2.11 works with default bind type/dir - empty string 109.2.12 works with default bind type/dir - undefined 109.2.13 bind error: NJS-037 109.2.14 bind error: NJS-052 109.3 FUNCTION BIND_IN, UPDATE 109.3.1 update null with rowid 109.3.2 update empty string with rowid 109.3.3 update undefined with rowid 109.3.4 works with default bind type/dir 109.3.5 works with default bind type/dir - null value 109.3.6 works with default bind type/dir - empty string 109.3.7 works with default bind type/dir - undefined 110. rowidProcedureBindAsString_bindout.js 110.1 PROCEDURE BIND_OUT as rowid 110.1.1 works with null 110.1.2 works with empty string 110.1.3 works with undefined 110.1.4 works with NaN 110.1.5 works with extended rowid 110.1.6 works with restricted rowid 110.1.7 works with string 0 110.1.8 works with number 0 110.1.9 works with default bind type/dir - extended rowid 110.1.10 works with default bind type/dir - null value 110.1.11 works with default bind type/dir - empty string 110.1.12 works with default bind type/dir - undefined 110.1.13 bind error: NJS-037 110.1.14 bind error: NJS-052 110.2 PROCEDURE BIND_OUT as string 110.2.1 works with null 110.2.2 works with empty string 110.2.3 works with undefined 110.2.4 works with NaN 110.2.5 works with extended rowid 110.2.6 works with restricted rowid 110.2.7 works with string 0 110.2.8 works with number 0 110.2.9 works with default bind type/dir - extended rowid 110.2.10 works with default bind type/dir - null value 110.2.11 works with default bind type/dir - empty string 110.2.12 works with default bind type/dir - undefined 110.2.13 bind error: NJS-037 110.2.14 bind error: NJS-052 110.3 PROCEDURE BIND_IN, UPDATE 110.3.1 update null with rowid 110.3.2 update empty string with rowid 110.3.3 update undefined with rowid 110.3.4 works with default bind type/dir 110.3.5 works with default bind type/dir - null value 110.3.6 works with default bind type/dir - empty string 110.3.7 works with default bind type/dir - undefined 111. rowidProcedureBindAsString_bindinout.js 111.1 PROCEDURE BIND_INOUT as rowid 111.1.1 works with null 111.1.2 works with empty string 111.1.3 works with undefined 111.1.4 works with NaN 111.1.5 works with extended rowid 111.1.6 works with restricted rowid 111.1.7 works with string 0 111.1.8 works with number 0 111.1.9 works with default bind type/dir - extended rowid 111.1.10 works with default bind type/dir - null value 111.1.11 works with default bind type/dir - empty string 111.1.12 works with default bind type/dir - undefined 111.1.13 bind error: NJS-037 111.1.14 bind error: NJS-052 111.2 PROCEDURE BIND_INOUT as string 111.2.1 works with null 111.2.2 works with empty string 111.2.3 works with undefined 111.2.4 works with NaN 111.2.5 works with extended rowid 111.2.6 works with restricted rowid 111.2.7 works with string 0 111.2.8 works with number 0 111.2.9 works with default bind type/dir - extended rowid 111.2.10 works with default bind type/dir - null value 111.2.11 works with default bind type/dir - empty string 111.2.12 works with default bind type/dir - undefined 111.2.13 bind error: NJS-037 111.2.14 bind error: NJS-052 111.3 PROCEDURE BIND_IN, UPDATE 111.3.1 update null with rowid 111.3.2 update empty string with rowid 111.3.3 update undefined with rowid 111.3.4 works with default bind type/dir 111.3.5 works with default bind type/dir - null value 111.3.6 works with default bind type/dir - empty string 111.3.7 works with default bind type/dir - undefined 112. rowidFunctionBindAsString_bindinout.js 112.1 FUNCTION BIND_INOUT as rowid 112.1.1 works with null 112.1.2 works with empty string 112.1.3 works with undefined 112.1.4 works with NaN 112.1.5 works with extended rowid 112.1.6 works with restricted rowid 112.1.7 works with string 0 112.1.8 works with number 0 112.1.9 works with default bind type/dir - extended rowid 112.1.10 works with default bind type/dir - null value 112.1.11 works with default bind type/dir - empty string 112.1.12 works with default bind type/dir - undefined 112.1.13 bind error: NJS-037 112.1.14 bind error: NJS-052 112.2 FUNCTION BIND_INOUT as string 112.2.1 works with null 112.2.2 works with empty string 112.2.3 works with undefined 112.2.4 works with NaN 112.2.5 works with extended rowid 112.2.6 works with restricted rowid 112.2.7 works with string 0 112.2.8 works with number 0 112.2.9 works with default bind type/dir - extended rowid 112.2.10 works with default bind type/dir - null value 112.2.11 works with default bind type/dir - empty string 112.2.12 works with default bind type/dir - undefined 112.2.13 bind error: NJS-037 112.2.14 bind error: NJS-052 112.3 FUNCTION BIND_INOUT, UPDATE 112.3.1 update null with rowid 112.3.2 update empty string with rowid 112.3.3 update undefined with rowid 112.3.4 works with default bind type/dir 112.3.5 works with default bind type/dir - null value 112.3.6 works with default bind type/dir - empty string 112.3.7 works with default bind type/dir - undefined 113. dataTypeUrowid.js 113.1 testing ROWID data type 113.1.1 query rowid 113.1.2 works well with result set 113.1.3 works well with REF Cursor 113.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 113.2 stores null value correctly 113.2.1 testing Null, Empty string and Undefined 114. urowidDMLBindAsString1.js 114.1 INSERT & SELECT 114.1.1 works with null 114.1.2 works with empty string 114.1.3 works with extended rowid 114.1.4 works with restricted rowid 114.1.5 throws error with number 0 114.1.6 works with string 0 114.1.7 works with substr 114.1.8 bind null with default type/dir - named bind 114.1.9 bind null with default type/dir - positional bind 114.1.10 bind extented rowid with default type/dir - named bind 114.1.11 bind extented rowid with default type/dir - positional bind 114.1.12 works with undefined 114.1.13 bind undefined with default type/dir - named bind 114.1.14 bind undefined with default type/dir - positional bind 114.1.15 works with NaN 114.2 UPDATE 114.2.1 UPDATE null column 114.2.1 UPDATE extented rowid with restricted rowid 114.2.3 UPDATE restricted rowid with null 114.3 RETURNING INTO 114.3.1 INSERT null 114.3.2 INSERT extented rowid 114.3.3 INSERT restricted rowid 114.3.7 UPDATE null with extented rowid 114.3.8 UPDATE extented rowid with null 114.3.9 UPDATE restricted rowid with empty string 114.3.10 UPDATE restricted rowid with extented rowid 114.3.11 INSERT with default type/dir - named bind 114.3.12 INSERT with default type/dir - positional bind 114.3.13 UPDATE with default type/dir - named bind 114.3.14 UPDATE with default type/dir - positional bind 107.4 WHERE 107.4.1 can bind in WHERE clause 115. urowidDMLBindAsString2.js 115.1 INSERT & SELECT 115.1.1 works with urowid length > 200 115.1.2 works with urowid length > 500 115.1.3 works with maxSize < 200 115.2 UPDATE 115.2.1 update null with urowid length > 200 115.2.2 update enpty string with urowid length > 500 115.2.3 update with urowid length > 500 115.2.4 works with maxSize < 200 115.3 RETURNING INTO 115.3.1 urowid length > 200 115.3.2 urowid length > 500 115.4 WHERE 115.4.1 urowid length > 200 115.4.2 urowid length > 500 115.5 queryStream() and oracledb.maxRows = actual rows 115.5.1 urowid length > 200 115.5.2 urowid length > 500 115.6 queryStream() and oracledb.maxRows > actual rows 115.6.1 urowid length > 200 115.6.2 urowid length > 500 115.7 queryStream() and oracledb.maxRows < actual rows 115.7.1 urowid length > 200 115.7.2 urowid length > 500 116. fetchUrowidAsString.js 116.1 works with fetchInfo option 116.1.1 fetchInfo 116.1.2 fetchInfo, and oracledb.maxRows < actual number of rows 116.1.3 fetchInfo, and oracledb.maxRows = actual number of rows 116.1.4 fetchInfo, and oracledb.maxRows > actual number of rows 116.1.5 fetchInfo, queryStream() and oracledb.maxRows < actual number of rows 116.1.6 fetchInfo, queryStream() and oracledb.maxRows = actual number of rows 116.1.7 fetchInfo, queryStream() and oracledb.maxRows > actual number of rows 116.1.8 fetchInfo, resultSet = true 116.2 works with fetchInfo and outFormat = OBJECT 116.2.1 fetchInfo with outFormat = OBJECT 116.2.2 fetchInfo, outFormat = OBJECT, and resultSet = true 116.2.3 fetchInfo, outFormat = OBJECT, and oracledb.maxRows < actual number of rows 116.2.4 fetchInfo, outFormat = OBJECT, and oracledb.maxRows = actual number of rows 116.2.5 fetchInfo, outFormat = OBJECT, and oracledb.maxRows > actual number of rows 116.2.6 fetchInfo, outFormat = OBJECT, queryStream() and oracledb.maxRows < actual number of rows 116.2.7 fetchInfo, outFormat = OBJECT, queryStream() and oracledb.maxRows = actual number of rows 116.2.8 fetchInfo, outFormat = OBJECT, queryStream() and oracledb.maxRows > actual number of rows 116.3 works with fetchInfo and outFormat = ARRAY 116.3.1 fetchInfo 116.3.2 fetchInfo, and oracledb.maxRows < actual number of rows 116.3.3 fetchInfo, and oracledb.maxRows = actual number of rows 116.3.4 fetchInfo, and oracledb.maxRows > actual number of rows 116.3.5 fetchInfo, queryStream() and oracledb.maxRows < actual number of rows 116.3.6 fetchInfo, queryStream() and oracledb.maxRows = actual number of rows 116.3.7 fetchInfo, queryStream() and oracledb.maxRows > actual number of rows 116.3.8 fetchInfo, resultSet = true 116.4 fetch as string by default 116.4.1 fetch by default 116.4.2 oracledb.maxRows < actual number of rows 116.4.3 oracledb.maxRows = actual number of rows 116.4.4 oracledb.maxRows > actual number of rows 116.4.5 queryStream() and oracledb.maxRows < actual number of rows 116.4.6 queryStream() and oracledb.maxRows = actual number of rows 116.4.7 queryStream() and oracledb.maxRows > actual number of rows 116.4.8 resultSet = true 116.5 fetch as string by default with outFormat = OBJECT 116.5.1 fetch by default 116.5.2 oracledb.maxRows < actual number of rows 116.5.3 oracledb.maxRows = actual number of rows 116.5.4 oracledb.maxRows > actual number of rows 116.5.5 queryStream() and oracledb.maxRows < actual number of rows 116.5.6 queryStream() and oracledb.maxRows = actual number of rows 116.5.7 queryStream() and oracledb.maxRows > actual number of rows 116.5.8 resultSet = true 116.6 fetch as string by default with outFormat = ARRAY 116.6.1 fetch by default 116.6.2 oracledb.maxRows < actual number of rows 116.6.3 oracledb.maxRows = actual number of rows 116.6.4 oracledb.maxRows > actual number of rows 116.6.5 queryStream() and oracledb.maxRows < actual number of rows 116.6.6 queryStream() and oracledb.maxRows = actual number of rows 116.6.7 queryStream() and oracledb.maxRows > actual number of rows 116.6.8 resultSet = true 117. fetchUrowidAsString_indexed.js 117.1 works with fetchInfo option and urowid length > 200/500 117.1.1 fetchInfo 117.1.2 oracledb.maxRows < actual number of rows 117.1.3 oracledb.maxRows = actual number of rows 117.1.4 oracledb.maxRows > actual number of rows 117.1.5 resultSet = true 117.1.6 queryStream() and oracledb.maxRows < actual number of rows 117.1.7 queryStream() and oracledb.maxRows = actual number of rows 117.1.8 queryStream() and oracledb.maxRows > actual number of rows 117.2 works with fetchInfo and outFormat = OBJECT, urowid length > 200/500 117.2.1 fetchInfo 117.2.2 oracledb.maxRows < actual number of rows 117.2.3 oracledb.maxRows = actual number of rows 117.2.4 oracledb.maxRows > actual number of rows 117.2.5 resultSet = true 117.2.6 queryStream() and oracledb.maxRows < actual number of rows 117.2.7 queryStream() and oracledb.maxRows = actual number of rows 117.2.8 queryStream() and oracledb.maxRows > actual number of rows 117.3 works with fetchInfo and outFormat = ARRAY, urowid length > 200/500 117.3.1 fetchInfo 117.3.2 oracledb.maxRows < actual number of rows 117.3.3 oracledb.maxRows = actual number of rows 117.3.4 oracledb.maxRows > actual number of rows 117.3.5 resultSet = true 117.3.6 queryStream() and oracledb.maxRows < actual number of rows 117.3.7 queryStream() and oracledb.maxRows = actual number of rows 117.3.8 queryStream() and oracledb.maxRows > actual number of rows 117.4 fetch as string by default, urowid length > 200/500 117.4.1 fetchInfo 117.4.2 oracledb.maxRows < actual number of rows 117.4.3 oracledb.maxRows = actual number of rows 117.4.4 oracledb.maxRows > actual number of rows 117.4.5 resultSet = true 117.4.6 queryStream() and oracledb.maxRows < actual number of rows 117.4.7 queryStream() and oracledb.maxRows = actual number of rows 117.4.8 queryStream() and oracledb.maxRows > actual number of rows 117.5 fetch as string by default with outFormat = OBJECT, urowid length > 200/500 117.5.1 fetchInfo 117.5.2 oracledb.maxRows < actual number of rows 117.5.3 oracledb.maxRows = actual number of rows 117.5.4 oracledb.maxRows > actual number of rows 117.5.5 resultSet = true 117.5.6 queryStream() and oracledb.maxRows < actual number of rows 117.5.7 queryStream() and oracledb.maxRows = actual number of rows 117.5.8 queryStream() and oracledb.maxRows > actual number of rows 117.6 fetch as string by default with outFormat = ARRAY, urowid length > 200/500 117.6.1 fetchInfo 117.6.2 oracledb.maxRows < actual number of rows 117.6.3 oracledb.maxRows = actual number of rows 117.6.4 oracledb.maxRows > actual number of rows 117.6.5 resultSet = true 117.6.6 queryStream() and oracledb.maxRows < actual number of rows 117.6.7 queryStream() and oracledb.maxRows = actual number of rows 117.6.8 queryStream() and oracledb.maxRows > actual number of rows 118. urowidProcedureBindAsString1.js 118.1 PROCEDURE BIND_IN as UROWID 118.1.1 works with null 118.1.2 works with empty string 118.1.3 works with undefined 118.1.4 works with NaN 118.1.5 works with extended ROWID 118.1.6 works with restricted ROWID 118.1.7 works with string 0 118.1.8 works with number 0 118.1.9 works with default bind type/dir - extended ROWID 118.1.10 works with default bind type/dir - null value 118.1.11 works with default bind type/dir - empty string 118.1.12 works with default bind type/dir - undefined 118.1.13 bind error: NJS-037 118.1.14 bind error: NJS-052 118.2 PROCEDURE BIND_IN as string 118.2.1 works with null 118.2.2 works with empty string 118.2.3 works with undefined 118.2.4 works with NaN 118.2.5 works with extended ROWID 118.2.6 works with restricted ROWID 118.2.7 works with string 0 118.2.8 works with number 0 118.2.9 works with default bind type/dir - extended ROWID 118.2.10 works with default bind type/dir - null value 118.2.11 works with default bind type/dir - empty string 118.2.12 works with default bind type/dir - undefined 118.2.13 bind error: NJS-037 118.2.14 bind error: NJS-052 118.3 PROCEDURE BIND_IN, UPDATE 118.3.1 update null with UROWID 118.3.2 update empty string with UROWID 118.3.3 update undefined with UROWID 118.3.4 works with default bind type/dir 118.3.5 works with default bind type/dir - null value 118.3.6 works with default bind type/dir - empty string 118.3.7 works with default bind type/dir - undefined 119. urowidProcedureBindAsString2.js 119.1 PROCEDURE BIND_OUT as UROWID 119.1.1 works with null 119.1.2 works with empty string 119.1.3 works with undefined 119.1.4 works with NaN 119.1.5 works with extended ROWID 119.1.6 works with restricted ROWID 119.1.7 works with string 0 119.1.8 works with number 0 119.1.9 works with default bind type/dir - extended ROWID 119.1.10 works with default bind type/dir - null value 119.1.11 works with default bind type/dir - empty string 119.1.12 works with default bind type/dir - undefined 119.1.13 bind error: NJS-037 119.1.14 bind error: NJS-052 119.2 PROCEDURE BIND_OUT as string 119.2.1 works with null 119.2.2 works with empty string 119.2.3 works with undefined 119.2.4 works with NaN 119.2.5 works with extended ROWID 119.2.6 works with restricted ROWID 119.2.7 works with string 0 119.2.8 works with number 0 119.2.9 works with default bind type/dir - extended ROWID 119.2.10 works with default bind type/dir - null value 119.2.11 works with default bind type/dir - empty string 119.2.12 works with default bind type/dir - undefined 119.2.13 bind error: NJS-037 119.2.14 bind error: NJS-052 119.3 PROCEDURE BIND_IN, UPDATE 119.3.1 update null with UROWID 119.3.2 update empty string with UROWID 119.3.3 update undefined with UROWID 119.3.4 works with default bind type/dir 119.3.5 works with default bind type/dir - null value 119.3.6 works with default bind type/dir - empty string 119.3.7 works with default bind type/dir - undefined 120. urowidProcedureBindAsString3.js 120.1 PROCEDURE BIND_INOUT as UROWID 120.1.1 works with null 120.1.2 works with empty string 120.1.3 works with undefined 120.1.4 works with NaN 120.1.5 works with extended ROWID 120.1.6 works with restricted ROWID 120.1.7 works with string 0 120.1.8 works with number 0 120.1.9 works with default bind type/dir - extended ROWID 120.1.10 works with default bind type/dir - null value 120.1.11 works with default bind type/dir - empty string 120.1.12 works with default bind type/dir - undefined 120.1.13 bind error: NJS-037 120.1.14 bind error: NJS-052 120.2 PROCEDURE BIND_INOUT as string 120.2.1 works with null 120.2.2 works with empty string 120.2.3 works with undefined 120.2.4 works with NaN 120.2.5 works with extended ROWID 120.2.6 works with restricted ROWID 120.2.7 works with string 0 120.2.8 works with number 0 120.2.9 works with default bind type/dir - extended ROWID 120.2.10 works with default bind type/dir - null value 120.2.11 works with default bind type/dir - empty string 120.2.12 works with default bind type/dir - undefined 120.2.13 bind error: NJS-037 120.2.14 bind error: NJS-052 120.3 PROCEDURE BIND_IN, UPDATE 120.3.1 update null with UROWID 120.3.2 update empty string with UROWID 120.3.3 update undefined with UROWID 120.3.4 works with default bind type/dir 120.3.5 works with default bind type/dir - null value 120.3.6 works with default bind type/dir - empty string 120.3.7 works with default bind type/dir - undefined 121. urowidFunctionBindAsString1.js 121.1 FUNCTION BIND_IN/OUT as UROWID 121.1.1 works with null 121.1.2 works with empty string 121.1.3 works with undefined 121.1.4 works with NaN 121.1.5 works with extended ROWID 121.1.6 works with restricted ROWID 121.1.7 works with string 0 121.1.8 works with number 0 121.1.9 works with default bind type/dir - extended ROWID 121.1.10 works with default bind type/dir - null value 121.1.11 works with default bind type/dir - empty string 121.1.12 works with default bind type/dir - undefined 121.1.13 bind error: NJS-037 121.1.14 bind error: NJS-052 121.2 FUNCTION BIND_IN/OUT as string 121.2.1 works with null 121.2.2 works with empty string 121.2.3 works with undefined 121.2.4 works with NaN 121.2.5 works with extended ROWID 121.2.6 works with restricted ROWID 121.2.7 works with string 0 121.2.8 works with number 0 121.2.9 works with default bind type/dir - extended ROWID 121.2.10 works with default bind type/dir - null value 121.2.11 works with default bind type/dir - empty string 121.2.12 works with default bind type/dir - undefined 121.2.13 bind error: NJS-037 121.2.14 bind error: NJS-052 121.3 FUNCTION BIND_IN, UPDATE 121.3.1 update null with UROWID 121.3.2 update empty string with UROWID 121.3.3 update undefined with UROWID 121.3.4 works with default bind type/dir 121.3.5 works with default bind type/dir - null value 121.3.6 works with default bind type/dir - empty string 121.3.7 works with default bind type/dir - undefined 122. urowidFunctionBindAsString2.js 122.1 FUNCTION BIND_INOUT as UROWID 122.1.1 works with null 122.1.2 works with empty string 122.1.3 works with undefined 122.1.4 works with NaN 122.1.5 works with extended ROWID 122.1.6 works with restricted ROWID 122.1.7 works with string 0 122.1.8 works with number 0 122.1.9 works with default bind type/dir - extended ROWID 122.1.10 works with default bind type/dir - null value 122.1.11 works with default bind type/dir - empty string 122.1.12 works with default bind type/dir - undefined 122.1.13 bind error: NJS-037 122.1.14 bind error: NJS-052 122.2 FUNCTION BIND_INOUT as string 122.2.1 works with null 122.2.2 works with empty string 122.2.3 works with undefined 122.2.4 works with NaN 122.2.5 works with extended ROWID 122.2.6 works with restricted ROWID 122.2.7 works with string 0 122.2.8 works with number 0 122.2.9 works with default bind type/dir - extended ROWID 122.2.10 works with default bind type/dir - null value 122.2.11 works with default bind type/dir - empty string 122.2.12 works with default bind type/dir - undefined 122.2.13 bind error: NJS-037 122.2.14 bind error: NJS-052 122.3 FUNCTION BIND_INOUT, UPDATE 122.3.1 update null with UROWID 122.3.2 update empty string with UROWID 122.3.3 update undefined with UROWID 122.3.4 works with default bind type/dir 122.3.5 works with default bind type/dir - null value 122.3.6 works with default bind type/dir - empty string 122.3.7 works with default bind type/dir - undefined 123. dataTypeNclob.js 123.1 insert and stream out 123.1.1 works with data size 100 123.1.2 works with data size 3000 123.2 insert and fetch as string with fetchInfo 123.2.1 works with data size 100 123.2.2 works with data size 3000 123.2.3 works with resultSet 123.3 insert and fetch as string with oracledb.fetchAsString 123.3.1 works with data size 100 123.3.2 works with data size 3000 123.3.2 works with resultSet 123.4 ref cursor 123.4.1 columns fetched from REF CURSORS can be mapped by fetchInfo settings 123.4.2 columns fetched from REF CURSORS can be mapped by oracledb.fetchAsString 123.5 stores null value correctly 123.5.1 works with Null, Empty string and Undefined 124. nclobDMLBindAsString.js 124.1 DML binding 124.1.1 bind in via INSERT 124.1.2 bind out via RETURNING INTO 124.1.3 bind in via UPDATE 124.1.3 bind in via WHERE 125. longDMLBind.js 125.1 INSERT and SELECT 125.1.1 works with data size 64K - 1 125.1.2 works with data size 64K 125.1.3 works with data size 64K + 1 125.1.4 works with data size 1MB + 1 125.2 UPDATE 125.2.1 works with data size 64K - 1 125.2.2 works with data size 64K 125.2.3 works with data size 64K + 1 125.2.4 works with data size 1MB + 1 125.3 RETURNING INTO 125.3.1 do not support in returning into 126. longrawDMLBind.js 126.1 INSERT and SELECT 126.1.1 works with data size 64K - 1 126.1.2 works with data size 64K 126.1.3 works with data size 64K + 1 126.1.4 works with data size 1MB + 1 126.1.5 works with data size 100 126.1.6 set maxSize to 2000 126.1.7 set maxSize to 4GB 126.2 UPDATE 126.2.1 works with data size 64K - 1 126.2.2 works with data size 64K 126.2.3 works with data size 64K + 1 126.2.4 works with data size 1MB + 1 126.2.5 set maxSize to 2000 126.2.6 set maxSize to 4GB 126.3 RETURNING INTO 126.3.1 do not support in returning into 127.blobStream.js 127.1 stream txt file into BLOB column 127.1.1 works with 64K txt file 127.1.2 works with 64K+1 txt file 127.1.3 works with 1MB+1 txt file 128.clobStream.js 128.1 stream txt file into CLOB column 128.1.1 works with 64KB txt file 128.1.2 works with 64KB+1 txt file 128.1.3 works with 1MB+1 txt file 129. longProcedureBind_inout.js 129.1 PLSQL PROCEDURE BIND IN OUT AS LONG 129.1.1 works with NULL 129.1.2 works with undefined 129.1.3 works with empty string 129.1.4 works with data size 4000 129.1.5 works with data size (32K - 1) 129.1.6 set maxSize to size (32K - 1) 129.1.7 set maxSize to size 1GB 129.2 PLSQL PROCEDURE BIND IN OUT AS STRING 129.2.1 works with NULL 129.2.2 works with undefined 129.2.3 works with empty string 129.2.4 works with data size 4000 129.2.5 works with data size (32K - 1) 129.2.6 set maxSize to size (32K - 1) 129.2.7 set maxSize to size 1GB 130. longProcedureBind_out.js 130.1 PLSQL PROCEDURE BIND OUT AS LONG 130.1.1 works with NULL 130.1.2 works with undefined 130.1.3 works with empty string 130.1.4 works with data size 4000 130.1.5 works with data size (32K - 1) 130.1.6 set maxSize to size (32K - 1) 130.1.7 set maxSize to size 1GB 130.2 PLSQL PROCEDURE BIND OUT AS STRING 130.2.1 works with NULL 130.2.2 works with undefined 130.2.3 works with empty string 130.2.4 works with data size 4000 130.2.5 works with data size (32K - 1) 130.2.6 set maxSize to size (32K - 1) 130.2.7 set maxSize to size 1GB 131. longProcedureBind_in.js 131.1 PLSQL PROCEDURE BIND IN AS LONG 131.1.1 works with NULL 131.1.2 works with undefined 131.1.3 works with empty string 131.1.4 works with data size 4000 131.1.5 works with data size (32K - 1) 131.1.6 set maxSize to size (32K - 1) 131.1.7 set maxSize to size 1GB 131.2 PLSQL PROCEDURE BIND IN AS STRING 131.2.1 works with NULL 131.2.2 works with undefined 131.2.3 works with empty string 131.2.4 works with data size 4000 131.2.5 works with data size (32K - 1) 131.2.6 set maxSize to size (32K - 1) 131.2.7 set maxSize to size 1GB 132. longrawProcedureBind_in.js 132.1 PLSQL PROCEDURE BIND IN AS LONG RAW 132.1.1 works with NULL 132.1.2 works with undefined 132.1.3 works with empty buffer 132.1.4 works with data size 2000 132.1.5 works with data size (32K - 1) 132.1.6 set maxSize to size (32K - 1) 132.1.7 set maxSize to size 1GB 132.2 PLSQL PROCEDURE BIND IN AS RAW 132.2.1 works with NULL 132.2.2 works with undefined 132.2.3 works with empty buffer 132.2.4 works with data size 2000 132.2.5 works with data size 32767 132.2.6 set maxSize to size (32K - 1) 132.2.7 set maxSize to size 1GB 133. longrawProcedureBind_inout.js 133.1 PLSQL PROCEDURE BIND IN OUT AS LONG RAW 133.1.1 works with NULL 133.1.2 works with undefined 133.1.3 works with empty buffer 133.1.4 works with data size 2000 133.1.5 works with data size 32760 133.1.6 set maxSize to size (32K - 1) 133.1.7 set maxSize to size 1GB 133.2 PLSQL PROCEDURE BIND IN OUT AS RAW 133.2.1 works with NULL 133.2.2 works with undefined 133.2.3 works with empty buffer 133.2.4 works with data size 2000 133.2.5 works with data size 32760 133.2.6 set maxSize to size (32K - 1) 133.2.7 set maxSize to size 1GB 134. longrawProcedureBind_out.js 134.1 PLSQL PROCEDURE BIND OUT AS LONG RAW 134.1.1 works with NULL 134.1.2 works with undefined 134.1.3 works with empty buffer 134.1.4 works with data size 2000 134.1.5 works with data size 32760 134.1.6 set maxSize to size (32K - 1) 134.1.7 set maxSize to size 1GB 134.2 PLSQL PROCEDURE BIND OUT AS RAW 134.2.1 works with NULL 134.2.2 works with undefined 134.2.3 works with empty buffer 134.2.4 works with data size 2000 134.2.5 works with data size 32760 134.2.6 set maxSize to size (32K - 1) 134.2.7 set maxSize to size 1GB 135. clobDMLReturningMultipleRowsAsStream.js 135.1 CLOB DML returning multiple rows as stream 135.1.1 CLOB DML returning multiple rows as stream 136. clobDMLReturningMultipleRowsAsString.js 136.1 CLOB DML returning multiple rows as String 136.1.1 CLOB DML returning multiple rows as String 137. blobDMLReturningMultipleRowsAsBuffer.js 137.1 BLOB DML returning multiple rows as buffer 137.1.1 BLOB DML returning multiple rows as buffer 138. blobDMLReturningMultipleRowsAsStream.js 138.1 BLOB DML returning multiple rows as stream 138.1.1 BLOB DML returning multiple rows as stream 139. fetchAsStringWithRefCursor.js 139.1 columns fetched from REF CURSORS can be mapped by fetchInfo settings 139.2 fetchAsString takes effect as well 140. jsObjectGetter1.js 140.1 Negative: overwrite the getter() function of bind in objects 140.1.1 ProcessBindsByName() 140.1.2 ProcessBindsByPos() 140.2 Negative (ProcessBind): OUT bind with properties altered 140.2.1 140.3 Negative: PL/SQL Indexed Table 140.3.1 bind an element being altered-JSON object 140.3.2 GetBindTypeAndSizeFromValue() 140.4 Negative: fetchInfo 140.4.1 changes getter() of fetchInfo itself 140.4.2 changes getter() of the value of fetchInfo object 140.5 Negative: Bool type 140.5.1 option - autoCommit 140.5.2 option - extendedMetaData 140.6 Negative: positive Int type 140.6.1 option - fetchArraySize 140.7 Negative: Pool object 140.7.1 String type - user 140.7.2 String type - password 140.7.3 String type - connectString 140.7.4 poolMin 140.7.5 poolMax 140.7.6 poolIncrement 140.7.7 poolTimeout 140.7.8 poolPingInterval 140.7.9 stmtCacheSize 140.8 Negative: Get Connection 140.8.1 String type: user 140.8.2 String type: password 140.8.3 String type: connectionString 140.8.4 Constant type: privilege 141. insertNaNToNumber.js 141.1 SQL, stores NaN 141.1.1 insert NaN to NUMBER column will report ORA-00984 141.1.2 binding in NaN by name into Oracle NUMBER column throws DPI-1055 141.1.3 binding in NaN by position into Oracle NUMBER column throws DPI-1055 141.2 PL/SQL, Function, bind NaN 141.2.1 binding in NaN by name into Oracle NUMBER column throws DPI-1055 141.2.2 binding in NaN by position into Oracle NUMBER column throws DPI-1055 141.2.3 binding inout NaN by name into Oracle NUMBER column throws DPI-1055 141.2.4 binding inout NaN by position into Oracle NUMBER column throws DPI-1055 141.3 PL/SQL, Procedure, bind NaN 141.3.1 binding in NaN by name into Oracle NUMBER column throws DPI-1055 141.3.2 binding in NaN by position into Oracle NUMBER column throws DPI-1055 141.3.3 binding inout NaN by name into Oracle NUMBER column throws DPI-1055 141.3.4 binding inout NaN by position into Oracle NUMBER column throws DPI-1055 141.4 PL/SQL, Procedure, bind NaN, indexed table 141.4.1 binding in NaN by name into Oracle NUMBER column throws DPI-1055 141.4.2 binding in NaN by position into Oracle NUMBER column throws DPI-1055 141.4.3 binding inout NaN by name into Oracle NUMBER column throws DPI-1055 141.4.4 binding inout NaN by position into Oracle NUMBER column throws DPI-1055 142. urowidFunctionBindAsString3.js 142.1 FUNCTION BIND_IN/OUT as UROWID 142.1.1 urowid length > 200 142.1.2 urowid length > 500 142.1.3 urowid length > 2000 142.2 FUNCTION BIND_IN/OUT as string 142.2.1 urowid length > 200 142.2.2 urowid length > 500 142.2.3 urowid length > 2000 142.3 FUNCTION BIND_IN, UPDATE 142.3.1 update with UROWID > 200 142.3.2 update with UROWID > 500 142.3.3 update with UROWID > 2000 143. urowidFunctionBindAsString4.js 143.1 FUNCTION BIND_INOUT as UROWID 143.1.1 urowid length > 200 143.1.2 urowid length > 500 143.1.3 urowid length > 2000 143.2 FUNCTION BIND_INOUT as string 143.2.1 urowid length > 200 143.2.2 urowid length > 500 143.2.3 urowid length > 2000 143.3 FUNCTION BIND_INOUT, UPDATE 143.3.1 update with UROWID > 200 143.3.2 update with UROWID > 500 143.3.3 update with UROWID > 2000 144. urowidProcedureBindAsString4.js 144.1 PROCEDURE BIND_IN as UROWID 144.1.1 urowid length > 500 144.1.2 urowid length > 1000 144.1.3 urowid length > 2000 144.2 PROCEDURE BIND_IN as string 144.2.1 urowid length > 500 144.2.2 urowid length > 1000 144.2.3 urowid length > 2000 144.3 PROCEDURE BIND_IN, UPDATE 144.3.1 update with urowid length > 500 144.3.2 update with urowid length > 1000 144.3.3 update with urowid length > 2000 145. urowidProcedureBindAsString5.js 145.1 PROCEDURE BIND_OUT as UROWID 145.1.1 urowid length > 500 145.1.2 urowid length > 1000 145.1.3 urowid length > 2000 145.2 PROCEDURE BIND_OUT as STRING 145.2.1 urowid length > 500 145.2.2 urowid length > 1000 145.2.3 urowid length > 2000 146. urowidProcedureBindAsString6.js 146.1 PROCEDURE BIND_INOUT as UROWID 146.1.1 urowid length > 500 146.1.2 urowid length > 1000 146.1.3 urowid length > 2000 146.2 PROCEDURE BIND_INOUT as string 146.2.1 urowid length > 500 146.2.2 urowid length > 1000 146.2.3 urowid length > 2000 146.3 PROCEDURE BIND_INOUT, UPDATE 146.3.1 update with urowid length > 500 146.3.2 update with urowid length > 1000 146.3.3 update with urowid length > 2000 147. prefetchRows.js 147.1 prefetchRows with simple execution 147.1.1 set oracledb.prefetchRows to be 0 147.1.2 Negative - negative value 147.1.3 Negative - NaN 147.1.4 Negative - undefined 147.1.5 Negative - null 147.1.6 Negative - random string 147.1.7 Negative - Boolean 147.1.8 execute() option, value of 0 147.1.9 Negative - negative value 147.1.10 Negative - NaN 147.1.11 execute() option, undefined, get overrided by global attribute 147.1.12 Negative - null 147.1.13 Negative - random string 147.1.14 Negative - Boolean 147.1.15 Query round-trips with no prefetch 147.1.16 Query round-trips with prefetch equal to row count 147.1.17 Query round-trips with prefetch > row count and fetchArraySize > row count 147.1.18 Query round-trips with prefetch > row count and fetchArraySize < row count 147.1.19 Query round-trips with prefetch < row count and fetchArraySize > total rows 147.1.20 Query round-trips with prefetch < row count and fetchArraySize = total rows 147.1.21 Query round-trips with prefetch < row count fetchArraySize < total rows 147.2 prefetchRows with resultSet 147.2.1 set oracledb.prefetchRows to be 0 147.2.2 execute() option, value of 0 147.2.3 Negative - negative value 147.2.4 Negative - NaN 147.2.5 execute() option, undefined, get overrided by global attribute 147.2.6 Negative - null 147.2.7 Negative - random string 147.2.8 Negative - Boolean 147.2.9 Query round-trips with no prefetch 147.2.10 Query round-trips with prefetch equal to row count 147.2.11 Query round-trips with prefetch larger than row count 147.2.12 Query round-trips with prefetch < row count, fetchArraySize < row count and getRows() 147.2.13 Query round-trips with prefetch < row count, fetchArraySize > row count and getRows(n < row count) 147.2.14 Query round-trips with prefetch < row count, fetchArraySize > row count and getRows(n > row count) 147.2.15 Query round-trips with prefetch < row count, fetchArraySize > row count and getRows() 147.3 prefetchRows with queryStream 147.3.1 set oracledb.prefetchRows to be 0 147.3.2 execute() option, value of 0 147.3.3 execute() option, undefined, get overrided by global attribute 147.3.4 Query round-trips with no prefetch 147.3.5 Query round-trips with prefetch equal to row count 147.3.6 Query round-trips with prefetch larger than row count 147.3.7 Query round-trips with prefetch < row count and fetchArraySize < row count 147.3.8 Query round-trips with prefetch < row count and fetchArraySize > row count 148. fetchArraySize1.js 148.1 oracledb.fetchArraySize 148.1.1 oracledb.fetchArraySize = 0 148.1.2 oracledb.fetchArraySize = 1 148.1.3 Negative: oracledb.fetchArraySize = undefined 148.1.4 Negative: oracledb.fetchArraySize = null 148.1.5 Negative: oracledb.fetchArraySize = random string 148.1.6 Negative: oracledb.fetchArraySize = Boolean 148.1.7 Negative: oracledb.fetchArraySize = NaN 148.1.8 oracledb.fetchArraySize = big number 148.2 execute() option fetchArraySize 148.2.1 fetchArraySize = 0 148.2.2 fetchArraySize = 1 148.2.3 fetchArraySize = undefined works as default value 100 148.2.4 Negative: fetchArraySize = null 148.2.5 Negative: fetchArraySize = random string 148.2.6 Negative: fetchArraySize = Boolean 148.2.7 Negative: fetchArraySize = NaN 148.2.8 fetchArraySize = big number 149. fetchArraySize2.js 149.1 basic fetch with different maxRows and oracledb.fetchArraySize 149.1.1 maxRows > table size > oracledb.fetchArraySize 149.1.2 maxRows > oracledb.fetchArraySize > table size 149.1.3 table size > maxRows > oracledb.fetchArraySize 149.1.4 table size > oracledb.fetchArraySize > maxRow 149.1.5 maxRows = oracledb.fetchArraySize < table size 149.1.6 maxRows = oracledb.fetchArraySize = table size 149.1.7 maxRows = oracledb.fetchArraySize > table size 149.1.8 maxRows = oracledb.fetchArraySize/10 149.1.9 maxRows = 10 * oracledb.fetchArraySize 149.1.10 maxRows > fetchArraySize, fetchArraySize = (table size)/10 149.1.11 maxRows = 0, fetchArraySize = table size 149.1.12 maxRows = 9999999, fetchArraySize = table size 149.1.13 maxRows = (table size - 1), fetchArraySize = table size 149.1.14 fetchArraySize = (table size - 1), maxRows = table size 149.2 REF CURSORS with different numRows and oracledb.fetchArraySize 149.2.1 numRows > table size > oracledb.fetchArraySize 149.2.2 numRows > oracledb.fetchArraySize > table size 149.2.3 table size > numRows > oracledb.fetchArraySize 149.2.4 table size > oracledb.fetchArraySize > maxRow 149.2.5 numRows = oracledb.fetchArraySize < table size 149.2.6 numRows = oracledb.fetchArraySize = table size 149.2.7 numRows = oracledb.fetchArraySize > table size 149.2.8 numRows = oracledb.fetchArraySize/10 149.2.9 numRows = 10 * oracledb.fetchArraySize 149.2.10 numRows > fetchArraySize, fetchArraySize = (table size)/10 149.2.11 numRows = (table size - 1), fetchArraySize = table size 149.2.12 fetchArraySize = (table size - 1), numRows = table size 149.3 queryStream() with different maxRows and oracledb.fetchArraySize 149.3.1 maxRows > table size > oracledb.fetchArraySize 149.3.2 maxRows > oracledb.fetchArraySize > table size 149.3.3 table size > maxRows > oracledb.fetchArraySize 149.3.4 table size > oracledb.fetchArraySize > maxRow 149.3.5 maxRows = oracledb.fetchArraySize < table size 149.3.6 maxRows = oracledb.fetchArraySize = table size 149.3.7 maxRows = oracledb.fetchArraySize > table size 149.3.8 maxRows = oracledb.fetchArraySize/10 149.3.9 maxRows = 10 * oracledb.fetchArraySize 149.3.10 maxRows > fetchArraySize, fetchArraySize = (table size)/10 149.3.11 maxRows = 0, fetchArraySize = table size 149.3.12 maxRows = 9999999, fetchArraySize = table size 149.3.13 maxRows = (table size - 1), fetchArraySize = table size 149.3.14 fetchArraySize = (table size - 1), maxRows = table size 150. fetchArraySize3.js 150.1 DML binding 150.1.1 oracledb.fetchArraySize = 1 150.1.2 oracledb.fetchArraySize = tableSize/20 150.1.3 oracledb.fetchArraySize = tableSize/10 150.1.4 oracledb.fetchArraySize = tableSize 150.1.5 oracledb.fetchArraySize = (table size - 1) 150.2 procedure binding 150.2.1 Bind OUT with oracledb.fetchArraySize = 1 150.2.2 Bind OUT with oracledb.fetchArraySize = tableSize/20 150.2.3 Bind OUT with oracledb.fetchArraySize = tableSize/10 150.2.4 Bind OUT with oracledb.fetchArraySize = tableSize 150.2.5 Bind OUT with oracledb.fetchArraySize = (table size - 1) 150.2.6 Bind IN OUT with oracledb.fetchArraySize = 1 150.2.7 Bind IN OUT with oracledb.fetchArraySize = tableSize/20 150.2.8 Bind IN OUT with oracledb.fetchArraySize = tableSize/10 150.2.9 Bind IN OUT with oracledb.fetchArraySize = tableSize 150.2.10 Bind IN OUT with oracledb.fetchArraySize = (table size - 1) 150.3 function binding 150.3.1 Bind OUT with oracledb.fetchArraySize = 1 150.3.2 Bind OUT with oracledb.fetchArraySize = tableSize/20 150.3.3 Bind OUT with oracledb.fetchArraySize = tableSize/10 150.3.4 Bind OUT with oracledb.fetchArraySize = tableSize 150.3.5 Bind OUT with oracledb.fetchArraySize = (table size - 1) 150.3.6 Bind IN OUT with oracledb.fetchArraySize = 1 150.3.7 Bind IN OUT with oracledb.fetchArraySize = tableSize/20 150.3.8 Bind IN OUT with oracledb.fetchArraySize = tableSize/10 150.3.9 Bind IN OUT with oracledb.fetchArraySize = tableSize 150.3.10 Bind IN OUT with oracledb.fetchArraySize = (table size - 1) 151. fetchArraySize4.js 151.1 getRows() of resultSet = true 151.1.1 numRows > table size > oracledb.fetchArraySize 151.1.2 numRows > oracledb.fetchArraySize > table size 151.1.3 table size > numRows > oracledb.fetchArraySize 151.1.4 table size > oracledb.fetchArraySize > maxRow 151.1.5 numRows = oracledb.fetchArraySize < table size 151.1.6 numRows = oracledb.fetchArraySize = table size 151.1.7 numRows = oracledb.fetchArraySize > table size 151.1.8 numRows = oracledb.fetchArraySize/10 151.1.9 numRows = 10 * oracledb.fetchArraySize 151.1.10 numRows > fetchArraySize, fetchArraySize = (table size)/10 151.1.11 numRows = (table size - 1), fetchArraySize = table size 151.1.12 fetchArraySize = (table size - 1), numRows = table size 151.2 getRow() of resultSet = true 151.2.1 oracledb.fetchArraySize = 1 151.2.2 oracledb.fetchArraySize = tableSize/50 151.2.3 oracledb.fetchArraySize = tableSize/20 151.2.4 oracledb.fetchArraySize = tableSize/10 151.2.5 oracledb.fetchArraySize = tableSize/5 151.2.6 oracledb.fetchArraySize = tableSize 151.2.7 oracledb.fetchArraySize = (table size - 1) 151.3 interleaved calls to getRow() and getRows() 151.3.1 oracledb.fetchArraySize = 1 151.3.2 oracledb.fetchArraySize = tableSize/50 151.3.3 oracledb.fetchArraySize = tableSize/20 151.3.4 oracledb.fetchArraySize = tableSize/10 151.3.5 oracledb.fetchArraySize = tableSize/5 151.3.6 oracledb.fetchArraySize = tableSize 151.3.6 oracledb.fetchArraySize = (table size - 1) 152. fetchArraySize5.js 152.1 basic fetch with different maxRows and fetchArraySize 152.1.1 maxRows > table size > fetchArraySize 152.1.2 maxRows > fetchArraySize > table size 152.1.3 table size > maxRows > fetchArraySize 152.1.4 table size > fetchArraySize > maxRow 152.1.5 maxRows = fetchArraySize < table size 152.1.6 maxRows = fetchArraySize = table size 152.1.7 maxRows = fetchArraySize > table size 152.1.8 maxRows = fetchArraySize/10 152.1.9 maxRows = 10 * fetchArraySize 152.1.10 maxRows > fetchArraySize, fetchArraySize = (table size)/10 152.1.11 maxRows = 0, fetchArraySize = table size 152.1.12 maxRows = (table size - 1), fetchArraySize = table size 152.1.13 fetchArraySize = (table size - 1), maxRows = table size 152.2 REF CURSORS with different numRows and fetchArraySize 152.2.1 numRows > table size > fetchArraySize 152.2.2 numRows > fetchArraySize > table size 152.2.3 table size > numRows > fetchArraySize 152.2.4 table size > fetchArraySize > maxRow 152.2.5 numRows = fetchArraySize < table size 152.2.6 numRows = fetchArraySize = table size 152.2.7 numRows = fetchArraySize > table size 152.2.8 numRows = fetchArraySize/10 152.2.9 numRows = 10 * fetchArraySize 152.2.10 numRows > fetchArraySize, fetchArraySize = (table size)/10 152.2.11 numRows = (table size - 1), fetchArraySize = table size 152.2.12 fetchArraySize = (table size - 1), numRows = table size 152.3 queryStream() with different maxRows and fetchArraySize 152.3.1 maxRows > table size > fetchArraySize 152.3.2 maxRows > fetchArraySize > table size 152.3.3 table size > maxRows > fetchArraySize 152.3.4 table size > fetchArraySize > maxRow 152.3.5 maxRows = fetchArraySize < table size 152.3.6 maxRows = fetchArraySize = table size 152.3.7 maxRows = fetchArraySize > table size 152.3.8 maxRows = fetchArraySize/10 152.3.9 maxRows = 10 * fetchArraySize 152.3.10 maxRows > fetchArraySize, fetchArraySize = (table size)/10 152.3.11 maxRows = 0, fetchArraySize = table size 152.3.12 maxRows = (table size - 1), fetchArraySize = table size 152.3.13 fetchArraySize = (table size - 1), maxRows = table size 153. fetchArraySize6.js 153.1 DML binding 153.1.1 fetchArraySize = 1 153.1.2 fetchArraySize = tableSize/20 153.1.3 fetchArraySize = tableSize/10 153.1.4 fetchArraySize = tableSize 153.1.5 fetchArraySize = (table size - 1) 153.2 procedure binding 153.2.1 Bind OUT with fetchArraySize = 1 153.2.2 Bind OUT with fetchArraySize = tableSize/20 153.2.3 Bind OUT with fetchArraySize = tableSize/10 153.2.4 Bind OUT with fetchArraySize = tableSize 153.2.5 Bind OUT with fetchArraySize = (table size - 1) 153.2.6 Bind IN OUT with fetchArraySize = 1 153.2.7 Bind IN OUT with fetchArraySize = tableSize/20 153.2.8 Bind IN OUT with fetchArraySize = tableSize/10 153.2.9 Bind IN OUT with fetchArraySize = tableSize 153.2.10 Bind IN OUT with fetchArraySize = (table size - 1) 153.3 function binding 153.3.1 Bind OUT with fetchArraySize = 1 153.3.2 Bind OUT with fetchArraySize = tableSize/20 153.3.3 Bind OUT with fetchArraySize = tableSize/10 153.3.4 Bind OUT with fetchArraySize = tableSize 153.3.5 Bind OUT with fetchArraySize = (table size - 1) 153.3.6 Bind IN OUT with fetchArraySize = 1 153.3.7 Bind IN OUT with fetchArraySize = tableSize/20 153.3.8 Bind IN OUT with fetchArraySize = tableSize/10 153.3.9 Bind IN OUT with fetchArraySize = tableSize 153.3.10 Bind IN OUT with fetchArraySize = (table size - 1) 154. fetchArraySize7.js 154.1 getRows() of resultSet = true 154.1.1 numRows > table size > fetchArraySize 154.1.2 numRows > fetchArraySize > table size 154.1.3 table size > numRows > fetchArraySize 154.1.4 table size > fetchArraySize > maxRow 154.1.5 numRows = fetchArraySize < table size 154.1.6 numRows = fetchArraySize = table size 154.1.7 numRows = fetchArraySize > table size 154.1.8 numRows = fetchArraySize/10 154.1.9 numRows = 10 * fetchArraySize 154.1.10 numRows > fetchArraySize, fetchArraySize = (table size)/10 154.1.11 numRows = (table size - 1), fetchArraySize = table size 154.1.12 fetchArraySize = (table size - 1), numRows = table size 154.2 getRow() of resultSet = true 154.2.1 fetchArraySize = 1 154.2.2 fetchArraySize = tableSize/50 154.2.3 fetchArraySize = tableSize/20 154.2.4 fetchArraySize = tableSize/10 154.2.5 fetchArraySize = tableSize/5 154.2.6 fetchArraySize = tableSize 154.2.7 fetchArraySize = (table size - 1) 154.3 interleaved calls to getRow() and getRows() 154.3.1 fetchArraySize = 1 154.3.2 fetchArraySize = tableSize/50 154.3.3 fetchArraySize = tableSize/20 154.3.4 fetchArraySize = tableSize/10 154.3.5 fetchArraySize = tableSize/5 154.3.6 fetchArraySize = tableSize 154.3.7 fetchArraySize = (tableSize - 1) 155. fetchArraySize8.js 155.1 Streaming clobs with different oracledb.fetchArraySize 155.1.1 maxRows > table size > oracledb.fetchArraySize 155.1.2 maxRows > oracledb.fetchArraySize > table size 155.1.3 table size > maxRows > oracledb.fetchArraySize 155.1.4 table size > oracledb.fetchArraySize > maxRow 155.1.5 maxRows = oracledb.fetchArraySize < table size 155.1.6 maxRows = oracledb.fetchArraySize = table size 155.1.7 maxRows = oracledb.fetchArraySize > table size 155.1.8 maxRows = oracledb.fetchArraySize/10 155.1.9 maxRows = 10 * oracledb.fetchArraySize 155.1.10 maxRows > fetchArraySize, fetchArraySize = (table size)/10 155.1.11 maxRows = 0, fetchArraySize = table size 155.1.12 maxRows = (table size - 1), fetchArraySize = table size 155.1.13 fetchArraySize = (table size - 1), maxRows = table size 155.2 Streaming clobs with different execute() option fetchArraySize 155.2.1 maxRows > table size > oracledb.fetchArraySize 155.2.2 maxRows > oracledb.fetchArraySize > table size 155.2.3 table size > maxRows > oracledb.fetchArraySize 155.2.4 table size > oracledb.fetchArraySize > maxRow 155.2.5 maxRows = oracledb.fetchArraySize < table size 155.2.6 maxRows = oracledb.fetchArraySize = table size 155.2.7 maxRows = oracledb.fetchArraySize > table size 155.2.8 maxRows = oracledb.fetchArraySize/10 155.2.9 maxRows = 10 * oracledb.fetchArraySize 155.2.10 maxRows > fetchArraySize, fetchArraySize = (table size)/10 155.2.11 maxRows = 0, fetchArraySize = table size 155.2.12 maxRows = (table size - 1), fetchArraySize = table size 155.2.13 fetchArraySize = (table size - 1), maxRows = table size 156. fetchArraySize9.js 156.1 Streaming blobs with different oracledb.fetchArraySize 156.1.1 maxRows > table size > oracledb.fetchArraySize 156.1.2 maxRows > oracledb.fetchArraySize > table size 156.1.3 table size > maxRows > oracledb.fetchArraySize 156.1.4 table size > oracledb.fetchArraySize > maxRow 156.1.5 maxRows = oracledb.fetchArraySize < table size 156.1.6 maxRows = oracledb.fetchArraySize = table size 156.1.7 maxRows = oracledb.fetchArraySize > table size 156.1.8 maxRows = oracledb.fetchArraySize/10 156.1.9 maxRows = 10 * oracledb.fetchArraySize 156.1.10 maxRows > fetchArraySize, fetchArraySize = (table size)/10 156.1.11 maxRows = 0, fetchArraySize = table size 156.1.12 maxRows = (table size - 1), fetchArraySize = table size 156.1.13 fetchArraySize = (table size - 1), maxRows = table size 156.2 Streaming blobs with different execute() option fetchArraySize 156.2.1 maxRows > table size > oracledb.fetchArraySize 156.2.2 maxRows > oracledb.fetchArraySize > table size 156.2.3 table size > maxRows > oracledb.fetchArraySize 156.2.4 table size > oracledb.fetchArraySize > maxRow 156.2.5 maxRows = oracledb.fetchArraySize < table size 156.2.6 maxRows = oracledb.fetchArraySize = table size 156.2.7 maxRows = oracledb.fetchArraySize > table size 156.2.8 maxRows = oracledb.fetchArraySize/10 156.2.9 maxRows = 10 * oracledb.fetchArraySize 156.2.10 maxRows > fetchArraySize, fetchArraySize = (table size)/10 156.2.11 maxRows = 0, fetchArraySize = table size 156.2.12 maxRows = (table size - 1), fetchArraySize = table size 156.2.13 fetchArraySize = (table size - 1), maxRows = table size 157. maxRows.js 157.1 Default maxRows == 0, which means unlimited 157.2 specify the value at execution 157.3 equals to the total amount of rows 157.4 cannot set it to be a negative number 157.5 sets it to be large value 157.6 shows 12c new way to limit the number of records fetched by queries 157.7 oracledb.maxRows > 0 && oracledb.maxRows < totalAmount 157.8 oracledb.maxRows > 0, execute() with maxRows=0 158. insertAll.js 158.1 original case from the issue 158.2 inserts into one table 158.3 inserts into multiple tables 159. end2endTracing.js 159.1 set the end-to-end tracing attribute - module 159.2 set the tracing attribute - action 159.3 set the tracing attribure - clientId 160. editionTest.js 160.1 Default. No edition. Direct connection. 160.2 Default. No edition. Pooled connection. 160.3 Direct connection. Set edition at getting connection. 160.4 Pooled connection. Set edition at creating pool. 160.5 Direct connection. Change session edition. 160.6 Pooled connection. Change session edition. 160.7 sets edition globally. Direct connection. 160.8 sets edition globally. Pooled connection. 160.9 Negative - sets nonexistent edition globally 160.10 Direct connection. Set nonexistent edition. 160.11 Pooled connection. Set nonexistent edition. 160.12 sets to ora$base with direct connection 160.13 resets to ora$base in direct connection 160.14 sets to ora$base with pooled connection 160.15 sets to ora$base globally 160.16 overrides the global setting. Direct connection 160.17 sets to empty string. Direct connection. 160.18 Negative - invalid type. Direct connection. 160.19 Negative - invalid type. Pooled connection. 160.20 sets ORA_EDITION. Direct connection. 160.21 sets ORA_EDITION. Pooled connection. 160.22 sets ORA_EDITION. Direct connection. Set edition at getting connection. 160.23 sets ORA_EDITION. Pooled connection. Set edition at creating pool. 160.24 Negative - Sets ORA_EDITION with nonexistent value. Direct connection. 160.25 Negative - Sets ORA_EDITION with nonexistent value. Pooled connection. 161. changePassword.js 161.1 basic case 161.2 pooled connection 161.3 DBA changes password 161.4 connects with an expired password 161.5 for DBA, the original password is ignored 161.6 Negative: basic case, wrong original password 161.7 Negative: basic case. invalid parameter 161.8 Negative: non-DBA tries to change the password 161.9 Negative: invalid type of 'newPassword' 161.10 sets "newPassword" to be an empty string. password unchanged 161.11 connects with password that is expiring soon 161.12 longer Password tests 161.12.1 basic case with password length 1024 Bytes 161.12.2 pooled connection 161.12.3 DBA changes longer password 161.12.4 connects with an expired password 161.12.5 for DBA, the original password is ignored 161.12.6 Negative: basic case, wrong original password 161.12.7 Negative: basic case. invalid parameter 161.12.8 Negative: basic case. invalid parameter with 1025 bytes 161.12.9 Negative: non-DBA tries to change the password 161.12.10 Negative: invalid type of 'newPassword' 161.12.11 sets "newPassword" to be an empty string. longer password unchanged 162. getStmtInfo.js 162.1 SELECT 162.2 SELECT with data bind 162.3 unknown statement 162.4 Negative - unknown statement, invalid SQL 162.5 UPDATE with data bind 162.6 UPDATE and verify changes do not happen 162.7 DELETE with data bind 162.8 DELETE and verify changes do not happen 162.9 DELETE with subquery 162.10 INSERT with data bind 162.11 INSERT and verify 162.12 Negative - insert nonexistent table 162.13 Negative - INSERT with invalid SQL 162.14 CREATE and verify the data does not get created 162.15 CREATE procedure 162.16 CREATE, DDL statements are not parsed, so syntax errors in them will not be ported. 162.17 DROP 162.18 ALTER 162.19 ALTER with data bind 162.20 ALTER, invalid statement 162.21 BEGIN 162.22 BEGIN with data bind 162.23 DECLARE 162.24 COMMIT 162.25 ROLLBACK 162.26 TRUNCATE 163. executeMany1.js 163.1 inserts many rows with bind by name 163.2 inserts rows with bind by position 163.3 DML RETURNING that returns single value 163.4 DML RETURNING that returns multiple values 163.5 calls PL/SQL 163.6 shows dmlRowCounts 163.7 shows batchErrors behavior 163.8 Negative - batchErrors with non-DML statement 163.9 if batchErrors is disabled 163.10 Negative - dmlRowCounts with non-DML statement 163.11 numIterations - only OUT parameters 163.12 numIterations - No parameters 163.13 numIterations - DML RETURNING 163.14 Negative - set numIterations to be negative value 164. soda1.js 164.1 getSodaDatabase() creates a sodaDatabase Object 164.2 createCollection() creates a collection 164.3 openCollection() opens an existing collection 164.4 getCollectionNames() gets an array of collection names 164.5 the operation status of collection.drop() 164.6 Negative: the operation status of collection.drop() 164.7 get one document 164.8 get multiple documents 164.9 create index 164.10 the examples/soda1.js case 164.11 Negative: create collection with invalid metaData value 165. soda2.js 165.1 create two sodaDatabase objects which point to the same instance 165.2 create two sodaDatabase objects from two connections 165.3 will open this collection when creating a collection with the existing name 165.4 Negative - createCollection() when collection name is empty string 165.5 connections from a pool concurrently insert documents into the same collection 167 soda3.js 167.1 get collection names 167.2 getCollectionNames() - limit option 167.3 getCollectionNames() - limit is "undefined" 167.4 getCollectionNames() - limit is 0 167.5 getCollectionNames() - limit is null 167.6 getCollectionNames() - limit is an empty string 167.7 getCollectionNames() - limit is a negative number 167.8 startsWith option - basic test 167.9 startsWith is case sensitive 167.10 startsWith is an empty string 167.11 startsWith is null 167.12 Negative - startsWith has invalid type, a Number 167.13 openCollection() basic case 1 167.14 openCollection() basic case 2 167.15 the returned value is null if the requested collection does not exist 167.16 the requested collection name is case sensitive 168. soda4.js 168.1 insertOneAndGet() fetches attributes without content 168.2 content is null 168.3 get mediaType 170. poolDrain.js 170.1 close pool with force flag, and prevent new connection 170.2 close pool without force flag (will give out an error ), and prevent new connections 170.3 pool.status OPEN and DRAINING 170.4 pool.status CLOSED 170.5 basic case - iterate open connections and close them 170.6 pool is closed after drainTime 170.7 closes pool if no connection 170.8 works with poolAlias 170.9 works with and without poolAlias 170.10 Negative - try to modify read-only property pool.status 170.11 drainTime = 0 170.12 drainTime = -3 170.13 drainTime = NaN 170.14 draining a pool will not block the other pool 170.15 draining a pool will not block another aliased pool 171. jsObjectGetter2.js 171.1 oracledb.fetchAsBuffer 171.2 oracledb.fetchAsString 171.3 data bind 172. executeMany2.js 172.1 Negative - incorrect parameters 172.2 Binding tests for invalid binding variables 172.2.1 Negative - Bind by position and by name cannot be mixed 172.2.2 Negative - Bind an array which values are undefined will throw ORA-01008 172.2.3 Negative - Bind an array starts with undefined will throw ORA-01008 172.2.4 Negative - Bind an array contains undefined will throw JS TypeError 172.2.5 Negative - Bind an empty array 172.2.6 Negative - Set number of ierations to 0 173. soda5.js 173.1 create index, basic case 173.2 query row not via indexSpec 173.3 Negative - invalid indexSpec, invalid index property 173.4 collection.drop(), basic case 173.5 drop multiple times, no error thrown 173.6 dropIndex(), basic case 173.7 dropping index does not impact query 173.8 The index is dropped regardless of the auto commit mode 173.9 Negative - dropIndex() no parameter 173.10 option object of dropIndex(), basic case 173.11 option object of dropIndex(), boolean value is false 173.12 getDataGiuide(), basic case 174. soda6.js 174.1 filter() basic case 174.2 Negative - fiter(filterSpec) when filterSpec is null 174.3 filterSpec is OK to be an empty object 174.4 Key(), basic case 174.5 Key(), no matched key 174.6 Negative - Key(null) 174.7 Key(), invalid type 174.8 Keys(), basic case 174.9 Keys([]) empty array, it selects all documents 174.10 Negative - keys() no parameter 174.11 Negative - keys(null) 174.12 try to query documents with nonexistent keys 174.13 hint(), basic case 174.14 Negative - no parameter 174.15 Negative - invalid parameter type 175. soda7.js 175.1 count(), basic case 175.2 Negative - skip().count() 175.3 Negative - limit().count() 175.4 keys().count() 175.5 getCursor(), basic case 175.6 skip().getCursor() 175.7 getCursor(), empty document matched 175.8 Negative - close document cursor two times 175.9 getDocuments(), basic case 175.10 getDocuments(), no documents matched 175.11 getOne(), basic case 175.12 getOne(), the filter matches multiple documents 175.13 remove(), basic case 175.14 remove(), remove zero document 175.15 remove(), remove multiple times 176. soda8.js 176.1 replaceOne(), basic case with document content 176.2 replaceOne(), basic case with document object 175.3 replaceOne(), no error is reported if the query criteria do not match any document 175.4 Negative - replaceOne(), the key() method must be used 175.5 replaceOneAndGet(), basic case with document content 175.6 replaceOneAndGet(), basic case with document object 175.7 replaceOneAndGet(), updatedDocument does not have document content 175.8 replaceOneAndGet(), no error is reported if it does not match any document 177. soda9.js 177.1 insertOne() with a document content 177.2 insertOne() with a document 177.3 insertOneAndGet() with a document content 177.4 insertOneAndGet() with a document 177.5 createDocument() followd by getContent() i.e. without being inserted 178. soda10.js 178.1 insertMany() with newSodaDocumentArray 178.2 insertMany() with newSodaDocumentContentArray 178.3 insertManyAndGet() with newDocumentArray 178.4 insertManyAndGet() with newDocumentContentArray 178.5 Negative - insertMany() with an empty array 178.6 Negative - insertManyAndGet() with an empty array 178.7 insertManyAndGet() with hint option 178.8 Negative - insertManyAndGet() with invalid options parameter 179. soda11.js 179.1 create collection with metadata 179.2 Negative - create collection with an invalid metadata 179.3 throw error when creating collection with the existing name and different metadata 179.4 customize the key value, String value 179.5 Negative - customize the key value, numeric value 179.6 customize the value of mediaType 179.7 Negative - customize mediaType, invalid type, numeric value 179.8 insert an empty document with customized metadata 180. externalProxyAuth.js 180.1 Non-Pool Connect 180.1.1 Non-Pool Connect: Basic Auth 180.1.2 Non-Pool Connect: External Auth 180.1.3 Non-Pool Connect: Basic Auth with proxy 180.1.4 Non-Pool Connect: External Auth with proxy 180.1.5 Non-Pool Connect: External Auth with proxy no brackets 180.2 Pooled Connect 180.2.1 Pooled Connect: Basic Auth 180.2.2 Pooled Connect: External Auth 180.2.3 Pooled Connect: Basic Auth with proxy when create pool 180.2.4 Pooled Connect: Basic Auth with proxy when acquire connection 180.2.5 Pooled Connect: Basic Auth with proxy when acquire connection 180.2.6 Pooled Connect: External Auth with proxy when create pool 180.2.7 Pooled Connect: External Auth with proxy no brackets when create pool 180.2.8 Pooled Connect: External Auth with proxy when acquire connection 180.2.9 Pooled Connect: External Auth with proxy no brackets when acquire connection 181. dataTypeXML.js 181.1 basic case, insert XML data and query back 181.2 query XML data as CLOB 181.3 another query as CLOB syntax 181.4 Negative - try to insert Null 184. sessionTag.js 184.1 Remote PL/SQL Callback 184.1.1 Acquire connection without tag 184.1.2 Acquire connection from pool without tag 184.1.3 Acquire connection from pool with empty string tag 184.1.4 Acquire connection from pool with valid tag 184.1.5 Acquire connection from pool with error in callback 184.1.6 Acquire connection from pool twice with same tag 184.1.7 Acquire connection from pool twice with different tag 184.1.8 Acquire connection from pool twice with different tag using matchAnyTag 184.1.9 Acquire connection from pool twice with different multi-tag using matchAnyTag 184.1.10 Acquire connection from pool twice with empty string tag using matchAnyTag 184.1.11 Acquire connection from pool twice with first connection's tag set to "" 184.1.12 Acquire connection from pool twice with different tag after setting first connection's tag 184.2 Local Javascript Callback 184.2.1 Acquire connection without tag 184.2.2 Acquire connection from pool without tag 184.2.3 Acquire connection from pool with empty string tag 184.2.4 Acquire connection from default pool with valid tag 184.2.5 Acquire connection from pool with valid tag 184.2.6 Acquire connection from pool with bad tag using async session callback 184.2.7 Acquire connection from pool with bad tag using sync session callback 184.2.8 Acquire connection from pool twice with same tag 184.2.9 Acquire connection from pool twice with different tag 184.2.10 Acquire connection from pool twice with different tag using matchAnyTag 184.2.11 Acquire connection from pool twice with different multi-tag using matchAnyTag 184.2.12 Acquire connection from pool twice with first connection's tag set to "" 184.2.13 Acquire connection from pool twice with different tag after setting first connection's tag 184.3 Change connection's tag before the connection is closed 184.3.1 Setting connection's tag to undefined triggers error NJS-004 184.3.2 Setting connection's tag to random object triggers error NJS-004 184.3.3 Closing randomly tagged connection triggers error ORA-24488 184.4 Dropping Session From Pool 184.4.1 Acquire connection from pool, close with tag 184.4.2 Acquire connection from pool, drop session 184.4.3 Acquire connection from pool, drop session with tag 184.4.4 Acquire connection from pool, wait for pool ping to call session fixup 184.4.5 Acquire connection from pool, wait for pool timeout to drop 184.4.6 Drop connection from pool with poolMin=0 184.4.7 Close connection from pool with {drop: false} 184.4.8 Close connection from pool with {drop: randomObject} 184.4.9 Close connection from pool with {drop: 0} 184.4.10 Close connection from pool with empty dict 184.4.11 Close connection from pool with {drop: random string} 185. runCQN.js 185.1 examples/cqn1.js 185.2 SQL Delete operation 185.3 Specify the notification only for INSERT operation 185.4 Negative - provide invalid SQL in CQN option 185.5 examples/cqn2.js 185.6 Get the registration ID "regId" for subscriptions 185.7 Negative - unsubscribe multiple times 185.8 Negative - unsubscribe nonexistent subscriptions 185.9 Negative - unsubscribe the invalid subscription 186. sodaInstanceof.js 186.1 instanceof checks for SODA classes 187. plsqlBindList.js 187.1 Positive Cases 187.1.1 Bind Object of List by position with type specified 187.1.2 Bind Object of List by name with type specified 187.1.3 Bind List by position without type specified 187.1.4 Bind List by name without type specified 187.1.5 Bind STRING List by name without type specified 187.1.6 Bind STRING List by position without type specified 187.2 Negative Cases 187.2.1 Bind Empty List by position with type specified 187.2.2 Bind Empty List by position without type specified 187.2.3 Bind Empty List by name with type specified 187.2.4 Bind Empty List by name without type specified 187.2.5 Bind NUMBER List by name with STRING as first element 187.2.6 Bind NUMBER List by position with STRING as second element 187.2.7 Bind STRING List by name while required type is NUMBER 187.2.8 Bind STRING List by position while required type is NUMBER 187.2.9 Bind NUMBER List by name while required type is STRING 187.2.10 Bind NUMBER List by position while required type is STRING 188. fetchRowidAsString.js 188.1 Fetch RAW by default should be oracledb.BUFFER type 188.2 Fetch RAW as string by defining fetchAsString 188.3 Fetch RAW as string by defining fetchInfo 188.4 Fetch number converted RAW as string 188.5 Fetch binary double converted RAW as string 188.6 Fetch binary float converted RAW as string 188.7 Fetch binary integer converted RAW as string 188.8 Insert a string of maximum lenght of RAW then fetch it as string 188.9 Insert a string exceeds maximum lenght of RAW 188.10 Insert null to RAW column then fetch it as string 189. sodaOverwrite.js 189.1 Allows overwriting of public methods on SodaDatabase instance 189.2 Allows overwriting of public methods on SodaDocument instance 189.3 Allows overwriting of public methods on SodaCollection instance 189.4 Allows overwriting of public methods on SodaOperation instance 189.5 Allows overwriting of public methods on SodaDocCursor instance 190. fetchBinaryTypesAsString.js 190.1 Fetch binary double 190.1.1 Fetch binary double should return JS number 190.1.2 Fetch binary double as string using fetchAsString 190.1.3 Fetch binary double as string using fetchInfo 190.1.4 Fetch other types as string do not affect binary double 190.1.5 Fetch binary double in multiple rows 190.2 Fetch binary float 190.2.1 Fetch binary float should return JS number 190.2.2 Fetch binary float as string using fetchAsString 190.2.3 Fetch binary float as string using fetchInfo 190.2.4 Fetch other types as string do not affect binary float 190.2.5 Fetch binary float in multiple rows 191. currentSchema.js 191.1 the value will be empty until it has been explicitly set 191.2 SQL alternative 191.3 Negative - can not set non-existent schema 192. implicitResults.js 192.1 implicit results with rows fetched 192.2 implicit Results with Result Sets 192.3 multiple options, outFormat is OBJECT 193. connProps.js 193.1 the default values of clientInfo and dbOp are null 193.2 clientInfo and dbOp are write-only properties 193.3 check the results of setter() 193.4 Negative - invalid values 196. getDataOfLob.js 196.1 getData() works on CLOB 196.2 getData() returns CLOB as Strings 196.3 getData() on BLOB 196.4 getData() returns BLOB as Buffer 196.5 getData() on empty LOB returns null 196.6 works with temp LOB 197. dbObjectsNestedTable.js 197.1 Insert into table with Nested-table + getValues 197.2 Insert into table with Nested-table + getKeys 197.3 Insert into table with Nested-table + first * next 197.4 Insert into table with Nested-table + last + prev 197.5 Insert into table with Nested-table + getElement 197.6 Insert into table with Nested-table + hasElement 197.7 Insert into table with Nested-table NULL Value for object 197.8 Insert into table with Nested-table NULL Value for object 197.9 Insert into table and use deleteElement() 197.10 Insert into table and use setElement() 197.11 Insert into table and use trim() 200. dbObject1.js 200.1 insert an object with numeric/string values 200.2 insert an object with null numeric values 200.3 insert an object with null string values 200.4 insert an object with undefined numeric values 200.5 insert an object with undefined string values 200.6 insert an empty object - no attributes 200.7 insert data via binding by object 200.8 insert multiple rows using executeMany() with inferred data type 200.9 insert multiple rows using executeMany() with explicit data type 200.10 call procedure with 2 OUT binds of DbObject 201. dbObject2.js - 201.1 insert an object with timestamp attributes - directly insert timestamp data 201.2 insert null values for timestamp attribute 201.3 insert undefined values for timestamp attribute 201.4 insert an empty JSON for timestamp attribute 201.5 call procedure with 2 OUT binds of DbObject 202. dbObject3.js - 202.1 insert an object with TSZ type attributes 202.2 insert null value for TSZ type attribute 202.3 insert undefined value for TSZ type attribute 202.4 insert an empty JSON 202.5 call procedure with 2 OUT binds of DbObject 203. dbObject4.js 203.1 insert an object with LTZ type attribute 203.2 insert null value for LTZ type attribute 203.3 insert undefined value for LTZ type attribute 203.4 insert an empty JSON 203.5 call procedure with 2 OUT binds of DbObject 204. dbObject5.js 204.1 insert an object with DATE type attribute 204.2 insert null value for DATE type attribute 204.3 insert undefined value for DATE type attribute 204.4 insert an empty JSON 204.5 call procedure with 2 OUT binds of DbObject 205. dbObject6.js 205.1 205.1 examples/selectgeometry.js 206. dbObject7.js 206.1 OUT bind DB Object 206.2 IN OUT bind DB Object 207. dbObject8.js 207.1 examples/selectobject.js 208. dbObject9.js 208.1 REF cursors that fetch object 208.2 Implicit results that fetch objects 208.3 Implicit results that fetch objects with Result Set 208.4 DML RETURNING INTO, explicit bind type 208.5 DML RETURNING INTO, implicit bind type 208.6 DML RETURNING INTO, bind by named values 208.7 DML RETURNING INTO and executeMany() 209. dbObject10.js 209.1 DB Objects which contain PL/SQL methods 209.2 By default, JavaScript Object toString() returns "[object type]" 209.3 The Object literal and JSON.stringify() 210. dbObject11.js 210.1 Attribute names with embedded "$", "#", "&" and spaces 211. dbObject12.js 211.1 examples/plsqlrecord.js 212. dbObject13.js 212.1 examples/plsqlvarrayrecord.js 213. dbObject14.js 213.1 examples/selectvarray.js 214. dbObject15.js 214.1 Getter() - access collection elements directly 214.2 Setter() - access collection element directly 214.3 Negative - delete the collection element directly 214.4 Negative - collection.deleteElement() 215. dbObject16.js 215.1 Collection of DATE, named Oracle type binds 216. dbObject17.js 216.1 VARRAY Collection. Object columns contain TS, TSZ and LTZ 217. aq1.js 217.1 examples/aqraw.js 217.2 examples/aqoptions.js 217.3 examples/aqmulti.js 218. aq2.js 218.1 examples/aqobject.js - 218.2 The read-only property "payloadTypeClass" 218.3 Negative - enqueue a raw JavaScript object directly 218.4 Negative - getQueue() without options on DB Object data 218.5 Enqueue a DB object as payload attribute 218.6 Enqueue a JavaScript object as payload attribute 218.7 Negative - Set payloadType as oracledb.DB_TYPE_OBJECT 218.8 enqMany() with DB object array 218.9 enqMany() with DB object array as payload 218.10 enqMany() with JavaScript objects as payload 219. aq3.js 219.1 The read-only property "name" of AqQueue Class - 219.2 The read-only property "payloadType" - 219.3 The read-only property "payloadTypeName" 219.4 Negative - Set "maxMessages" argument to be -5 219.5 Negative - Set "maxMessages" argument to be 0 219.6 Enqueue a Buffer 219.7 enqMany() mixes enqueuing string and buffer 220. examineOwnedProperties.js 220.1 Only examine "owned" properties on objects 221. connectionClass.js 221.1 set the property when using a connection pool 221.2 set the property when using a standalone connection 222. callTimeout.js 222.1 examples/calltimeout.js 222.2 the timeout value is greater than the operation time 222.3 callTimeout is 0 222.4 callTimeout is a negative value 222.5 callTimeout == NaN 222.6 callTimeout is a String 222.7 The callTimeout value applies not to the sum of all round-trips 222.8 The callTimeout value applies to each round-trip individually 223. accessPropertiesOnClosedObjects.js 223.1 access properties of closed Connection object 223.2 access properties of closed Lob object 224. booleanBind.js 224.1 IN bind boolean value 224.2 IN bind value "false" 224.3 IN bind value "null" 224.4 Negative - IN bind value type mismatch 224.5 OUT bind value "false" 224.6 OUT bind value "true" 224.7 IN bind array with boolean data 224.8 OUT bind array with boolean data 224.9 INOUT bind record with boolean data 226. dbType01.js 226.1 DB_TYPE_VARCHAR 226.2 DB_TYPE_CHAR 226.3 DB_TYPE_NVARCHAR 226.4 DB_TYPE_NCHAR 226.5 DB_TYPE_DATE 226.6 DB_TYPE_TIMESTAMP_LTZ 226.7 DB_TYPE_TIMESTAMP 226.8 DB_TYPE_TIMESTAMP_TZ 226.9 DB_TYPE_NUMBER 226.10 DB_TYPE_BINARY_FLOAT 226.11 DB_TYPE_BINARY_DOUBLE 226.12 Infinity, DB_TYPE_BINARY_FLOAT 226.13 Infinity, DB_TYPE_BINARY_DOUBLE 227. dbType02.js 227.1 DB_TYPE_VARCHAR 227.2 DB_TYPE_CHAR 227.3 DB_TYPE_NVARCHAR 227.4 DB_TYPE_NCHAR 227.5 DB_TYPE_DATE 227.6 DB_TYPE_TIMESTAMP_LTZ 228. lastRowid.js 228.1 examples 228.2 MERGE statement 228.3 Negative - not applicable to executeMany() 228.4 INSERT ALL statement 229. dbType03.js 229.1 IN binds binary_float and binary_double 229.2 OUT binds 229.3 IN bind Infinity number 229.4 OUT bind Infinity number 229.5 IN bind NaN 229.6 OUT bind NaN 230. soda12.js 230.1 example case 230.2 insertOne() and save() 230.3 Negative - client assigned keys are necessary 230.4 Negative - save without arguments 231. soda13.js 231.1 example case 231.2 truncate multiple times 231.3 Negative - invalid parameters 232. nestedCursor01.js 232.1 example/selectnestedcursor.js 233. nestedCursor02.js 233.1 example-nested-cursor.js 234. nestedCursor03.js 234.1 fetch zero row without resultSet option 234.2 fetch zero row with resultSet 234.3 fetch one row without resultSet option 234.4 fetch one row with resultSet option 234.5 fetch multiple rows directly 234.6 fetch multiple rows with resultSet 234.7 directly fetch multiple rows with each contains a nested cursor 234.8 fetch multiple rows with each contains a nested cursor in resultSet 234.9 maxRows option 234.10 maxRows option is ignored when resultSet option is true 235. nestedCursor04.js 235.1 fetch multiple nested cursors which each fetches zero row directly 235.2 fetch zero row with resultSet 235.3 fetch one row directly 235.4 fetch one row with resultSet 235.5 fetch multiple rows directly 235.6 fetch multiple rows with resultSet 235.7 query rows that contain null values and a nested cursor 235.8 maxRows option is respected at all levels of nested cursors 236. nestedCursor05.js 236.1 multi-level nested cursors 236.2 maxRows option is respected at all levels of nested cursors 236.3 fetchArraySize option is respected at all levels of nested cursors 236.4 extendedMetaData option is respected at all levels of nested cursors 236.5 combination of options maxRows, fetchArraySize, extendedMetaData 237. indexedTables01.js 237.1 check VARCHAR2 type support in PL/SQL index-by tables 237.2 DB_TYPE_NVARCHAR 237.3 DB_TYPE_CHAR 237.4 DB_TYPE_NCHAR 237.5 DB_TYPE_NUMBER 237.6 DB_TYPE_BINARY_FLOAT 237.7 DB_TYPE_BINARY_DOUBLE 237.8 DB_TYPE_TIMESTAMP 237.9 DB_TYPE_TIMESTAMP_LTZ 237.10 DB_TYPE_TIMESTAMP_TZ 237.11 DB_TYPE_RAW 238. soda14.js 238.1 the fetchArraySize() method works 238.2 fetchArraySize value is larger than the size of collection 238.3 Negative - call fetchArraySize() without parameter 238.4 fetchArraySize is 0 238.5 Negative - fetchArraySize is a negative value 239. plsqlBindCursorsIN.js 239.1 disable prefetchRows by setting it to be 0 239.2 prefetchRows is enabled with default value 239.3 cursor bind OUT then bind IN 239.4 implicit binding type 239.5 check REF CURSOR round-trips with no prefetching 239.6 check REF CURSOR round-trips with prefetching 240. errorOffset.js 240.1 checks the offset value of the error 240.2 database error 240.3 the offset of system error is 0 240.4 PL/SQL syntax error 241. dbType04.js 241.1 JSON type check 241.2 JSON type data binding 241.3 query number type from JSON column 241.4 query number type from JSON column 241.5 query array type 241.6 query JSON 241.7 query json array 241.8 query json object 241.9 binding Number gets converted to a JSON NUMBER value 241.10 binding String gets converted to JSON VARCHAR2 value 241.11 binding Date gets converted to JSON TIMESTAMP value 241.12 binding Buffer gets converted to JSON RAW value 241.13 binding Array gets converted to JSON Array value 241.14 binding simple dbobject with no attributes couldn't get converted to JSON Object value, returns an empty object 241.15 null 241.16 "undefined" gets converted to a JSON "NULL" value 241.17 true 241.18 false 241.19 empty string 241.20 empty json 241.21 NaN 241.22 Negative - implicitly binding JSON 241.23 Negative - type mismatch 241.24 Negative - type mismatch 241.25 Negative - query INTERVAL YEAR TO MONTH 241.26 Negative - query INTERVAL DAY TO SECOND 242. dbObject18.js 242.1 set oracledb.dbObjectAsPojo 242.1.1 oracledb.dbObjectAsPojo could be set without connection 242.1.2 oracledb.dbObjectAsPojo could be set without connection 242.1.3 set oracledb.dbObjectAsPojo to value of oracledb.autoCommit 242.1.4 set oracledb.dbObjectAsPojo to value of Boolean("false") 242.1.5 set oracledb.dbObjectAsPojo to value of JSON.parse('true') 242.1.6 set oracledb.dbObjectAsPojo to value of JSON.parse('false') 242.1.7 set oracledb.dbObjectAsPojo to value of Boolean(true) 242.1.8 set oracledb.dbObjectAsPojo to value of Boolean('false') 242.1.9 set oracledb.dbObjectAsPojo to value of Boolean(false) 242.1.10 negative: set oracledb.dbObjectAsPojo to invalid value: null 242.1.11 negative: set oracledb.dbObjectAsPojo to invalid value: 0 242.1.12 negative: set oracledb.dbObjectAsPojo to invalid value: number 242.1.3 negative: set oracledb.dbObjectAsPojo to invalid value: string true 242.1.14 negative: set oracledb.dbObjectAsPojo to invalid value: string false 242.1.15 negative: set oracledb.dbObjectAsPojo to invalid value: undefined 242.1.16 negative: set oracledb.dbObjectAsPojo to invalid value: NaN 242.1.17 negative: set oracledb.dbObjectAsPojo to invalid value: empty string 242.1.18 negative: set oracledb.dbObjectAsPojo to invalid value: empty json 242.1.19 negative: set oracledb.dbObjectAsPojo to invalid value: oracledb.DATE type 242.1.20 negative: set oracledb.dbObjectAsPojo to invalid value: array 242.2 set dbObjectAsPojo in bind option 242.2.1 dbObjectAsPojo returns database objects as plain old JavaScript objects 242.3 set dbObjectAsPojo in both oracledb.dbObjectAsPojo and bind option 242.3.1 set oracledb.dbObjectAsPojo = true and dbObjectAsPojo:false in bind option 242.3.2 connection must remain open when accessing a DbObject 242.4 set dbObjectAsPojo using oracledb.dbObjectAsPojo 242.4.1 dbObjectAsPojo returns database objects as plain old JavaScript objects 242.4.2 connection can be closed when accessing the plain old JavaScript objects 243. dbObject19.js 243.1 set global attribute oracledb.dbObjectAsPojo to true 243.1.1 OUT bind DB Object 243.1.2 IN OUT bind DB Object 243.2 set dbObjectAsPojo in BIND_OUT and BIND_INOUT options 243.2.1 OUT bind DB Object 243.2.2 IN OUT bind DB Object 243.3 set dbObjectAsPojo in bind variables doesn't work 243.3.1 OUT bind DB Object 244.dataTypeJson.js 244.1 testing JSON data in various lengths 244.1.1 SELECT query 244.1.2 resultSet stores JSON data correctly 244.1.3 works well with REF Cursor 244.1.4 columns fetched from REF CURSORS can be mapped by fetchInfo settings 244.2 stores null value correctly 244.2.1 testing Null, Empty string and Undefined 244.3 testing JSON with executeMany() 244.3.1 works with executeMany() 244.4 testing JSON with PL/SQL procedure BIND_IN and BIND_OUT 244.4.1 bind by name 244.4.2 bind by position 244.5 testing JSON with PL/SQL procedure BIND_INOUT 244.5.1 bind by name 244.5.2 bind by position 244.6 testing JSON with PL/SQL function BIND_IN and BIND_OUT 244.6.1 bind by name 244.6.2 bind by position 244.7 testing JSON with PL/SQL function BIND_INOUT 244.7.1 bind by name 244.7.2 bind by position 244.8 testing JSON with DML returning into 244.8.1 bind by name 244.8.2 bind by position 244.9 testing JSON with oracledb.fetchAsString and fetchInfo oracledb.STRING 244.9.1 works with oracledb.fetchAsString - 244.9.2 doesn't work with outFormat: oracledb.DB_TYPE_JSON 244.9.3 could work with fetchInfo oracledb.STRING 245. fetchLobAsStrBuf.js 245.1 CLOB,BLOB Insert 245.1.1 Insert and fetch CLOB,BLOB with EMPTY_CLOB and EMPTY_BLOB 245.1.2 Insert and fetch CLOB,BLOB with String and Buffer of length 32K 245.1.3 Insert and fetch CLOB,BLOB with String and Buffer of length (1MB + 1) 246. dupColNames1.js 246.1 Duplicate Column Names, query with simple execution 246.1.1 Two duplicate columns 246.1.2 Three duplicate columns 246.1.3 Duplicate column with conflicting alias name 246.1.4 Duplicate column with non-conflicting alias name 246.1.5 Negative not-case sensitive 246.1.6 Two Dupliate columns using nested cursor 246.1.7 Three Dupliate columns using nested cursor 246.1.8 Three Dupliate columns using nested cursor 246.1.9 Duplicate column with conflicting alias name using nested cursor 246.1.10 Duplicate column with non-conflicting alias name using nested cursor 246.1.11 Duplicate column with case sensitive alias name using nested cursor 246.1.12 Two Dupliate columns using REF cursor 246.1.13 Three duplicate columns using REF cursor 246.1.14 Duplicate column with Conflicting alias name using REF cursor 246.1.15 Duplicate column with non-conflicting alias name using REF cursor 246.1.16 Duplicate column with case sensitive alias name using REF cursor 246.1.17 Duplicate column with case sensitive alias name from dual 246.1.18 1000 duplicate columns 246.1.19 Negative not-case sensitive prop name 246.2 Duplicate Column Names, query with ResultSet 246.2.1 Two duplicate columns 246.2.2 Three duplicate columns 246.2.3 Duplicate column with conflicting alias name 246.2.4 Duplicate column with non-conflicting alias name 246.2.5 Negative not-case sensitive 246.2.6 Two Dupliate columns using nested cursor 246.2.7 Three Dupliate columns using nested cursor 246.2.8 Three Dupliate columns using nested cursor 246.2.9 Duplicate column with conflicting alias name using nested cursor 246.2.10 Duplicate column with non-conflicting alias name using nested cursor 246.2.11 Duplicate column with case sensitive alias name using nested cursor 246.2.12 Two Dupliate columns using REF cursor 246.2.13 Three duplicate columns using REF cursor 246.2.14 Duplicate column with Conflicting alias name using REF cursor 246.2.15 Duplicate column with non-conflicting alias name using REF cursor 246.2.16 Duplicate column with case sensitive alias name using REF cursor 246.2.17 Duplicate column with case sensitive alias name from dual 247. dupColNames2.js 247.1 Duplicate Column Names, query with stream 247.1.1 Two duplicate columns 247.1.2 Three duplicate columns 247.1.3 Duplicate column with conflicting alias name 247.1.4 Duplicate columns with non-conflicting alias name 247.1.5 Negative not-case sensitive 247.1.6 Two Dupliate columns using nested cursor 247.1.7 Three Dupliate columns using nested cursor 247.1.8 Three Dupliate columns using nested cursor 247.1.9 Duplicate column with conflicting alias name using nested cursor 247.1.10 Duplicate column with non-conflicting alias name using nested cursor 247.1.11 Duplicate column with case sensitive alias name using nested cursor 247.1.12 Two Dupliate columns using REF cursor 247.1.13 Three duplicate columns using REF cursor 247.1.14 Duplicate column with Conflicting alias name using REF cursor 247.1.15 Duplicate column with non-conflicting alias name using REF cursor 247.1.16 Duplicate column with case sensitive alias name using REF cursor 247.1.17 Duplicate column with case sensitive alias name from dual 248. userName.js 248.1 test with different size of username 248.1.1 test with username size 30 248.1.2 test with username size 100 248.1.3 test with username size 128 248.1.4 test with username size 1000 248.1.5 negative test: username = null 248.1.6 negative test: username = "null" 248.1.7 negative test: username = undefined 248.1.8 negative test: username = "undefined" 248.1.9 negative test: username = empty string 248.1.10 negative test: username = NaN 248.1.11 negative test: username in array 248.2 test with different size of user 248.2.1 test with user size 30 248.2.2 test with user size 100 248.2.3 test with user size 128 248.2.4 test with username size 1000 248.2.5 negative test: user = null 248.2.6 negative test: username = "null" 248.2.7 negative test: username = undefined 248.2.8 negative test: username = "undefined" 248.2.9 negative test: username = empty string 248.2.10 negative test: username = NaN 248.2.11 negative test: username in array 249. rsGetAllRows1.js 249.1 ResultSet & getRows() 249.1.1 ResultSet + getRows() 249.1.2 ResultSet + getRows(0) 249.1.3 ResultSet + getRows(125) + getRows() 249.1.4 ResultSet + getRows(125) + getRows(0) 249.1.5 ResultSet + getRow() + getRows() 249.1.6 ResultSet + getRow() + getRows(0) 249.2 REFCURSOR & getRows() 249.2.1 RefCursor getRows() 249.2.2 RefCursor + getRows(0) 249.2.3 RefCursor + getRows(125) & getRows() 249.2.4 RefCursor + getRows(125) & getRows(0) 249.2.5 RefCursor + getRow() & getRows() 249.2.6 RefCursor + getRow() & getRows(0) 249.3 ResultSet & getRows() with fetchArraySize 249.3.1 ResultSet + getRows() with fetchArraySize = total rows 249.3.2 ResultSet + getRows(0) with fetchArraySize = total rows 249.3.3 ResultSet + getRows() with fetchArraySize > total rows 249.3.4 ResultSet + getRows(0) with fetchArraySize > total rows 249.3.5 ResultSet + getRows() with fetchArraySize < total rows 249.3.6 ResultSet + getRows(0) with fetchArraySize < total rows 249.3.7 ResultSet + getRows(125) + getRows() with fetchArraySize > remaining rows 249.3.8 ResultSet + getRows(125) + getRows(0) with fetchArraySize > remaining rows 249.3.9 ResultSet + getRows(125) + getRows() with fetchArraySize < remaining rows 249.3.10 ResultSet + getRows(125) + getRows(0) with fetchArraySize < remaining rows 249.3.11 ResultSet + getRow() + getRows() with fetchArraySize > remaining rows 249.3.12 ResultSet + getRow() + getRows(0) with fetchArraySize > remaining rows 249.3.13 ResultSet + getRow() + getRows() with fetchArraySize < remaining rows 249.3.14 ResultSet + getRow() + getRows(0) with fetchArraySize < remaining rows 249.4 REFCURSOR & getRows() with fetchArraySize 249.4.1 RefCursor getRows() with fetchArraySize > total rows 249.4.2 RefCursor + getRows(0) with fetchArraySize > total rows 249.4.3 RefCursor getRows() with fetchArraySize < total rows 249.4.4 RefCursor + getRows(0) with fetchArraySize < total rows 249.4.5 RefCursor + getRows(125) & getRows() with fetchArraySize < remaining rows 249.4.6 RefCursor + getRows(125) & getRows(0) with fetchArraySize < remaining rows 249.4.7 RefCursor + getRow() & getRows() with fetchArraySize < remaining rows 249.4.8 RefCursor + getRow() & getRows(0) with fetchArraySize < remaining rows 250. rsGetAllRows2.js 250.1 Nested Cursor + getRows() OBJECT outformat 250.2 Nested Cursor + getRows(0) rows ARRAY outformat 250.3 Nested Cursor + getRows(n) + getRows() OBJECT outformat 250.4 Nested Cursor + getRow() + getRows(0) rows ARRAY outformat 250.5 Nested Cursor + getRows(n) + getRows(0) with fetchArraySize < remaining rows inside nested cursor 250.6 Nested Cursor + getRows(n) + getRow() + getRows() with fetchArraySize = 1 251. fetchNClobAsString.js 251.1 NCLOB type in fetchAsString 251.2 NCLOB type in fetchAsString and fetch NCLOB data 251.3 CLOB type in fetchAsString and fetch NCLOB data 251.4 NCLOB type in fetchAsString and fetch CLOB data 251.5 CLOB type in fetchAsString and fetch CLOB data 251.6 CLOB & NCLOB type in fetchAs String and fetch CLOB & NCLOB 252. sodaMetaDataCache.js 252.1 sodaMetaDataCache set to TRUE 252.2 sodaMetaDataCache set to FALSE 252.3 sodaMetaDataCache not specified 252.4 sodaMetaDataCache from closed pool 253. jsonBind1.js 253.1 Map javascript object directly into JSON 253.1.1 Number, String type 253.1.2 Boolean and null value 253.1.3 Array type 253.1.4 Object type 253.1.5 Using JSON_VALUE to extract a value from a JSON column 253.1.6 Using dot-notation to extract a value from a JSON column 253.1.7 Using JSON_OBJECT to extract relational data as JSON 253.1.8 Number, String type with BIND_INOUT 253.1.9 Boolean and null value with BIND_INOUT 253.1.10 Array type with BIND_INOUT 253.1.11 Object type with BIND_INOUT 253.2 Map javascript object using SQL syntax into JSON 253.2.1 Number type 253.2.2 String type 253.2.3 TIMESTAMP type 253.2.4 RAW type 253.2.5 Array type 253.2.6 Object type 253.2.7 CLOB type 253.2.8 BLOB type 253.2.9 DATE type 253.2.10 INTERVAL YEAR TO MONTH type 253.2.11 INTERVAL DAY TO SECOND type 253.2.12 BINARY_DOUBLE type 253.2.13 BINARY_FLOAT type 253.2.14 NULL value 254. jsonBind2.js 254.1 Map javascript object into BLOB 254.1.1 Number, String type 254.1.2 Boolean and null value 254.1.3 Array type 254.1.4 Object type 254.1.5 Using JSON_VALUE to extract a value from a BLOB column 254.1.6 Using dot-notation to extract a value from a BLOB column 254.2 Map javascript object into VARCHAR2 254.2.1 Number, String type 254.2.2 Boolean and null value 254.2.3 Array type 254.2.4 Object type 254.2.5 Using JSON_VALUE to extract a value from a VARCHAR2 column 254.2.6 Using dot-notation to extract a value from a VARCHAR2 column 254.3 Map javascript object into CLOB 254.3.1 Number, String type (41ms) 254.3.2 Boolean and null value 254.3.3 Array type 254.3.4 Object type 254.3.5 Using JSON_VALUE to extract a value from a CLOB column 254.3.6 Using dot-notation to extract a value from a CLOB column 255. poolReconfigure.js 255.1 poolReconfigure - poolMin/poolMax/poolIncrement properties 255.1.1 Change poolMin - increase 255.1.2 Change poolMin - decrease 255.1.3 Change poolMax - increase 255.1.4 Change poolMax - decrease 255.1.5 Change poolIncrement - increase 255.1.6 Change poolIncrement - decrease 255.1.7 increase poolMin & poolMax 255.1.8 increase poolMin & poolIncrement 255.1.9 increase poolMax & poolIncrement 255.1.10 increase poolMin/poolMax/poolIncrement 255.1.11 Change enableStatistics to true 255.1.12 Change enableStatistics to false 255.1.13 Decreasing poolMax when all connection are in use 255.1.14 reconfigure poolMin/poolMax/poolIncrement multiple times 255.1.15 reconfigure poolMin/poolMax/poolIncrement multiple times 255.1.16 Connection queuing after decreasing poolMax 255.1.17 Connection queuing after increasing poolMax 255.2 poolReconfigure - other properties 255.2.1 change poolPingInterval 255.2.2 change poolTimeout 255.2.3 change maxPerShard 255.2.4 change stmtCacheSize 255.2.5 change resetStatistics with enableStatistics 255.2.6 change resetStatistics 255.2.7 getStatistics 255.2.8 getStatistics - noneditable properties 255.3 poolReconfigure JS layer properties 255.3.1 change queueMax 255.3.2 change queueTimeout 255.3.3 change maxSessionsPerShard 255.3.4 sodaMetaDataCache set to true 255.3.5 sodaMetaDataCache set to false 255.4 Pool properties NOT dynamically configurable, they will be ignored 255.4.1 connectionsInUse 255.4.2 connectionsOpen 255.4.3 connectString 255.4.4 connectionString 255.4.5 edition 255.4.6 events 255.4.7 homogeneous 255.4.8 externalAuth 255.4.9 password 255.4.10 poolAlias 255.4.11 status 255.4.12 username 255.4.13 user 255.4.14 _enableStats 255.5 Negative cases 255.5.1 passing empty config to pool.reconfigure 255.5.2 passing invalid poolMin to pool.reconfigure 255.5.3 passing invalid poolMax to pool.reconfigure 255.5.4 passing invalid poolIncrement to pool.reconfigure 255.5.5 passing invalid enableStatistics to pool.reconfigure 255.5.6 passing invalid poolPingInterval to pool.reconfigure 255.5.7 passing invalid poolTimeout to pool.reconfigure 255.5.8 passing invalid poolMaxPerShard to pool.reconfigure 255.5.9 passing invalid queueMax to pool.reconfigure 255.5.10 passing invalid queueTimeout to pool.reconfigure 255.5.11 passing invalid stmtCacheSize to pool.reconfigure 255.5.12 calling pool.reconfigure multiple times with empty config 255.5.13 calling pool.reconfigure multiple times 255.5.14 reconfigure closed pool 255.5.15 get statistics of a closed pool 255.6 Pool statistics 255.6.1 get pool statistics by setting _enableStats 255.6.2 get pool statistics by setting _enableStats 255.6.3 set enableStatistics to true, _enableStats will be ignored 255.6.4 set enableStatistics to false, _enableStats will be used 255.6.5 set multiple enableStatistics 255.6.6 set multiple _enableStats 255.6.7 get pool statistics by setting enableStatistics 255.6.8 get pool statistics by setting enableStatistics 255.6.9 get pool statistics by setting enableStatistics and _enableStats 255.6.10 logStatistics without enableStatistics 256. executeQueue.js 256.1 Connection.execute() 256.1.1 errorOnConcurrentExecute set to false 256.1.2 errorOnConcurrentExecute set to true 256.1.3 break() not constrained by queue 256.2 SodaDatabase.createCollection() 256.2.1 errorOnConcurrentExecute set to false 256.2.2 errorOnConcurrentExecute set to true 256.3 SodaCollection.insertOne() 256.3.1 errorOnConcurrentExecute set to false 256.3.2 errorOnConcurrentExecute set to true 256.4 SodaOperation.count() 256.4.1 errorOnConcurrentExecute set to false 256.4.2 errorOnConcurrentExecute set to true 256.5 SodaDocCursor.getNext() 256.5.1 errorOnConcurrentExecute set to false 256.5.2 errorOnConcurrentExecute set to true 256.6 Execute queue length 256.6.1 errorOnConcurrentExecute set to false 256.6.2 errorOnConcurrentExecute set to true 256.7 Lob.getData() 256.7.1 errorOnConcurrentExecute set to false 256.7.2 errorOnConcurrentExecute set to true 257. sodahint.js 257.1 insertOneAndGet() with hint option 257.2 Negative - insertOneAndGet() with invalid options parameter 257.3 saveAndGet() with hint option 257.4 Negative - saveAndGet() with invalid options parameter 258. keepInStmtCache.js 258.1 tests for keepInStmtCache & execute 258.1.1 keepInStmtCache & execute default 258.1.2 keepInStmtCache & execute include 258.1.3 keepInStmtCache & execute exclude 258.2 tests using keepInStmtCache & resultSet 257.2.1 keepInStmtCache & resultSet default 258.2.2 keepInStmtCache & resultSet include 258.2.3 keepInStmtCache & resultSet exclude 258.3 tests using keepInStmtCache & queryStream 258.3.1 keepInStmtCache & queryStream default 258.3.2 keepInStmtCache & queryStream include 258.3.3 keepInStmtCache & queryStream exclude 259. tpc.js 259.1 TPC constants 259.1.1 tpc constant TPC_BEGIN_JOIN 259.1.2 tpc constant TPC_BEGIN_NEW 259.1.3 tpc constant TPC_RESUME 259.1.4 tpc constant TPC_PROMOTE 259.1.5 tpc constant TPC_END_NORMAL 259.1.6 tpc constant TPC_END_SUSPEND 259.2 TPC Functions 259.2.1 test tpcBegin, tpcPrepare, tpcRollback 259.2.2 test tpcBegin, tpcPrepare, tpcCommit 259.2.3 test multiple global transactions on same connection 259.2.4 test tpcPrepare with no xid 259.2.5 negative - missing formatId in XID 259.2.6 negative missing globalTxnId in XID 259.2.7 negative missing branchQualifier in XID 259.3 TPC Functions with no default values 259.3.1 test tpcBegin, tpcPrepare, tpcRollback 259.3.2 test tpcBegin, tpcPrepare, tpcCommit 259.3.3 test multiple global transactions on same connection 259.3.4 test tpcPrepare with no xid 259.3.5 negative - missing formatId in XID 259.3.6 negative missing globalTxnId in XID 259.3.7 negative missing branchQualifier in XID 259.4 TPC Properties 259.4.1 set and get externalName 259.4.2 set and get internalName 259.4.3 set and query ecid 259.5 TPC Functions using Buffer type 259.5.1 test tpcBegin, tpcPrepare, tpcRollback using Buffer type 259.5.2 test tpcBegin, tpcPrepare, tpcRollback using Buffer type 2 259.6 TPC Functions with invalid # of parameters 259.6.1 tpcBegin invalid number of arguments 259.6.2 tpcCommit invalid number of arguments 259.6.3 tpcEnd invalid number of arguments 259.6.4 tpcForget invalid number of arguments 259.6.5 tpcPrepare invalid number of args 259.6.6 tpcRecover invalid number of args 259.6.7 tpcRollback invalid number of args 260. tpcResume.js 260.1 TPC suspend and resume 261. connHealthy.js 261.1 connection health on stand alone connections 261.1.1 connection health on good connection 261.1.2 connection health on closed connection 262. dbObjectOutBind.js 262.1 call procedure with 2 OUT binds of DbObject 263. asyncStack.js 263.1 stack on error in getConnection 263.2 stack on error in createPool 263.3 stack on error in execute 264. methodName.js 264.1 check for methodName getConnection 267. aq4.js 267.1 empty array or no recipients 267.2 single element in array 267.3 Negative - numbers as recipients 267.4 Negative - number, string, date as recipients 267.5 Negative - null value for recipient 267.6 Negative - undefined value for recipeint 267.7 Negative - dequeue non-existent name 267.8 empty recipient list with enqMany 267.9 recipient list with enqMany 267.10 recipient list with enqMany non-existent in dequeue 267.11 recipient list with enqMany invalid datatype in dequeue 268. poolTimeout.js 268.1 poolTimeout as 0, no idle connection removals 268.2 poolTimeout as 1sec, idle connection will get removed 268.3 poolTimeout as 1sec and min connection defined, idle connection will be removed 268.4 check default poolTimeout as 60sec 268. procAndFuncs.js 268.1 calling stored procedures 268.1.1 executing a stored procedure 268.1.2 executing a stored procedure with all args keyword args 268.1.3 executing a stored procedure with last arg as keyword arg 268.2 calling stored procedures no args 268.2.1 executing a stored procedure with last arg as keyword arg 268.3 calling functions 268.3.1 executing a stored function 268.3.2 executing a stored function with extra args 268.3.3 executing a stored function with wrong function name 268.3.4 executing a stored function with wrong args 268.3.5 executing a stored function with no args 268.3.6 executing a stored function with only one args 268.4 calling functions without any arguments 268.4.1 executing a stored function without any argument 269. Pool Timeout 269.1 poolTimeout as 0, no idle connection removals 269.2 poolTimeout as 1sec, idle connection will get removed 269.3 poolTimeout as 1sec and min connection defined, idle connection will be removed 269.4 check default poolTimeout as 60sec