Anthony Tuininga
983dfdab9f
Adjust return value of cursor.callproc() to follow documentation so that only
...
positional arguments are returned
(https://github.com/oracle/python-cx_Oracle/pull/287 ).
2019-04-17 15:31:40 -06:00
Anthony Tuininga
511cd7a4cf
Correct parsing of connect string so that the last @ symbol is searched for
...
instead of the first @ symbol; otherwise, passwords containing an @ symbol will
result in the incorrect DSN being extracted
(https://github.com/oracle/python-cx_Oracle/issues/290 ).
2019-04-17 15:31:12 -06:00
Anthony Tuininga
c112af35cb
Revert changes to return decimal numbers when the numeric precision was too
...
great to be returned accurately as a floating point number. This change had too
great an impact on existing functionality and an output type handler can be
used to return decimal numbers where that is desirable
(https://github.com/oracle/python-cx_Oracle/issues/279 ).
2019-03-12 09:31:38 -06:00
Anthony Tuininga
0ae5b9e715
Added test cases for session tagging.
2019-03-07 17:00:14 -07:00
Anthony Tuininga
fb445815f2
Use random password instead of hard coded password as a security measure.
2019-01-31 10:18:43 -07:00
Anthony Tuininga
4ed95aad94
Reworked test suite to eliminate the use of default passwords and to make the
...
individual test modules directly runnable (instead of using execfile() within
test.py).
2019-01-31 10:18:04 -07:00
Anthony Tuininga
4097a37ff2
Bump copyright notice into 2019 for changed files.
2019-01-22 16:00:29 -07:00
Anthony Tuininga
ba0d41412f
Added test cases for inserting and fetching XMLType objects as strings.
2019-01-22 14:28:25 -07:00
Anthony Tuininga
b13c998999
Timed waits for acquiring a session from a session pool is only available in
...
Oracle 12.2 and higher.
2019-01-22 14:22:39 -07:00
Anthony Tuininga
1860fdb05b
Ensure that values that exceed sizeof(long) for Python 2 on Windows when using
...
the Oracle type NATIVE_INT are not silently truncated
(https://github.com/oracle/python-cx_Oracle/issues/257 ).
2019-01-21 20:49:08 -07:00
Anthony Tuininga
43a485042f
Add additional check for calling setinputsizes() with an empty dictionary in
...
order to avoid the error "cx_Oracle.ProgrammingError: positional and named
binds cannot be intermixed"
(https://github.com/oracle/python-cx_Oracle/issues/199 ).
2019-01-08 14:41:01 -07:00
Anthony Tuininga
b340771c37
Rework handling of numbers so that, unless using the NATIVE_INT,
...
NATIVE_FLOAT or NATIVE_DOUBLE types, all numbers are converted to strings and
passed through to ODPI-C in all Python versions; improved error message when
a value cannot be represented by an Oracle number value; improved test suite to
verify that calling executemany() with integers, floats and decimal values
intermixed with each other works as expected
(https://github.com/oracle/python-cx_Oracle/issues/241 ).
2018-12-07 19:16:33 -07:00
Anthony Tuininga
4c12b47573
Update ODPI-C to support fetching XMLType as strings
...
(https://github.com/oracle/python-cx_Oracle/issues/14 ).
2018-12-03 10:20:14 -07:00
Anthony Tuininga
ef036cbefc
Ensure that all references to TestTempTable use the column names instead of
...
assuming the number of columns (in preparation for adding additional nullable
columns for other tests).
2018-12-03 10:19:22 -07:00
Anthony Tuininga
8fbc43ac08
Added additional SODA test cases.
2018-11-29 17:21:36 -07:00
Anthony Tuininga
00de5ea10f
Handle case when first call to cursor.executemany() has one or more columns
...
that are always null and a subsequent call to cursor.executemany() has a value
other than None in the same column
(https://github.com/oracle/python-cx_Oracle/issues/236 ).
2018-11-29 17:19:39 -07:00
Anthony Tuininga
e4cef63804
Add comment which is displayed during the test run.
2018-11-29 17:19:20 -07:00
Anthony Tuininga
1be0461174
Be clearer about the syntax used for connecting to the database as sys.
2018-11-05 09:53:39 -07:00
Anthony Tuininga
ae8b4f84aa
Entries can remain in v$sql_monitor for a period of time so only look at the
...
executing one.
2018-11-02 15:45:09 -06:00
Anthony Tuininga
851c9a4650
Add support for getting/setting raw attributes of objects, as requested
...
(https://github.com/oracle/odpi/issues/72 ).
2018-11-02 15:44:49 -06:00
Anthony Tuininga
548440016e
Add support for passing an object type (such as those created by the method
...
connection.gettype()) as the first parameter to cursor.var(), as requested
(https://github.com/oracle/python-cx_Oracle/issues/231 ).
2018-10-30 16:32:05 -06:00
Anthony Tuininga
4fd6c35436
Allow the type name to be None, as requested
...
(https://github.com/oracle/python-cx_Oracle/issues/231 ).
2018-10-30 16:31:47 -06:00
Anthony Tuininga
74d9d71484
Use cx_Oracle.connect() in preference to cx_Oracle.Connection() in samples and
...
tests. Although the two are aliases of one another, it makes sense to be
consistent and to use the one that the DB API prefers as well.
2018-09-21 11:05:40 -06:00
Anthony Tuininga
bc69e784f8
Adjust copyright notices to match requirements of Oracle Legal.
2018-09-10 11:39:51 -06:00
Anthony Tuininga
64f65050a2
Add support (as preview) for SODA.
2018-09-10 11:37:53 -06:00
Anthony Tuininga
b611246a7b
Add support for getting the contents of a collection as a dictionary where the
...
keys are the indexes of the collection and the values are elements of the
collection.
2018-09-03 10:19:26 -06:00
Anthony Tuininga
dc2601729a
Remove __future__ attributes for functionality which is now enabled permanently
...
in cx_Oracle 7: connections as context managers now close the connection and
variables in DML returning statements now return an array.
2018-07-12 10:45:40 -06:00
Anthony Tuininga
fee92abe5a
If cursor.setinputsizes() is called without any parameters, do not set the flag
...
indicating that bind variables should be returned since otherwise binding with
named arguments will raise the error "cx_Oracle.ProgrammingError: positional
and named binds cannot be intermixed"
(https://github.com/oracle/python-cx_Oracle/issues/199 ).
2018-07-03 13:36:10 -06:00
Anthony Tuininga
fb249f5944
Ensure that the row count for queries is reset to zero when the statement is
...
executed (https://github.com/oracle/python-cx_Oracle/issues/193 ).
2018-06-25 15:57:19 -06:00
Anthony Tuininga
a8751e91f4
Added support for using the cursor as a context manager
...
(https://github.com/oracle/python-cx_Oracle/issues/190 ).
2018-06-21 11:29:11 -06:00
Anthony Tuininga
e6d5153e43
Added additional test cases for heterogeneous pools.
2018-06-19 11:10:26 -06:00
Anthony Tuininga
85a0ad3ee3
Use the built-in type SYS_REFCURSOR instead of creating a new one.
2018-05-29 21:55:45 -06:00
Anthony Tuininga
c31eef50de
Correct handling of statements and rowids in DML returning statements.
2018-05-29 21:55:26 -06:00
Anthony Tuininga
9781810b8e
Added support for binding decimal.Decimal values to cx_Oracle.NATIVE_FLOAT as
...
requested in issue 184
(https://github.com/oracle/python-cx_Oracle/issues/184 ).
2018-05-24 16:36:58 -06:00
Anthony Tuininga
8cc7b893f2
Ensure that binding a boolean value outside of PL/SQL simply binds the integer
...
0 or 1 (https://github.com/oracle/python-cx_Oracle/issues/181 ).
2018-05-19 21:35:37 -06:00
Anthony Tuininga
005a00c03d
Added additional test cases and corrected test case for ltxid when
...
using 11.2 client.
2018-05-09 19:36:13 -06:00
Anthony Tuininga
756442ee24
Added checks on passing invalid parameters to cursor.var(),
...
cursor.arrayvar(), cursor.callfunc() and cursor.setinputsizes().
2018-05-09 19:35:49 -06:00
Anthony Tuininga
2272af1563
Add support for specifying an integer for the parameters argument to
...
cursor.executemany(). This allows for batch execution when no parameters are
required or when parameters have previously been bound. This replaces
cursor.executemanyprepared() which is now deprecated and will be removed in
cx_Oracle 7.
2018-05-09 19:35:00 -06:00
Anthony Tuininga
d9c50574f5
Added test cases for AQ transformations and trimming collections.
2018-05-09 19:34:21 -06:00
Anthony Tuininga
355d7f34aa
Added additional test to verify case when a DML returning statement returns
...
multiple rows during one execute but in the subsequent execute it returns no
rows.
2018-05-04 21:35:37 -06:00
Anthony Tuininga
f39ebf8da8
Ensure that the behavior in cx_Oracle 6.3 with __future__.dml_ret_array_val not
...
set or False is the same as the behavior in cx_Oracle 6.2
(https://github.com/oracle/python-cx_Oracle/issues/176 ).
2018-05-01 15:27:18 -06:00
Anthony Tuininga
e763419b59
Ensure that decreasing number of rows returned from a DML returning statement
...
is detected properly.
2018-04-19 14:21:26 -06:00
Anthony Tuininga
c61973c28f
Added support for DML returning of multiple rows using cursor.executemany().
2018-03-28 16:24:41 -06:00
Anthony Tuininga
e15851220b
Correct the handling of ANSI types REAL and DOUBLE PRECISION as implemented by
...
Oracle. These types are just subtypes of NUMBER and are not actually stored as
native floating point numbers. Native floating point numbers are used with
Oracle types BINARY_FLOAT and BINARY_DOUBLE
(https://github.com/oracle/python-cx_Oracle/issues/163 ).
2018-03-21 11:46:17 -06:00
Anthony Tuininga
48571852ca
Add test demonstrating that binding of long data using cursor.executemany()
...
works as expected.
2018-03-19 10:55:26 -06:00
Anthony Tuininga
813728ab72
Add support for binding integers and floats as cx_Oracle.NATIVE_FLOAT.
2018-03-07 16:19:01 -07:00
Anthony Tuininga
1bd8e95807
Added support for closing the connection when reaching the end of a code block
...
controlled by the connection as a context manager, but in a backwards
compatible way (https://github.com/oracle/python-cx_Oracle/issues/113 ).
2018-02-27 16:58:01 -07:00
Anthony Tuininga
07b3b93da1
Add additional test cases.
2018-02-27 16:57:01 -07:00
Anthony Tuininga
46e3aff3fa
Ensure that the number of elements in the array is not lost when the buffer
...
size is increased to accommodate larger strings.
2018-02-16 16:23:09 -07:00
Anthony Tuininga
9b1ce308b1
Added support for creating a temporary LOB directly.
2018-02-16 16:21:32 -07:00