60 Commits

Author SHA1 Message Date
Anthony Tuininga
678476f5f0 Remove unnecessary section of TNS naming string (ADDRESS_LIST). 2017-01-13 11:37:52 -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
39805c66d7 Added support for binding objects with sub objects attached to them; ensured
that instances are created when an empty object variable is created; enhanced
test cases for binding objects.
2016-02-11 11:47:46 -07:00
Anthony Tuininga
371717623b Renamed ExternalObjectVar to Object since it will be independent of variables;
removed limitation for retrieving the object from the variable only once.
2016-02-08 12:16:28 -07:00
Anthony Tuininga
22cd6eafd8 Remove code for supporting Python versions earlier than 2.6. 2016-02-05 19:24:35 -07:00
Anthony Tuininga
a3947fb244 Added support for binding native integers which has a slight performance
advantage.
2016-02-03 19:20:12 -07:00
Anthony Tuininga
c3fc04e74c Change driver name to match informal driver standard used by Oracle for other
drivers.
2016-01-20 11:50:29 -07:00
Anthony Tuininga
8c1e6f68e4 Added support for binding boolean values to PL/SQL booleans -- a feature that
is only available in Oracle 12.1 and higher.
2016-01-14 21:41:36 -07:00
Anthony Tuininga
3c36e8cde3 Added support for NCHAR, FIXED_NCHAR and LONG_NCHAR, which are the same as the
types UNICODE, FIXED_UNICODE and LONG_UNICODE (now deprecated).
2015-06-06 21:01:37 -06:00
David Donovan Riddle
0d3c51ffab Issue #14 Added __version__ attribute
__version__ attribute added to conform with PEP 396.
2015-04-27 11:43:07 -05:00
Anthony Tuininga
3d160bf54a Remove conditional statements looking for SQLT_BFLOAT since that was
introduced in 10g Release 1 and cx_Oracle does not support anything earlier
than that anyway!
2015-04-25 19:31:03 -06:00
Jakob Gurnhofer
052448cc05 Add support for connections as SYSASM 2014-07-14 15:31:47 +02:00
Anthony Tuininga
d255b7457f Expose the UNICODE, FIXED_UNICODE and LONG_UNICODE types so that in Python 3
one can actually specify the use of the NCHAR type fields when binding or using
setinputsizes().
2014-07-07 12:41:37 -06:00
Anthony Tuininga
27361c5a23 Remove tabs in favor of spaces in order to be consistent with all of the other
files.
2013-10-19 22:10:23 -06: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
96a3468db6 Added suport for LONG_UNICODE which is a type that is used to handle long
unicode strings. These are not explicitly supported in Oracle but can be used
to bind to NCLOB, for example, without getting the "unimplemented or
unreasonable conversion requested" error.
2012-03-17 21:23:37 -06:00
Anthony Tuininga
960553534c Make use of the PyGILState_Ensure() and PyGILState_Release() methods which
are available in Python 2.3 and up and greatly simplify the code surrounding
thread handling in callbacks made by Oracle. The original code must have had
some small issue in it that was tweaked under high load. Thanks to Calvin S.
for noting the issue and supplying the suggested fix.
2011-09-24 20:56:52 +00:00
Anthony Tuininga
0be30d0a64 Added support for specifying the service_name in the dsn generated by makedsn()
which can be done by not specifying a value for the sid (third parameter) and
using the keyword parameter service_name instead.
2011-08-28 04:20:07 +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
309437003e Fixed bug when converting from decimal would result in OCI-22062 because
the locale decimal point was not a period. Thanks to Amaury Forgeot d'Arc
for the solution to this problem.
2009-11-20 05:53:37 +00:00
Anthony Tuininga
d1973cbb99 Fix comments. 2009-09-15 03:52:52 +00:00
Anthony Tuininga
ac79165f4d Drop these constants as well since there is no known use for them in cx_Oracle
and very little information in Oracle documentation about their use.
2009-02-16 16:37:02 +00:00
Anthony Tuininga
e82882eee4 Drop this constant also since it is not part of the standard Oracle
documentation for the database change notification feature.
2009-02-16 16:31:02 +00:00
Anthony Tuininga
b308d48add Drop constant DROP_DB which is not very well documented by Oracle and doesn't
appear to serve any particular purpose.
2009-02-16 16:10:27 +00:00
Anthony Tuininga
46eeb000b5 Added support for the rows in the change notification message. 2009-01-08 15:16:18 +00:00
Anthony Tuininga
825c78c87c Added tables to the message that is produced. 2009-01-08 05:40:59 +00:00
Anthony Tuininga
7fc7ede45d Added support for passing the message to the handler and populating it with the
initial information that will be useful; add the OCI constants to the module
in order to enable different values for subscriptions as well as decode the
message data.
2009-01-07 22:55:14 +00:00
Anthony Tuininga
78d619cfb6 Added initial support for database change notification. 2009-01-07 21:13:49 +00:00
Anthony Tuininga
6e899f435e NCLOB variables need to be retained even in Unicode mode as Oracle will not
allow you to read/write those type of LOB values with SQLCS_IMPLICIT for
reasons known only to itself.
2008-12-16 21:47:56 +00:00
Anthony Tuininga
231377127e Added support for interval day to second in Oracle, represented as Python
datetime.timedelta objects.
2008-11-25 15:59:16 +00:00
Anthony Tuininga
49f9c14f97 Final changes required to make cx_Oracle compile with Python 3.x. 2008-10-17 03:23: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
c2fbe9a801 Further work toward supporting Python 3.x. 2008-10-16 21:37:08 +00:00
Anthony Tuininga
373e79572d Fix comments. 2008-10-16 15:36:41 +00:00
Anthony Tuininga
2375320d5b Fix check for macro. 2008-10-16 13:46:24 +00:00
Anthony Tuininga
28a8cf42be Add macros for backwards compatibility if needed. 2008-10-16 04:25:36 +00:00
Anthony Tuininga
4d2a8c57de Dropped support for Python 2.3. 2008-10-16 04:19:14 +00:00
Anthony Tuininga
5bf582907c Remove remaining references to PyString_* functions to enable support for full
Unicode mode and eventual support for Python 3.x.
2008-10-16 04:08:15 +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
432d830f20 This information is already available via clientversion() so there is no need
for it and in fact may be confusing.
2008-10-14 21:30:44 +00:00
Anthony Tuininga
660898ecda Add support for showing the OCI client version that cx_Oracle was compiled
against which can be fairly useful.
2008-10-14 20:33:51 +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
c424a823a8 First cut at adding support for full unicode which is required by Python 3 but
the code is structured so that this can be done with Python 2.x as well if
desired; the only thing currently working is the determination of error
messages.
2008-10-10 04:18:05 +00:00
Anthony Tuininga
a2466272b5 Expose the DATETIME variable type properly instead of using the return value
type; thanks to Amaury Forgeot d'Arc for pointing out this discrepancy.
2008-10-09 21:59:09 +00:00
Anthony Tuininga
8e506ceeea Make a base type for all variables so that the attributes and methods are
shared without having to specify such; remove references to methods that get
the attributes and methods dynamically since these are deprecated in Python 2.6
and above. Thanks to Amaury Forgeot d'Arc for the initial patch.
2008-10-02 19:00:06 +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