Commit Graph

21 Commits

Author SHA1 Message Date
Sebastian Bergmann
7f4dc8702a Bump copyright year, 3 of 3. 2008-12-31 11:12:40 +00:00
Christopher Jones
ae46d3ca77 OCI8: Remove macros obsoleted by rev 1.71 when Oracle 8 support was dropped 2008-06-05 23:40:42 +00:00
Christopher Jones
7f3604bbab Code:
- Do scope-end release for oci_pconnect (oci8.old_oci_close_semantics=1 gives old behavior)
  - Fix session reuse with 10.2 client libs
  - Fix the Ping macro version check for 10.2
  - Add type check associated with zend_list_find
  - Code connection re-organized for reuse
  - Format comments
  - WS changes
  - Prepare for new PECL release
Tests:
  - Add new tests
  - Rationalize password tests
  - Revert use of __DIR__ so tests will work with PHP 5.2
  - Update some skipifs to make tests more portable
2008-04-18 00:04:45 +00:00
Christopher Jones
7060c9574c oci8: Sync with 5.3 - version macro updates and DRCP tweaks 2008-03-25 02:25:03 +00:00
Christopher Jones
a189edb7e7 MHB: Bug #44113 (New collection creation can fail with OCI-22303) 2008-02-15 23:49:21 +00:00
Sebastian Bergmann
9b620d50b4 Bump copyright year, 2 of 2. 2007-12-31 07:12:20 +00:00
Antony Dovgal
ac1452b21f fix #42134 (oci_error() returns false after oci_new_collection() fails) 2007-07-31 19:19:39 +00:00
Christopher Jones
ab25af8aeb Add casts to fix compilation warnings 2007-07-18 15:09:37 +00:00
Antony Dovgal
ee1a525351 Oracle seems to return non zero terminated strings or strings with only 1 zero at the end in Unicode mode
surely u_strlen() doesn't like it, so lets use OCIStringSize() and avoid u_strlen()
2007-03-28 23:05:36 +00:00
Sebastian Bergmann
3717df72ae Bump year. 2007-01-01 09:29:37 +00:00
Antony Dovgal
19060d3a14 use OCI_SUCCESS constant, do not rely on its value 2006-12-23 14:02:38 +00:00
Antony Dovgal
d99f05f1a2 add _not yet 100% complete_ Unicode support
collections, statements and BLOBs seem to be working ok
though there are still some things to be done in order to make oci_bind_array_by_name() work with U-strings

Notes:
- in Unicode mode OCI8 always speaks to Oracle server using UTF-16, so all the conversions are done by the client lib.
This is why character set parameter of oci_connect() and NLS_LANG are ignored in U-mode.

- BLOBs and CLOBs behave quite differently in U-mode.
Reading data from a CLOB would result in Unicode string, while BLOBs would return binary string.
Also, all LOB utilities work with _bytes_ when BLOB is used and _characters_ when it's CLOB.
It's not that obvious, but it does make a lot of sense to me.
2006-11-10 16:56:19 +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
1789473eba minor CS/WS fixes 2006-08-15 13:08:18 +00:00
Antony Dovgal
b64bf12d59 fix compilation on some b0rked systems that must have collections support but they don't 2006-05-30 21:38:00 +00:00
foobar
251c5173fd bump year and license version 2006-01-01 13:10:10 +00:00
Antony Dovgal
cc96f31ac7 fix PECL bug #5571 (oci_new_connect() not closed by oci_close()) 2005-10-03 13:02:14 +00:00
Antony Dovgal
dce4c522af the last 64bit fix 2005-09-26 16:48:24 +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