Commit Graph

40 Commits

Author SHA1 Message Date
foobar
251c5173fd bump year and license version 2006-01-01 13:10:10 +00:00
Antony Dovgal
4a2b8cb6d0 fix credits 2005-09-06 21:42:26 +00:00
Edin Kadribasic
e18b812ba6 Remove utf-8 chars 2005-09-06 21:30:28 +00:00
Antony Dovgal
3df94e1112 Updated OCI8 driver
This updated fixes (this list is not complete):
-------------------
#33915 - crash in _oci_close_session
#26393 - Segfault during request shutdown in _oci_close_session() (oci8.c:2443)

#32741 - hang on ociexecute() with collections (only with 10g, works with 9i)
#32325 - can't retrieve collection using OCI8
#33583 - Apache1.3.33 Segmentation fault with php5 & OCI_New_Collection

#32361 - connection oci_connect stay persist after process the php
#29013 - multiple logins cause handles become invalid
#28944 - OCITypeByName: OCI-21522 with two connections

Fixed by connection handling rewrite.

#32140 - NVARCHAR columns are truncated
#31042 - oci_fetch_* sets field value to false
#27156 - OCIFetchInto returns false as column value when column contains >1 umlaut

Fixed by multiplying buffer size by 3.

#33866 - OCIlogon do not returns conn resource for account with expired paswd
#33365 - logon fails when password expires

Fixed by adding new oci_password_change() call syntax.

#33159 - DB-connect via webserver fails after DB-restart ORA-24327
#30808 - oci8 cannot connect after restarting DB
#30127 - lost oracle connection. need restart apache.
#29902 - oci8 doesn't disconnect sessions, overloads oracle server
#29779 - (the same issue with the Oracle server going offline)
#26829 - Killed Oracle Sessions openned with OCIPLogon()

Fixed by adding oci8.ping_interval option.

#32988ext/oci8: OCI doesn't support DB external authentication

Fixed by adding support of external credentials (turned off by default).

Added new INI options:
----------------------
oci8.ping_interval
oci8.max_persistent
oci8.persistent_timeout
oci8.privileged_connect
oci8.statement_cache_size
oci8.default_prefetch
oci8.old_oci_close_semantics

See the updated docs for the detailed descriptions.

Major changes:
--------------
- connection handling algorithm rewritten. That should add stability and fix all non-reproducible crashes etc;
- extension refactored and divided into several files to improve readability and to make it easier to maintain;
- added support of statement caching;
- added support of privileged connections using external credentials;
- added new INI options to manage persistent connections;
- fixed oci_close() to close connections correctly.
2005-09-06 19:31:59 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Ilia Alshanetsky
e81addb5ca C++ comments. 2004-04-29 12:59:26 +00:00
foobar
ccfc46b0aa - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
foobar
0eead3672c ws + cs 2004-01-02 15:32:09 +00:00
Antony Dovgal
12c7ae9f55 workaround for possible ORA-22280 warning if buffers were not flushed 2003-12-25 13:54:50 +00:00
Harald Radi
85b4b63a47 @- fixed #20006, #22674 and #24531 (harald)
@- added ZTS connection pooling support to the oci extension
@  connections will now be pooled per process and not
@  per thread anymore. the number of persistent and active
@  connections is now also shown in the phpinfo() output (harald)
2003-12-16 10:29:11 +00:00
Antony Dovgal
18096396d2 add new functions:
ocitelllob(); [ OCI_Lob->tell(); ] - ftell(); analogue for Lobs
ociwritelob(); [ OCI_Lob->write(); ] - fwrite(); analogue for Lobs
ocitruncatelob(); [ OCI_Lob->truncate(); ] - ftruncate(); analogue for Lobs
ocieraselob(); [ OCI_Lob->erase(); ] - erases specified part of a Lob (for BLOBs it means zero-filling, for CLOBs - space-filling)
ociflushlob(); [ OCI_Lob->flush(); ] - flushes Lob buffer (if buffering was enabled before)
ocisetbufferinglob(); [ OCI_Lob->setBuffering(); ] - turns on/off buffering for the current Lob
ocigetbufferinglob(); [ OCI_Lob->getBuffering(); ] - gets buffering' current state
ocirewindlob(); [ OCI_Lob->rewind(); ] - rewind(); analogue for Lobs
ocireadlob(); [ OCI_Lob->read(); ] - fread(); analogue for Lobs
ocieoflob(); [ OCI_Lob->eof(); ] - feof(); analogue for Lobs
ociseeklob(); [ OCI_Lob->seek(); ] - fseek(); analogue for Lobs
ocilobgetlength(); [ OCI_Lob->getLength(); ] - filesize(); analogue for Lobs

ociappendlob(); - appends data from a Lob to another Lob
ocicopylob(); - copies data from a Lob to another Lob
ociisequallob(); - compares 2 Lobs and checks if they are equal

TODO cleanup
and other minor fixes
2003-12-15 13:53:01 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Stig Bakken
0e6fca4f22 * email address change 2003-03-18 12:06:09 +00:00
foobar
e9a132f223 No c++ comments.. 2003-01-31 14:18:50 +00:00
Sebastian Bergmann
b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
Abdul-Kareem Abo-Namous
646c4747b4 added support for multiple character sets.
OCILogon now has a forth optional parameter, which is the character set requested by the string (i.e. we8iso8859p1). when left blank, NLS_LANG or default is used.

config.m4 was changed to identify Oracle 9+ which is needed for this feature. all other oracle versions (lesser) fall back to the old behaviour.
2002-12-06 13:44:35 +00:00
Thies C. Arntzen
b905e40e92 @- OCIResult() could return garbage if called on empty result-sets. (thies)
# fix #19364
2002-09-12 09:48:03 +00:00
Thies C. Arntzen
1d54bf97e0 only rollback at script end if there is something to rollback. 2002-02-10 12:41:52 +00:00
Thies C. Arntzen
7f29ed5798 - got rid of unneded calls to OCIAttrGet when reexecuting the same query
- only invalidate the define list after all rows from a REFCORSOR are read,
  "normal" corsors will now remember their column defines. this means that
  ocigetcolumn[name|type|..] will from now on work even after the result set
  has been read.
2002-02-08 18:50:12 +00:00
Sebastian Bergmann
38933514e1 Update headers. 2001-12-11 15:32:16 +00:00
Zeev Suraski
d87cc976e1 Redesigned thread safety mechanism - nua nua 2001-07-28 11:36:37 +00:00
Thies C. Arntzen
6c2cfdea43 indention 2001-07-23 17:50:06 +00:00
Thies C. Arntzen
423613f4ee @ - Make sure that OCI8 outbound variables are always zero-terminated. (Thies) 2001-07-08 12:37:08 +00:00
foobar
2798dd52af Killed some compile warnings. 2001-05-28 00:16:28 +00:00
Thies C. Arntzen
a085b708e1 namespace-protect "open" 2001-05-04 14:53:45 +00:00
Andy Sautins
e650cba5e4 Cleanup collections - removed unused members from oci_collection structure 2001-04-25 17:44:07 +00:00
Thies C. Arntzen
b9216bcc1b @ - OCI8 now supports binding of collections
@   (Patch by Andy Sautins <asautins@veripost.net>)
2001-04-13 14:43:39 +00:00
Andi Gutmans
eb6ba01d1c - Fix copyright notices with 2001 2001-02-26 06:11:02 +00:00
Thies C. Arntzen
825457ae64 update my email. 2000-10-29 09:14:55 +00:00
David Croft
83513d9580 Changed lots of PHP 3 licence headers to PHP 4, mainly in .h files.
Added a few RCS $Id$ tags.

# Note: I have avoided changing any .h files if the corresponding .c file
# had not already been changed as I am not sure if there are any legal
# issues here. So some extensions still have PHP 3 headers.
2000-07-24 01:40:02 +00:00
Thies C. Arntzen
cef6cc1ec0 fixed uninitilized var in ZTS mode. 2000-07-15 14:54:04 +00:00
Sascha Schumann
16017f6d78 Change header protection macros to conform to standard.
Draft 3 of IEEE 1003.1 200x, "2.2 The Compilation Environment"

  All identifiers that begin with an underscore and either an uppercase
  letter or another underscore are always reserved for any use by the
  implementation.
2000-07-02 23:46:51 +00:00
Thies C. Arntzen
ad5b022ed1 @- OCINLogon() sessions are now closed again. (Thies)
# happy hacking in hongkong!
2000-03-06 08:02:15 +00:00
Joe Martin
68c10efe1b Added functions to retrieve scale, precision and raw oracle data type for
columns.
2000-03-03 01:28:27 +00:00
Sascha Schumann
0036b8bba0 #if WIN.* => #ifdef PHP_WIN32
#if !(WIN.* => #ifndef PHP_WIN32
2000-02-12 14:38:31 +00:00
Thies C. Arntzen
c145f85638 make it work without the zend_hash_pointer*() functions. some work on the shutdown issues (more to follow) 2000-02-01 14:39:59 +00:00
Thies C. Arntzen
8950aa75c4 @- OCI8 now supports binding of NULL-values. Module cleanups. (Thies)
lots of cleanup - all invisible to the user (i hope;-)
- full refcounting of connections & statements
- cleanup of the descriptor-code (descriptors are now real resources)
- we now use SQLT_CHR instead of SQLT_STR (no trailing \0) - smarter & faster
- ocifetchinto(OCI_BOTH) will use references.
2000-01-16 13:30:57 +00:00
Zeev Suraski
fb1c77bd4f - Made PHP_VERSION and PHP_OS work again
- More php3_ cleanup
@- Restored the PHP_VERSION and PHP_OS constants (Zeev)
1999-12-17 20:55:31 +00:00
Thies C. Arntzen
99b5652f40 small cleanups in MINIT code
OCIInitialize is now called at the "right" spot again
1999-12-09 11:02:41 +00:00
Sascha Schumann
5b983c944f Clean up php3.*\.h files. The files itself are renamed, and references in all
.*\.[ch] files were changed. There is a slight chance that my script missed
a few changes, please correct them manually.
1999-12-04 19:19:57 +00:00