234 Commits

Author SHA1 Message Date
Anthony Tuininga
e37e502724 Added test cases, particularly for bulk AQ operations. 2019-07-05 14:32:59 -06:00
Anthony Tuininga
ee5fe39544 Rename queues and queue tables to be more clear as to which is which. 2019-06-11 19:13:21 -06:00
Anthony Tuininga
82097891b3 Add support for setting a CLOB attribute on a SQL object, as requested
(https://github.com/oracle/python-cx_Oracle/issues/299).
2019-04-29 11:41:28 -06:00
Anthony Tuininga
8681366f53 For Python 2.7, raw_input is needed to request input; also ensure that
sample parameters are saved once requested.
2019-03-29 09:49:40 -06:00
Anthony Tuininga
f324757909 Adjust formatting of PR #287. 2019-03-28 11:57:33 -06:00
Andrey Petukhov
a654befddf Cursor.callproc method changed with respect to doc (#287)
Signed-off-by: Andrey Petukhov <APetukhov@bellintegrator.com>
2019-03-28 10:55:30 -07:00
Anthony Tuininga
3af5e46b4b 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-03-28 10:46:15 -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