65 Commits

Author SHA1 Message Date
Anthony Tuininga
5126c7456e Enable statement caching to improve performance. 2017-01-12 11:50:47 -07:00
Anthony Tuininga
0f3b0f17c0 Added support for using the C API for advanced queuing. 2016-03-01 15:34:05 -07:00
Anthony Tuininga
cb3f833a63 Added support for binding objects and setting attributes on objects of numbers,
strings and dates.
2016-02-09 14:51:30 -07:00
Anthony Tuininga
4e1c26a3dc Eliminate unnecessary initialization code. 2016-02-08 10:32:11 -07:00
Anthony Tuininga
3eeff96403 Added support for scrollable cursors. 2016-02-05 17:19:40 -07:00
Anthony Tuininga
bc9d1745ab Added support for editioning; documented the additional parameters to the
connection constructor that were missing; added missing versionadded directive
to the module documentation.
2016-02-03 21:17:18 -07:00
Anthony Tuininga
573da4fc21 Logical transaction id is only available in 12.1. 2016-02-03 10:23:07 -07:00
Anthony Tuininga
84cd718977 Added support for Transaction Guard by including the attributes
connection.ltxid and error.isrecoverable as well as a sample that indicates
how it could be used.
2016-01-26 14:19:45 -07:00
Anthony Tuininga
c9bd6ebf90 Added optional parameter externalauth to SessionPool() which enables wallet
based or other external authentication mechanisms to be used.
2015-08-15 21:11:00 -06:00
Anthony Tuininga
168d61670e Removed password attribute from connection and session pool objects in order
to promote best security practices (if stored in RAM in cleartext it can be
read in process dumps, for example). For those who would like to retain this
feature, a subclass of Connection could be used to store the password.
2015-07-31 14:31:13 -06:00
Anthony Tuininga
134f4b4987 No need to check the type since a Unicode object is perfectly acceptable in
Python 2 and the cxBuffer_FromObject() method checks the type anyway.
2015-06-06 21:31:53 -06:00
Anthony Tuininga
c388eed0f3 Remove remaining references to ORACLE_11G and use the ORACLE_VERSION_HEX
method exclusively.
2015-04-25 20:35:23 -06:00
Anthony Tuininga
59a79634b2 Remove conditional code now that Oracle 10g is the minimum version supported. 2015-04-03 22:09:55 -06:00
Anthony Tuininga
fdde7da7f5 Ensure that sessions are released to the pool when calling connection.close();
this resolves issue 2:
https://bitbucket.org/anthony_tuininga/cx_oracle/issue/2/use-of-cclass-causes-connection-leaks
2014-08-06 11:16:07 -06:00
Anthony Tuininga
851041ba39 Use different variable name to be more consistent with other code. 2013-10-15 04:21:45 +00:00
Andrew Horton
52810a4c81 64-bit fix to stop self.db.current_schema sometimes throwing MemoryError 2013-10-06 10:21:47 +01:00
Glen Walker
ad64691904 Make ORACLE_VERSION_HEX easier to use 2012-11-23 15:02:46 +13:00
Glen Walker
3e63e0cc42 Add support for query result set change notification 2012-11-23 14:10:07 +13:00
Anthony Tuininga
d69f7e3a2b Add support for setting the module, action and client_info during connection
so that logon triggers will see the values, as requested by Rodney Barnett.
2012-05-29 12:01:55 -06:00
Anthony Tuininga
03766e3363 Force server detach on close so that the connection is completely dead and not
just the session as previously.
2011-05-14 23:12:25 +00:00
Anthony Tuininga
a9ebd12f76 Restore support for the encoding and nencoding attributes on a connection. 2011-03-15 16:18:26 +00:00
Anthony Tuininga
04f1904a7d Remove "unicode" mode and simply permit unicode to be used everywhere within
cx_Oracle; stop using "unicode" mode in the OCI as well since that appears to
have bugs in some places and doesn't really solve any problems anyway.
2011-02-19 03:50:16 +00:00
Anthony Tuininga
fb2e048851 Make AIX5 happy as OCIPing does not appear to be available on that platform
under Oracle 10g Release 2. Thanks to Pierre-Yves Fontaniere for the patch.
2011-01-01 05:07:20 +00:00
Anthony Tuininga
85d368a21d Added support for new parameter (port) for subscription() call which allows
the client to specify the listening port for callback notifications from
the database server. Thanks to Geoffrey Weber for the initial patch.
2010-07-14 04:40:11 +00:00
Anthony Tuininga
88666dbef7 Fix compilation under Oracle 9i. 2010-05-26 21:28:10 +00:00
Anthony Tuininga
4adc2550a1 Renamed to client_identifier as that is consistent with current_schema and is
also much more readable anyway.
2009-10-22 04:18:45 +00:00
Anthony Tuininga
a295178f22 Added support for setting the CLIENT_IDENTIFIER attribute on connections. 2009-10-21 05:08:56 +00:00
Anthony Tuininga
0c859f8b87 Added support for named arguments in callproc() and callfunc() which make use
of PL/SQL notation for making such calls.
2009-09-29 04:56:31 +00:00
Anthony Tuininga
36c1f4d7dd current_schema is only valid for Oracle 10.2 and higher. 2009-09-08 23:26:17 +00:00
Anthony Tuininga
78d619cfb6 Added initial support for database change notification. 2009-01-07 21:13:49 +00:00
Anthony Tuininga
c6603b324d Add new attributes size, bufferSize and numElements to variable objects,
deprecating allocelems (replaced by numElements) and maxlength (replaced by
bufferSize); avoid increasing memory allocation for strings when using variable
width character sets and increasing the number of elements in a variable during
executemany(). Thanks to Don Reid for pointing out this issue.
2009-01-06 20:58:34 +00:00
Anthony Tuininga
607f9019d1 Call the type's tp_free and tp_alloc methods at all times in order to deal with
inheritance properly; use "self" at all times in the constructor and destructor
routines.
2009-01-06 15:46:54 +00:00
Anthony Tuininga
7dd6a588c1 Reset commit mode back to default after committing so that local and global
transactions can be mixed on the same connection.
2008-12-08 20:32:29 +00:00
Anthony Tuininga
bd5915a435 As requested by Gordon den Otter, return a boolean from connection.prepare()
indicating whether or not a transaction has been prepared for commit so that
the error ORA-24756 (transaction does not exist) can be avoided.
2008-12-08 19:51:18 +00:00
Anthony Tuininga
c4a17177aa Added support for getting and setting the current_schema attribute on a
session.
2008-11-19 22:51:51 +00:00
Anthony Tuininga
903914b669 Added support for changing the password of a connection using a new method
changepassword() as requested by Alex VanderWoude.
2008-11-16 05:53:59 +00:00
Anthony Tuininga
99510c84d5 Add support for changing the password during connection in order to handle
expired passwords.
2008-11-16 03:34:35 +00:00
Anthony Tuininga
3e6a6ef8b2 Use the same environment handle in connections acquired from the pool as using
a new environment handle results in strange errors in certain situations.
2008-11-11 21:25:05 +00:00
Anthony Tuininga
98f928a819 When a connection is acquired from the pool the session handle is not directly
available so grab it from the main handle instead.
2008-11-11 20:35:25 +00:00
Anthony Tuininga
3e55613248 Replace all occurrences of PyInt_AS_LONG with PyInt_AsLong since Python 3.x
doesn't have a separate integer type.
2008-10-17 03:04:48 +00:00
Anthony Tuininga
5e7c3bbd86 Add missing StringBuffer_Clear() method calls. 2008-10-16 17:12:41 +00:00
Anthony Tuininga
bef9439b3e Remove refernces to PyString and replace with appropriate calls to cxString
or PyBytes.
2008-10-16 03:24:33 +00:00
Anthony Tuininga
515bca0f96 All test cases now run correctly in Unicode mode. There are still additional
things that need to be dealt with but the majority of the code has now been
transformed to use either Unicode or encoded strings with Oracle.
2008-10-15 22:45:29 +00:00
Anthony Tuininga
eae705cef1 Rename additional macro as suggested by Amaury Forgeot d'Arc; added additional
support for full Unicode; in Python 2.x allow for keyword arguments which use
strings and simply convert them to Unicode on the way through.
2008-10-14 16:53:05 +00:00
Anthony Tuininga
7d67968e3a Rename macros as suggested by Amaury Forgeot d'Arc. 2008-10-14 15:55:37 +00:00
Anthony Tuininga
2e26d0beb8 Continued work on Unicode support; added new test cases for full unicode
support within Python 2.x; move away from character semantics which Oracle is
deprecating anyway to byte semantics which should hopefully eliminate the
problem with a backend character set of UTF-8.
2008-10-14 04:51:43 +00:00
Anthony Tuininga
82747e408c Added support for establishing connections to Oracle using Unicode while
retaining support for establishing connections using ASCII strings.
2008-10-10 20:06:34 +00:00
Anthony Tuininga
08e308b83b Added support for specifying an input type handler to control what kind of
variable is created and eliminated the leak when an output type handler would
be specified.
2008-10-08 22:41:47 +00:00
Anthony Tuininga
6c13ccbe5f Use macro PyVarObject_HEAD_INIT as suggested by Amaury Forgeot d'Arc in order
to facilitate migration to Python 3.0.
2008-10-02 17:34:16 +00:00
Anthony Tuininga
243849a5ff Use Py_TYPE to determine the type of an object rather than referencing the
attribute directly as suggested by Amauary Forgeot d'Arc.
2008-10-02 17:24:21 +00:00