32 Commits

Author SHA1 Message Date
Anthony Tuininga
2d73b12325 Remove debugging lines. 2016-02-24 12:02:04 -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
a3947fb244 Added support for binding native integers which has a slight performance
advantage.
2016-02-03 19:20:12 -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
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
Anthony Tuininga
b353be865a Booleans are subclassed to integer so ensure that the boolean is checked first;
this wasn't a problem in Python 2.x but has become one in Python 3.x.
2014-08-05 15:50:05 -06:00
Anthony Tuininga
b1d1a93a87 Remove proposed optimization FitsInLong() and instead tweak the logic that
determines whether or not an integer conversion should be attempted.
2014-05-13 13:36:13 -06:00
TWAC
fd515c0bf5 MSVC does not like C99 2014-05-09 14:44:06 +02:00
Anthony Tuininga
3ca41fec71 Tidy up code a bit. 2014-05-08 22:45:00 -06:00
shaib
253466e55d Removed unintended change in file header comment 2014-04-19 22:01:39 +00:00
Shai Berger
00569f774f Removed non-change 2014-04-14 03:31:47 +03:00
Shai Berger
ebdf24d303 Make ints faster, take 2: Peek in OCINumber
Make "small" ints in "large" columns twice as fast, without
significant decline in performance for large ints, by peeking
in the exponent byte of the OCINumber
2014-04-07 04:04:29 +03:00
Shai Berger
7e0515b0f4 Try reading potentially-long integers as ints before creating strings for performance 2014-04-02 16:09:07 +03: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
9be85a356c Free temporary LOBs prior to each fetch in order to avoid leaking them; thanks
to Uwe Hoffmann for the initial patch.
2011-01-04 05:55:54 +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
5017d36c46 Use the PyNumber_Long method as required in Python 3.0.1 and higher but the
older version in Python 2.x.
2009-02-16 18:19:32 +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
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
5e7c3bbd86 Add missing StringBuffer_Clear() method calls. 2008-10-16 17:12:41 +00:00
Anthony Tuininga
69def313e3 Tweaks to make wide unicode builds work and eliminate potential memory leak. 2008-10-16 02:47:29 +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
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
dcb996e338 Explicitly drop support for versions earlier than Python 2.3 with the advent
of Python 2.6.
2008-10-10 04:30:53 +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
Anthony Tuininga
21f1839d1a Fixed support for native doubles and floats in Oracle 10g; added new type
NATIVE_FLOAT to allow specification of a variable of that specific type where
desired. Thanks to D.R. Boxhoorn for pointing out the fact that this was not
working properly when the arraysize was anything other than 1.
2007-06-27 14:34:34 +00:00
Anthony Tuininga
5025b4eb22 Replaced all tabs with spaces. 2007-06-27 14:00:34 +00:00
Anthony Tuininga
104e11b67a Last public release from Computronix. 2007-06-13 21:15:16 +00:00