Commit Graph

318 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
1789473eba minor CS/WS fixes 2006-08-15 13:08:18 +00:00
Antony Dovgal
43aab65e86 error message might be NULL 2006-08-15 12:27:04 +00:00
Antony Dovgal
7f2e2b105a OCIBreak() is not supported on Windows 2006-08-15 12:19:39 +00:00
Antony Dovgal
4e792c3ead improve connection character set detection:
* output a warning if invalid character set was passed to the function
* use NLS_LANG by default
2006-08-10 12:15:24 +00:00
Antony Dovgal
689f3a92b5 fix #8112 (Persistent connections misbehave when Apache process times out) 2006-08-09 10:16:20 +00:00
Antony Dovgal
3e0a13fa9f long -> int 2006-08-06 14:09:46 +00:00
Antony Dovgal
688975a519 fix PECL bug #7827
add small optimization - no need to do anything if hash lookup failed, just move along
2006-08-05 20:56:12 +00:00
Antony Dovgal
0c2449923c improve error message on Win32 2006-08-01 12:08:10 +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
b14af30ed0 improve connection timeout check (implements FR #38210) 2006-07-26 07:00:42 +00:00
Antony Dovgal
310903208a fix #37931 (possible crash after database restart when using persistent connections) 2006-06-28 15:03:16 +00:00
Antony Dovgal
d9de0eac85 fix typo and bug #37886 2006-06-23 08:25:58 +00:00
Antony Dovgal
9af1ea3883 fix compile failure with <s>ancient</s> older PHP versions caused by new globals management code 2006-06-21 10:51:55 +00:00
Antony Dovgal
3210771d31 display oci8 version in phpinfo() 2006-06-19 18:21:19 +00:00
Dmitry Stogov
943960c324 Added automatic module globals management 2006-06-13 13:12:20 +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
c051139ad5 fix #37531 (oci8 persistent connection corruption) 2006-05-29 10:59:15 +00:00
Antony Dovgal
10c2fc97df fix #37487 (oci_fetch_array() array-type should always default to OCI_BOTH) 2006-05-18 13:20:00 +00:00
Antony Dovgal
6fc10a0acd fix #37392 (Unnecessary call to OCITransRollback() at the end of request) 2006-05-10 10:06:57 +00:00
Antony Dovgal
000cf5ca7f MF51: fix #37059 (oci_bind_by_name() doesn't support RAW and LONG RAW fields)
add tests
2006-04-12 19:22:12 +00:00
Antony Dovgal
a892880c1c MF51: correct fix for bug #37055 2006-04-12 17:59:57 +00:00
Antony Dovgal
33a2dc7495 MF51: fix #37055 (incorrect reference counting for persistent OCI8 connections) 2006-04-12 13:38:05 +00:00
Antony Dovgal
49b16f7254 MF51: fix #36820 (Privileged connection with an Oracle password file fails) 2006-03-22 09:46:13 +00:00
Antony Dovgal
af792fbcc2 add workaround for Oracle server crash, use OCIServerVersion() instead of OCIPing()
fix #36250 (PHP Causes ORA-07445 Core dump in Oracle server 9.2.x)
2006-03-07 07:45:59 +00:00
Antony Dovgal
9e03537d90 reorganize resource destruction.
- use one helper function for all resource types
- destroy all resources when connections are still available
2006-01-18 10:11:12 +00:00
Antony Dovgal
38beafe629 fix #36055 (possible OCI8 crash in multithreaded environment) 2006-01-17 23:44:11 +00:00
Antony Dovgal
c9d6bb5b9f silence compile warning in non-ZTS mode 2006-01-10 08:32:49 +00:00
Antony Dovgal
9bd3c360ba destroy regular connections in RSHUTDOWN if ZTS is used
this fixes problem with Oracle9 (not Oracle10) and Apache2/worker - connections are not being closed correctly
see #35205 and similar issues
2006-01-10 08:29:19 +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
foobar
34ad5ab731 - list_entry -> zend_rsrc_list_entry 2005-12-05 23:31:09 +00:00
Antony Dovgal
9fdd2b6940 show OIC version in phpinfo(); if possible
fix build with older versions: SQLT_BDOUBLE & SQLT_BFLOAT first appeared in Oracle 10
2005-11-26 17:34:35 +00:00
Antony Dovgal
d31cd8bf85 change handles destruction order (based on the patch by Chris Jones) and fix typo 2005-11-25 10:16:55 +00:00
Antony Dovgal
eb40be874a fix #35322 (oci_connect() after oci_close() gives unknown resource) 2005-11-24 15:15:28 +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
00ee8a036c typo 2005-10-18 13:39:51 +00:00
Antony Dovgal
f15f20ffa2 fix #33383 (crash when retrieving empty BLOBs) 2005-10-10 10:16:58 +00:00
Antony Dovgal
de50d0275c fix 64bit issues caused by wrong "long" usage 2005-09-25 21:44:32 +00:00
Antony Dovgal
5ec597013e fix arguments-by-ref with 5.x (problem appeared after the last 4.x compat patch)
make sure username_len is always initialized
2005-09-25 18:24:52 +00:00
Antony Dovgal
0b57661b2d .. and the fix 2005-09-22 16:42:21 +00:00
Antony Dovgal
6a956b3d43 fix Win32 builds for PHP_4_4
(patch by Edin)
2005-09-22 16:25:59 +00:00
Antony Dovgal
034e794fe9 use "connections" instead of "links" everywhere to avoid possible confusion 2005-09-08 13:16: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
foobar
03cec74a0d Nuked EOLs from error messages 2005-08-18 13:34:04 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00