112 Commits

Author SHA1 Message Date
Anthony Tuininga
7d3b7b101f Eliminate segfault when attempting to reuse a REF cursor that has been closed. 2017-08-30 12:12:12 -06:00
Anthony Tuininga
7a8498ee5f Correct handling of objects when dynamic binding is performed. 2017-08-24 21:53:49 -06:00
Anthony Tuininga
c2c8d541bf On Windows, sizeof(long) = 4 which means that integers between 10 and 18 digits
were not converted to Python correctly
(https://github.com/oracle/python-cx_Oracle/issues/70).
2017-08-22 21:40:21 -06:00
Anthony Tuininga
7b6276f5eb Added missing type check to prevent coercion of decimal to float
(https://github.com/oracle/python-cx_Oracle/issues/68).
2017-08-18 14:15:50 -06:00
Anthony Tuininga
d1b5428879 Add information on how to run the test suite
(https://github.com/oracle/python-cx_Oracle/issues/33).
2017-08-08 15:40:05 -06:00
Anthony Tuininga
3e2dd725ad Change default connectstring to localhost/orclpdb to be consistent with the
default value used in the Oracle Database installer.
2017-08-08 15:39:02 -06:00
Anthony Tuininga
16bc500c73 All cursors and LOBs must be closed before a connection can be closed
explicitly.
2017-07-31 21:20:30 -06:00
Anthony Tuininga
1f917aafbb In certain cases where non-long values follow LOB values in the list of bind
variables, the error "ORA-24816: Expanded non LONG bind data supplied after
actual LONG or LOB column" is raised; this occurs if the length of the supplied
value, when expanded, might exceed 4000 bytes
(https://github.com/oracle/python-cx_Oracle/issues/50).
2017-07-25 12:16:54 -06:00
Anthony Tuininga
852aed3b58 Ensure that the array position passed to var.getvalue() does not exceed the
number of elements allocated in the array!
2017-07-21 15:36:31 -06:00
Anthony Tuininga
1eba9d55be Use dpiData_*() functions to simplify setting data; correct handling of
timestamp with time zone attributes.
2017-07-21 15:35:49 -06:00
Anthony Tuininga
df102db935 Correct handling of CLOB/NCLOB when using different encodings. 2017-07-21 15:34:48 -06:00
Anthony Tuininga
8cc4d8607f Remove unnecessary Unicode specific tests for Python 2.7 since Python 3 now
also supports the "u" prefix; merge them instead into the main tests.
2017-07-21 15:16:24 -06:00
Anthony Tuininga
340dcb7195 Rework test suite and samples so that they are independent of each other and
so that the SQL scripts used to create/drop schemas are easily adjusted to
use different schema names, if desired. Improve documentation for test suite
and samples.
2017-07-14 16:50:41 -06:00
Anthony Tuininga
628d1717f5 Corrected support for binding boolean values with Oracle client 11.2. 2017-07-14 11:31:59 -06:00
Anthony Tuininga
c1005ddcac Added test cases for AQ enqueue/dequeue options and message properties
(https://github.com/oracle/odpi/issues/16).
2017-07-13 13:57:29 -06:00
Anthony Tuininga
1d768706ab Python 2.7 requires the "u" prefix. 2017-07-08 21:23:27 -06:00
Anthony Tuininga
49b0afd7a5 Ensure the correct encoding is used for setting variable values. 2017-07-07 07:38:44 -07:00
Anthony Tuininga
18e06bf14a Corrected support for binding decimal values in object attribute values and
collection element values.
2017-07-07 07:38:15 -07:00
Anthony Tuininga
888fd89fce Update DB API test stub to match latest version of test suite and cx_Oracle. 2017-07-05 13:19:07 -06:00
Anthony Tuininga
f555a10f36 Add support for Python 3 in DB API test suite stub. 2017-07-05 13:17:50 -06:00
Anthony Tuininga
d008553dc1 Add script for dropping the test schemas; add copyright and information on how
to execute to the SetupTest.sql script.
2017-06-16 16:48:15 -06:00
Anthony Tuininga
b543850f9a The method cursor.setoutputsize() no longer needs to do anything (since ODPI-C
automatically manages buffer sizes of LONG and LONG RAW columns).
2017-06-16 16:47:21 -06:00
Anthony Tuininga
fa4faa2718 Update ODPI-C which has added an optimization to reduce buffer size when both
the client and server character sets are identical and corrected support for
BFILE LOBs.
2017-06-16 16:43:41 -06:00
Anthony Tuininga
465da44482 Permit use of both string and unicode for Python 2.7 for creating session pools
and for changing passwords
(https://github.com/oracle/python-cx_Oracle/issues/23).
2017-06-10 13:54:10 -06:00
Anthony Tuininga
f4009ebabd Add tests for specifying only the encoding or only the nencoding. 2017-06-10 11:32:25 -06:00
Anthony Tuininga
e783a33926 Handle case when both precision and scale are zero, as occurs when retrieving
numeric expressions (https://github.com/oracle/python-cx_Oracle/issues/34).
2017-06-09 14:21:24 -06:00
Anthony Tuininga
52e1960bfb Correct determination of the names of the bind variables in prepared SQL
tatements (which behaves a little differently from PL/SQL statements).
2017-05-19 21:47:46 -06:00
Anthony Tuininga
2e240bc154 Prevent attempts from binding the cursor being executed to itself. 2017-05-16 13:23:20 -06:00
Anthony Tuininga
51f1815167 Added support for getting/setting attributes of objects or element values in
collections that contain LOBs, BINARY_FLOAT values, BINARY_DOUBLE values and
NCHAR and NVARCHAR2 values; improve error message for any other types that are
not supported.
2017-05-09 11:46:30 -06:00
Anthony Tuininga
53f8902446 Correct handling of long Python integers that cannot fit inside a 64-bit C
integer (https://github.com/oracle/python-cx_Oracle/issues/18).
2017-05-03 13:31:13 -06:00
Anthony Tuininga
c946e86384 Correct support for executemany() when strings that are found later in the
array are larger than strings found earlier in the array.
2017-04-26 17:11:58 -06:00
Anthony Tuininga
8d7c828b89 Use an object type that is supported in both 11.2 and 12.1. 2017-04-18 13:04:23 -06:00
Anthony Tuininga
b429041a3e Add support for getting an empty list from an empty collection instead of the
error "OCI-22166: collection is empty".
2017-04-17 10:34:14 -06:00
Anthony Tuininga
3bc9bd2303 Added sample and test case to demonstrate use of universal rowids. 2017-04-11 16:12:06 -06:00
Anthony Tuininga
0b01d96404 Added support for smallint and float data types in Oracle objects, as requested
(https://github.com/oracle/python-cx_Oracle/issues/4).
2017-04-11 14:37:38 -06:00
Anthony Tuininga
d37669fbdc Create a new variable, rather than call dpiVar_resize(), so that the variable
will be bound properly when the variable needs to be resized.
2017-04-11 14:36:47 -06:00
Anthony Tuininga
0c82e0faa0 Added support for getting the number of actual elements in a variable as well
as getting all of the values corresponding to the number of actual elements in
a variable -- primarily to improve the use of DML returning of multiple rows.
2017-04-11 14:17:55 -06:00
Anthony Tuininga
7f70d189b2 Added support for smallint and float data types in Oracle objects, as requested
(https://github.com/oracle/python-cx_Oracle/issues/4).
2017-04-04 21:17:24 -06:00
Anthony Tuininga
b614a47ef2 Added copyright notices to the top of all tests and samples as requested. 2017-03-09 10:21:22 -07:00
Anthony Tuininga
b28e04e901 Rework to use the ODPI-C library instead of direct OCI calls. 2017-03-07 13:21:49 -07:00
Anthony Tuininga
73f61d8a07 Raise cx_Oracle.DatabaseError, not IndexError for a scroll operation that
would position the cursor outside of the result set.
2017-02-03 09:01:47 -07:00
Anthony Tuininga
0bcbd072a8 Use None instead of 0 for items in the cursor.description attribute that do not
have any validity.
2017-01-25 15:17:20 -07:00
Anthony Tuininga
7bf8ae65ca Correct execution of test suite on Windows which doesn't support UTF-8 by
default.
2017-01-16 15:20:14 -07:00
Anthony Tuininga
8fda704186 Adjusted test cases to make use of encoding and nencoding parameters to both
standalone connection and session pool creation; added test cases for binding
and fetching supplemental characters as well as fetching temporary LOBs; tidied
up a few test cases as well.
2017-01-13 18:14:45 -07:00
Anthony Tuininga
678476f5f0 Remove unnecessary section of TNS naming string (ADDRESS_LIST). 2017-01-13 11:37:52 -07:00
Anthony Tuininga
4185d96682 Adjusted samples to be clearer and to match the tables used in the test suite;
added new samples for DRCP and input/output type handlers.
2017-01-13 10:47:20 -07:00
Anthony Tuininga
c238f63b58 Tidy up documentation and remove unnecessary "tablespace users" clauses since
the default tablespace is defined anyway!
2017-01-12 15:29:31 -07:00
Anthony Tuininga
ab42359f26 Fix cursor.scroll() to calculate row count correctly in all situations and
add test cases to verify that it does in fact work.
2017-01-12 15:22:29 -07:00
Anthony Tuininga
0e50be2a08 Renamed table TestExecuteMany to TestTempTable to be more in keeping with its
actual uses (not just testing executemany()).
2017-01-12 15:20:44 -07:00
Anthony Tuininga
92ec23930b Added support for initializing a collection upon creation; provided a synonym
for newobject() in simply calling the type directly (as a convenience).
2016-02-24 14:16:40 -07:00