Commit Graph

541 Commits

Author SHA1 Message Date
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
5ce0aa49b8 disable OCILobRead2() support on Win32 2006-05-15 08:34:02 +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
ea759395f8 prepare to 1.2.1 release 2006-05-02 10:18:58 +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
e931d970ab add new tests 2006-04-05 14:09:31 +00:00
Antony Dovgal
cd4730e6c7 add missing defines to .w32 2006-04-05 14:07:57 +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
8629171612 fix tests 2006-03-28 09:13:35 +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
49b16f7254 MF51: fix #36820 (Privileged connection with an Oracle password file fails) 2006-03-22 09:46:13 +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
Antony Dovgal
0ba446fa06 reimplement php_oci_lob_read() and fix PECL bug #5995
now the function dosn't try to read data by blocks, as this is nearly impossible
to do with Unicode and regular LOBs in the same time
2006-03-21 15:07:14 +00:00
Antony Dovgal
612fbc1b6b MFB: Added support for BINARY_DOUBLE and BINARY_FLOAT to PDO_OCI and OCI8 (also fixes bug #36764) 2006-03-18 22:06:45 +00:00
Antony Dovgal
37ab9aa474 prepare to the 1.2 release 2006-03-16 07:31:01 +00:00
Antony Dovgal
d88e3ee93d prepare to the next release 2006-03-07 10:22:54 +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
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
cc318c4f4f fix #36403 (oci_execute() no longer supports OCI_DESCRIBE_ONLY) 2006-02-15 20:43:37 +00:00
Antony Dovgal
087ee7d567 don't use deprecated call-time by reference 2006-02-07 14:11:01 +00:00
Antony Dovgal
760d8cda46 MF51: fix #36010 (Segfault when re-creating and re-executing statements with bound parameters) 2006-02-03 14:48:24 +00:00
Antony Dovgal
048c5843f4 merge from 5.1 forgotten patch 2006-01-31 18:41:38 +00:00
Antony Dovgal
617242e6fa fix test 2006-01-31 18:39:50 +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
9a69aa32e9 fix typo 2006-01-20 16:58:33 +00:00
Antony Dovgal
f32c1b7c2b add new test 2006-01-20 11:07:51 +00:00
Antony Dovgal
f14d1152fe fix #36096 (oci_result() returns garbage after oci_fetch() failed) 2006-01-20 11:01:36 +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
e99778562d add test for bug #36010 2006-01-14 22:22:48 +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
Antony Dovgal
632e571642 MFB: add missing skipif conditions, fix existing ones
add one missing test
2005-12-21 11:43:24 +00:00
Antony Dovgal
3c78e5804a new test 2005-12-13 21:43:16 +00:00
Antony Dovgal
8338c39ff3 add new tests 2005-12-08 22:31:55 +00:00
Antony Dovgal
0b8250468c improve error message 2005-12-08 22:05:44 +00:00
Antony Dovgal
f698b6ea42 add 1 to the max_length to keep \0 at its place 2005-12-08 21:22:38 +00:00
Antony Dovgal
6b8cb7d2ad fix typo 2005-12-06 19:26:57 +00:00
Antony Dovgal
491c43cf2e nuke erroneous --ENV-- tag
add new tests for oci_bind_array_by_name()
2005-12-06 19:15:02 +00:00
Antony Dovgal
d93c613429 MF51: use strlen() to get correct element length 2005-12-06 18:54:33 +00:00
foobar
34ad5ab731 - list_entry -> zend_rsrc_list_entry 2005-12-05 23:31:09 +00:00
Antony Dovgal
1d74918ddd MF51: fix Win32 compile failure 2005-12-01 19:26:31 +00:00
Antony Dovgal
4f906aa23f fix potential problem in php_oci_bind_post_exec() when OCIDateToText() fails 2005-12-01 13:46:05 +00:00
Antony Dovgal
418f83f334 make use of $SED if possible 2005-11-29 21:45:53 +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
21b1f3279b Unicode related patchset
fixes two problems:
- wrong offset counting and ..
- OCI_NEED_DATA error when reading unicode CLOBs (fixes PECL bug #5719)
2005-10-26 18:52:00 +00:00
Antony Dovgal
4aaf47e7bc remove undef HAVE_OCI_STMT_PREPARE2 2005-10-19 09:11:22 +00:00
Antony Dovgal
00ee8a036c typo 2005-10-18 13:39:51 +00:00
Antony Dovgal
28ce7290e9 update changelog 2005-10-10 10:48:38 +00:00
Antony Dovgal
f15f20ffa2 fix #33383 (crash when retrieving empty BLOBs) 2005-10-10 10:16:58 +00:00
Antony Dovgal
eca0493e05 update changelog 2005-10-03 13:05:48 +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
Edin Kadribasic
0ea9eb4313 Update php4 build file, compile against istantclient 2005-09-28 22:31:45 +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
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
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
22d9a9bb86 prepare to release 1.1.1 2005-09-22 12:15:03 +00:00
Antony Dovgal
4c8425e9ba new test 2005-09-09 14:08:03 +00:00
Antony Dovgal
98899d1083 fix problem appearing when binding empty values 2005-09-09 14:00:03 +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
324080065d new test 2005-09-07 15:27:09 +00:00
Antony Dovgal
49cf0eff6a add Andi & Wez as lead maintainers and make myself lead too 2005-09-07 13:05:51 +00:00
Antony Dovgal
984f303713 I doubt that all these people are going to develop it in PECL,
so remove them and fix those complains about non-existing users.
2005-09-07 12:44:19 +00:00
Antony Dovgal
8137d9a075 prepare to PECL release 2005-09-07 12:40:38 +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
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
b5a5b22cbb Sync windows build and link against instant client libs 2005-09-06 21:38:16 +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
e0ed2b45ff new tests 2005-09-06 19:33:18 +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
foobar
a20383ba06 - Unify the "configure --help" texts 2005-05-29 23:17:16 +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
4707b43193 fix bug preventing from building oci8 as shared module
(patch by stanislav dot voroniy at portavita dot nl)
2005-02-25 11:31:10 +00:00
Antony Dovgal
d0427feee4 fix bug #31623 (OCILogin does not support password grace period) 2005-01-20 18:39:48 +00:00
foobar
69eec3f3b9 MFB_4_3: Quote macro names in AC_DEFUN() 2004-12-30 07:08:39 +00:00
Antony Dovgal
78edc7e65a add Oracle Instant Client support (initial patch by cjbj at hotmail dot com) 2004-12-23 16:20:09 +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
e2568f0a4f 64-bit related changes
./configure will now behave differently if $ORACLE_HOME/lib32 exists
(this mostly happens at Solaris AFAIK)
2004-09-12 06:38:31 +00:00
Antony Dovgal
fdb578219b this file shouldn't be in the repository at all 2004-08-31 08:31:09 +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
Ilia Alshanetsky
e81addb5ca C++ comments. 2004-04-29 12:59:26 +00:00
Antony Dovgal
af96ad84b5 hmm. this comma is supposed to be a semicolon. 2004-04-26 14:49:41 +00:00
Antony Dovgal
e001a041f3 add account names & emails 2004-03-24 07:46:18 +00:00
Hartmut Holzgraefe
eeb172b29f "The Visa to Sibiria" (work in progress)
Adding a package.xml to a bundled extension does not only
ease the transition to PECL whereever suitable but also
allows to build and install an extension as "shared" using
the PEAR installer without having to deal with phpize and
friends by hand
2004-03-23 19:46:10 +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
Antony Dovgal
f1c40a4a22 -remove obsolete types
-changes in config.m4 to make oci8 to compile with Oracle 10g
(thanks to cjbj at hotmail dot com for reporting both problems)
2004-02-03 14:21:09 +00:00
Antony Dovgal
c7699856fc add missing alias for ocifreecursor() 2004-02-02 08:26:15 +00:00
Antony Dovgal
fec01159b1 fix yet another possible segfault 2004-02-02 08:09:53 +00:00
Antony Dovgal
fab593566e two fixes:
-oci_lob_load shouldn't reset LOB's length to zero
-Oracle feels bad, but reports no error, when trying to erase LOB with offset bigger than LOB
2004-01-28 07:15:55 +00:00
Antony Dovgal
6fe26e966d change to use different allocator (Sascha, thanks =) ) 2004-01-26 15:42:24 +00:00
Antony Dovgal
83a1eaf75a fix this annoying notice about limited range 2004-01-26 15:25:32 +00:00
Antony Dovgal
f64928bdce improve debug messages 2004-01-26 15:21:52 +00:00
Antony Dovgal
9fcb1dd2c9 oops =(
forgot these brackets..
2004-01-26 14:02:08 +00:00
Antony Dovgal
15f22a5796 fix oci_field_type_raw's proto
oci_collection_element_get should return FALSE only if there is no such element and NULL, if it's null
2004-01-26 13:59:42 +00:00
Antony Dovgal
a729ce0434 add collections support to win32 build 2004-01-22 14:42:17 +00:00
Antony Dovgal
dbb29baefe add missing protos
and some minor changes
2004-01-22 08:39:50 +00:00
Antony Dovgal
261726099c MFB
oci_lob_save() should be removed indeed, but we're already in feature freeze =(
2004-01-22 08:05:14 +00:00
Antony Dovgal
02ded9766a *change constant name, coz it doesn't comply with others
*add constant's alias, coz others do have aliases
*change protos (oops =))
*add notices to collection functions
*change coll_element_get & coll_assign to inform user, that this type of element is not supported yet.
2004-01-21 16:18:58 +00:00
Antony Dovgal
c375c68073 fix potential segfault in oci_lob_write()
change oci_lob_trim() - truncate length should be 0 by default.
2004-01-21 12:30:05 +00:00
foobar
f4983c0d3f - Renamed all *php4* files to *php5*, changed all php4/PHP4 to php5/PHP5 2004-01-17 13:00:38 +00:00
Antony Dovgal
88ccaf664e Add myself at last =) 2004-01-16 10:03:27 +00:00
Antony Dovgal
649b844c3c Fix bug #26892, ORA-21301 in ocinewcollection() call.
pEnv should be initialized in object mode too.
2004-01-15 15:06:57 +00:00
foobar
ad11617f29 Fix typo 2004-01-15 06:30:23 +00:00
foobar
ccfc46b0aa - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
Wez Furlong
48b96c10d2 glob-ify lib checks; this simplifies writing of config.w32 files a little. 2004-01-07 20:06:32 +00:00
foobar
0eead3672c ws + cs 2004-01-02 15:32:09 +00:00
foobar
2cf5871377 another ZTS fix 2004-01-02 14:09:49 +00:00
foobar
3c73c91e7a fix ZTS build 2004-01-02 02:21:44 +00:00
foobar
2b06ad1389 Fix the include path for Zend 2003-12-30 15:40:23 +00:00
Antony Dovgal
12c7ae9f55 workaround for possible ORA-22280 warning if buffers were not flushed 2003-12-25 13:54:50 +00:00
Antony Dovgal
f95db00d6c separate oci_lob_flush() to use it in oci_lob_append() etc. in the future 2003-12-24 15:01:54 +00:00
Antony Dovgal
107221252c add oci_fetch_assoc(), oci_fetch_object(), oci_fetch_array() & oci_fetch_row()
change ocifetchinto() to use php_oci_fetch_row()
2003-12-23 16:02:53 +00:00
Antony Dovgal
7aac9069d4 huge patch
change almost all func names to match naming conventions
keep ocifetchinto & *buffering for awhile - they will be rewritten soon
old names are kept as aliases
2003-12-23 15:45:36 +00:00
Antony Dovgal
cf45beedb5 do not delete connection ids, we need them 2003-12-23 09:21:14 +00:00
Antony Dovgal
f5bd0b73cf add tests to HEAD 2003-12-19 17:03:12 +00:00
Wez Furlong
0c126e1233 make these build with new win32 build system.
mcve untested (I don't have those libs/headers)
2003-12-19 15:04:31 +00:00
Antony Dovgal
c002553d7c fix bug #26133 (thanks to Harald)
rename constant and add library check to config.m4
add info lines to see if Collection & Temp Lob support enabled or not
add OCI_THREADED to use thread safe OCI mode with ZTS (should fix bug #26558)
2003-12-16 15:58:10 +00:00