Commit Graph

45 Commits

Author SHA1 Message Date
Felipe Pena
6d34e06a2f - Dropped *_TEXT* macros in favor of unicode macros direct usage 2009-05-25 14:32:15 +00:00
Felipe Pena
8ecf8ede1f - Removed:
- UG(unicode) checks
       - pcre_cache_entry.unicode_mode
- Changed:
       - ZEND_STR_TYPE -> IS_UNICODE
       - convert_to_text -> convert_to_unicode
       - convert_to_text_ex -> convert_to_unicode_ex

(Felipe, Steph)
2009-03-26 20:02:53 +00:00
Christopher Jones
cdf17a3f92 Use PHP 5 function name in error message 2009-03-09 20:19:38 +00:00
Sebastian Bergmann
7f4dc8702a Bump copyright year, 3 of 3. 2008-12-31 11:12:40 +00:00
Christopher Jones
23b226862a Bug #45458 (OCI8: Numeric keys for associative arrays are not handled properly) 2008-08-28 06:17:53 +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
Antony Dovgal
3fbf99a283 decrement parent's refcount only when destroying the child, not when decrementing child's refcount 2008-04-02 14:56:03 +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
e51eeed567 OCI8: fix bug #44008 (OCI-Lob->close) & bug #44206 (ref cursor leak) 2008-02-25 23:49:51 +00:00
Christopher Jones
5aeaeac561 MFB: sync DRCP connection pooling and FAN support from PHP 5.3 2008-02-19 01:44:29 +00:00
Sebastian Bergmann
9b620d50b4 Bump copyright year, 2 of 2. 2007-12-31 07:12:20 +00:00
Christopher Jones
95461653da Bug #42173 (INTERVAL and TIMESTAMP type fixes) 2007-08-02 19:04:21 +00:00
Antony Dovgal
c26725cc1a missing part of the fix for bug #42134 2007-07-31 21:08:38 +00:00
Antony Dovgal
ac1452b21f fix #42134 (oci_error() returns false after oci_new_collection() fails) 2007-07-31 19:19:39 +00:00
Antony Dovgal
1494f6f9df fix #39988 (type argument of oci_define_by_name() is ignored)
patch and tests by Chris Jones
2007-01-11 11:58:34 +00:00
Antony Dovgal
a323972c87 use constant 2007-01-03 20:45:17 +00:00
Sebastian Bergmann
3717df72ae Bump year. 2007-01-01 09:29:37 +00:00
Antony Dovgal
fa3c084b36 mark all LOB functions as Unicode safe 2006-12-25 18:57:15 +00:00
Antony Dovgal
96d19377ce use add_ascii_assoc_text() 2006-12-23 14:10:35 +00:00
Antony Dovgal
921d845f8d temporary fix for oci_error(), just to make it work
it should be using add_ascii_assoc_text() instead
2006-12-21 22:50:57 +00:00
Antony Dovgal
b87049fd42 added support for CALL statement type (patch by Chris Jones) 2006-12-21 22:08:02 +00:00
Antony Dovgal
fb522f16ee prevent any possible problems with negative values 2006-12-11 12:33:55 +00:00
Antony Dovgal
e56bd8eed2 add Unicode support to oci_statement_type() 2006-12-06 16:42:27 +00:00
Antony Dovgal
826f06ea88 mark most of the OCI8 functions as unicode aware 2006-12-06 16:36:27 +00:00
Antony Dovgal
b616c7ffee fix type mess (thanks again, Chris) 2006-11-10 23:03:23 +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
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
5cf81310c7 fix #38173 (Freeing nested cursors causes OCI8 to segfault) 2006-07-30 20:50:53 +00:00
Antony Dovgal
0ab0cf61db fix OCIPasswordChange() parameters (patch by pholdaway at technocom-wireless dot com)
prevent username. password and new password from being empty
2006-06-05 07:34:00 +00:00
Antony Dovgal
c5f35d7d95 MF51: fix #36851 (Documentation and code discrepancies for NULL data) 2006-03-28 09:13:22 +00:00
Antony Dovgal
dce1fffbc8 change oci_field_type() to return VARCHAR2 instead of VARCHAR
(fixes feature request #36800)
2006-03-21 15:47:38 +00:00
Andi Gutmans
1efe984d08 - Get rid of using ENFORCE_SAFE_MODE. 2006-02-19 04:29:42 +00:00
Andi Gutmans
e94e25e621 Start nuking safe_mode. Still a lot of work to do... 2006-02-19 00:55:22 +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
f15f20ffa2 fix #33383 (crash when retrieving empty BLOBs) 2005-10-10 10:16:58 +00:00
Antony Dovgal
bf69d23a21 more 64-bit fixes 2005-09-25 23:46:28 +00:00
Antony Dovgal
de50d0275c fix 64bit issues caused by wrong "long" usage 2005-09-25 21:44:32 +00:00
Antony Dovgal
ec8531cfb1 don't try to fetch resource when there is 0 args 2005-09-07 08:58:32 +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