Commit Graph

22 Commits

Author SHA1 Message Date
Antony Dovgal
bfccf875f1 minor improvements
dropped unused parameters, changed long to int where it should be int
2006-08-22 11:08:28 +00:00
Antony Dovgal
f069754ab8 fix PECL bug #8112 (OCI8 persistent connections misbehave when Apache process times out) 2006-08-21 16:40:46 +00:00
Antony Dovgal
e16bd0c0f0 add support for NCLOBs
fix #35973 (Error ORA-24806 occurs when trying to fetch a NCLOB field)
2006-08-09 15:23:50 +00:00
Antony Dovgal
225fb6a51a fix #38161 (oci_bind_by_name() returns garbage when Oracle didn't set the variable) 2006-08-09 12:13:30 +00:00
Antony Dovgal
06aa83600e fix #37581 (oci_bind_array_by_name clobbers input array when using SQLT_AFC, AVC) 2006-07-31 10:28:46 +00:00
Antony Dovgal
5cf81310c7 fix #38173 (Freeing nested cursors causes OCI8 to segfault) 2006-07-30 20:50:53 +00:00
Antony Dovgal
4d7663363b happy birthday commit, yay =)
this patch should fix Unicode LOB problems using callbacks to read LOBs
the patch also includes an optimization: using chunk_size*X buffer should speed up LOB reading a bit

many thanks to Massimo Squillace <msquillace at sogei dot it> for the patch.
2006-06-07 13:36:19 +00:00
Antony Dovgal
be7135bc8e fix #36934 (OCILob->read() doesn't move internal pointer when reading 0's)
no support for Unicode CLOBs in Oracle < 10, sorry.
2006-04-05 14:07:16 +00:00
Antony Dovgal
2697320c20 fix #36235 (ocicolumnname delivers empty results before a succesfull ocifetch) 2006-01-31 18:36:59 +00:00
Antony Dovgal
1e3efec941 delete descriptor from the hash and avoid crashes on commit/rollback 2006-01-05 13:40:10 +00:00
foobar
251c5173fd bump year and license version 2006-01-01 13:10:10 +00:00
Antony Dovgal
066fb72fdd Initial implementation of oci_bind_array_by_name()
At the moment we support only these types:
SQLT_NUM, SQLT_INT, SQLT_LNG - integer/long
SQLT_FLT - float
SQLT_AFC, SQLT_CHR, SQLT_VCS, SQLT_AVC, SQLT_STR, SQLT_LVC - char/varchar
SQLT_ODT - date

More supported types may follow.
2005-11-22 16:30:36 +00:00
Antony Dovgal
9846ceeab6 fix PECL bug #5986 (connections use case sensitive hashed details) 2005-11-19 21:36:06 +00:00
Antony Dovgal
4aaf47e7bc remove undef HAVE_OCI_STMT_PREPARE2 2005-10-19 09:11:22 +00:00
Antony Dovgal
dce4c522af the last 64bit fix 2005-09-26 16:48:24 +00:00
Antony Dovgal
28205f28ef 2nd part of previous fix 2005-09-25 23:49:13 +00:00
Antony Dovgal
de50d0275c fix 64bit issues caused by wrong "long" usage 2005-09-25 21:44:32 +00:00
Antony Dovgal
1287891c3b removed __FUNCTION__ (by popular demand) 2005-09-06 21:44:53 +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
726f3e3881 workaround for some b0rked compilers 2005-09-06 21:11:19 +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