Commit Graph

297 Commits

Author SHA1 Message Date
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
Antony Dovgal
2a128504a2 destroy session after destroying error handle
SQLT_CHR is allowed too
2005-06-13 09:30:49 +00:00
Antony Dovgal
5ca4b8383e handle unsupported datatype (OCIBindByName segfaults somewhere in OCI lib when
unknown type is provided)
2005-04-28 14:10:42 +00:00
Antony Dovgal
d0427feee4 fix bug #31623 (OCILogin does not support password grace period) 2005-01-20 18:39:48 +00:00
Andi Gutmans
7c3eaef39d - Don't reuse Oracle connections in multi-threaded environments until
- we decide to either not support ZTS connection pooling (kind of
- pointless as PHP isn't stable in ZTS mode) or fix the 100% reproducable
- crash bug on oci_connect() under Windows most probably due to this
- problem.
2004-11-22 21:44:42 +00:00
Andi Gutmans
737568997b *** empty log message *** 2004-11-21 06:17:32 +00:00
Antony Dovgal
07f84de680 commit fixes by <mikael dot suvi at trigger dot ee>
(segfaults under heavy load)
2004-10-23 09:32:44 +00:00
Antony Dovgal
3a5822585e fix possible segfault 2004-10-10 15:04:21 +00:00
Antony Dovgal
b0b4b6eff2 prevent deadlocks when re-using previously established persistent connection 2004-10-10 10:54:26 +00:00
Antony Dovgal
454b9659c5 fix bug #29652 (number of FD to ocius.msb is growing)
many thanks to Sergei V. Rozinov <S dot Rozinov at sibron dot ru> for testing
2004-09-28 16:59:10 +00:00
Antony Dovgal
cbd5396cbb fix build 2004-07-19 07:35:41 +00:00
Andi Gutmans
56f8195fe5 - Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
  STR_FREE() and zval_dtor() always have to check for it and it slows down
  the general case. In addition, it seems that empty_string has been abused
  quite a lot, and was used not only for setting zval's but generally in
  PHP code instead of "", which wasn't the intention. Last but not least,
  nuking empty_string should improve stability as I doubt every place
  correctly checked if they are not mistakenly erealloc()'ing it or
  calling efree() on it.
  NOTE: Some code is probably broken. Each extension maintainer should
  check and see that my changes are OK. Also, I haven't had time to touch
  PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Antony Dovgal
f6eb507b2c fix #29012 (Potential race during first connection) thanks to cjbj at hotmail dot com 2004-07-15 11:00:14 +00:00
Antony Dovgal
08486a0ea3 fix #28978 (multiple OCIBindByName on the same placeholder eats memory) 2004-07-12 07:40:05 +00:00
Antony Dovgal
af96ad84b5 hmm. this comma is supposed to be a semicolon. 2004-04-26 14:49:41 +00:00
Ard Biesheuvel
81f05c18f5 Wordsize fixes 2004-02-25 20:16:27 +00:00
Antony Dovgal
7837416c2b this should really fix compile failure with gcc 2.96 2004-02-20 12:47:56 +00:00
foobar
26332c0436 Fix compile failure 2004-02-20 03:16:51 +00:00
foobar
6e15162724 Only use Z_TYPE* with zvals.. 2004-02-20 03:05:42 +00:00
Stig Bakken
4127b304ea * email address update 2004-02-12 19:05:41 +00:00
Stig Bakken
f8125ed92d * update my email address 2004-02-12 19:03:03 +00:00
Antony Dovgal
d3cd05c95a fix bug #27149
(offset should start with 1)
2004-02-05 08:29:16 +00:00