32 Commits

Author SHA1 Message Date
Anthony Tuininga
cccfa322c7 Simplify code to take advantage of feature added in Python 3.3. 2021-04-23 13:48:53 -06:00
Draco94
95baec2436
Implemented #385 enhancement and updated documentation (#549)
* Implemented #385 enhancement and updated documentation

Signed-off-by: Darko Djolovic <ddjolovic@outlook.com>

* Created flag to Cursor.var()

Signed-off-by: Darko Djolovic <ddjolovic@outlook.com>

* Removed first commit changes, updated documetnation

Signed-off-by: Darko Djolovic <ddjolovic@outlook.com>

* Added testing sample 'QueringRawData.py' and renamed attribute 'bypassstringencoding' to 'bypassencoding' with updated documentation

Signed-off-by: Darko Djolovic <ddjolovic@outlook.com>
2021-04-23 11:38:45 -06:00
Anthony Tuininga
0d28ea1e42 Added internal methods for getting/setting OCI attributes that are otherwise
not supported by cx_Oracle. These methods should only be used as directed by
Oracle.
2020-09-03 16:35:05 -06:00
Anthony Tuininga
96f15f48da Move declaration of Python types, methods and members to the end of the file in
order to avoid unnecessary forward declarations.
2020-07-28 09:50:41 -06:00
Anthony Tuininga
f8bcc6f0ec Added attribute cursor.prefetchrows to control the number of rows that the
Oracle Client library fetches into internal buffers when a query is
executed (https://github.com/oracle/python-cx_Oracle/issues/355).
2020-06-12 15:57:29 -06:00
Anthony Tuininga
633371db7d Small tweak to pull request for consistency in naming; update release notes
(https://github.com/oracle/python-cx_Oracle/pull/438).
2020-05-18 14:29:21 -06:00
Alex Henrie
5c6f55ef4d
Save string length instead of calling strlen in cxoCursor_var (#438)
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2020-05-18 14:26:35 -06:00
Alex Henrie
af1281e535
Remove redundant assignment from cxoCursor_setBindVariables (#421)
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2020-04-18 21:39:39 -06:00
Anthony Tuininga
f7b7785e82 Reworked type management to clarify and simplify code (see release notes for
details).
2020-02-10 10:02:03 -07:00
Anthony Tuininga
08346005a7 Use named field structure initialization in order to clarify code and reduce
clutter.
2020-02-10 09:57:30 -07:00
Anthony Tuininga
6b73d2223f cx_Oracle 8 when it is released will not support Python 2.7. 2019-12-04 15:06:25 -07:00
Anthony Tuininga
79902e11e4 Added support for returning the rowid of the last row modified by an operation
on a cursor (or None if no row was modified).
2019-11-29 14:59:56 -07:00
Anthony Tuininga
089639c0f9 A value of T_BOOL must be represented as char and should be treated as such
consistently in order to avoid issues on big-endian architectures.
2019-11-13 16:48:20 -07:00
Anthony Tuininga
d526de1893 Resolve MemoryError exception on Windows when using an output type handler
(https://github.com/oracle/python-cx_Oracle/issues/330).
2019-07-15 14:23:48 -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
4097a37ff2 Bump copyright notice into 2019 for changed files. 2019-01-22 16:00:29 -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
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
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
bc69e784f8 Adjust copyright notices to match requirements of Oracle Legal. 2018-09-10 11:39:51 -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
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
4d4b319714 Add support for specifying the "errors" parameter to the decode() that takes
place internally when fetching strings from the database
(https://github.com/oracle/python-cx_Oracle/issues/162).
2018-06-19 11:11:04 -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
f7a9eae0e7 Correct formatting. 2018-05-09 19:35:28 -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
623718f0eb Use a cx_Oracle._Error object (not a string) for all cx_Oracle exception types,
as suggested (https://github.com/oracle/python-cx_Oracle/issues/51).
2018-03-31 15:35:02 -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
4392f7ec7b There is no need to set the fetch array size for statements that are not
queries.
2018-03-07 16:18:30 -07:00
Anthony Tuininga
e5b6370bd0 Reorganize code to implement the following:
- use a prefix of cxo/CXO for all variables, methods and constants
  - create common include file and use separate compilation units
  - consolidate all transformations to/from Python objects
2018-01-29 18:50:18 -07:00