Commit Graph

443 Commits

Author SHA1 Message Date
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
Antony Dovgal
c0e519e6ea fix warning, concerned to second _oci_close_server() call 2003-12-16 15:48:20 +00:00
Harald Radi
e0a0e9d831 fix non-zts build errors 2003-12-16 11:15:55 +00:00
Harald Radi
85b4b63a47 @- fixed #20006, #22674 and #24531 (harald)
@- added ZTS connection pooling support to the oci extension
@  connections will now be pooled per process and not
@  per thread anymore. the number of persistent and active
@  connections is now also shown in the phpinfo() output (harald)
2003-12-16 10:29:11 +00:00
Harald Radi
b2f953768c add myself 2003-12-16 10:28:00 +00:00
Harald Radi
39e8a904e9 fix include path 2003-12-16 10:27:48 +00:00
Antony Dovgal
18096396d2 add new functions:
ocitelllob(); [ OCI_Lob->tell(); ] - ftell(); analogue for Lobs
ociwritelob(); [ OCI_Lob->write(); ] - fwrite(); analogue for Lobs
ocitruncatelob(); [ OCI_Lob->truncate(); ] - ftruncate(); analogue for Lobs
ocieraselob(); [ OCI_Lob->erase(); ] - erases specified part of a Lob (for BLOBs it means zero-filling, for CLOBs - space-filling)
ociflushlob(); [ OCI_Lob->flush(); ] - flushes Lob buffer (if buffering was enabled before)
ocisetbufferinglob(); [ OCI_Lob->setBuffering(); ] - turns on/off buffering for the current Lob
ocigetbufferinglob(); [ OCI_Lob->getBuffering(); ] - gets buffering' current state
ocirewindlob(); [ OCI_Lob->rewind(); ] - rewind(); analogue for Lobs
ocireadlob(); [ OCI_Lob->read(); ] - fread(); analogue for Lobs
ocieoflob(); [ OCI_Lob->eof(); ] - feof(); analogue for Lobs
ociseeklob(); [ OCI_Lob->seek(); ] - fseek(); analogue for Lobs
ocilobgetlength(); [ OCI_Lob->getLength(); ] - filesize(); analogue for Lobs

ociappendlob(); - appends data from a Lob to another Lob
ocicopylob(); - copies data from a Lob to another Lob
ociisequallob(); - compares 2 Lobs and checks if they are equal

TODO cleanup
and other minor fixes
2003-12-15 13:53:01 +00:00
Sascha Schumann
db56268231 WS 2003-11-06 14:31:33 +00:00
Sascha Schumann
5a32c21f46 Fix a format string
Nuke a sprintf (slooow)

And embed the charset as part of the hashed details (persistent conn key),
because the function otherwise happily returns incompatible connections.
(e.g. US7ASCII vs. UTF8; the client-side charset is not alterable once a
 connection has been established.)
2003-11-06 14:29:09 +00:00
foobar
db50cd251e Aligned configure help texts. 2003-10-03 05:24:33 +00:00
Zeev Suraski
8767205afa Fix Win32 linkage problems 2003-08-31 12:41:53 +00:00
Andrey Hristov
9ac579c2c0 proto fixes(Mehdi Achour) 2003-08-12 11:37:40 +00:00
Ilia Alshanetsky
93bcd55eaf emalloc -> safe_emalloc 2003-08-12 00:58:52 +00:00
Zeev Suraski
538d58dd5f Use new infrastructure.
There are bound to be some messups, please report build/runtime bugs!
2003-08-03 17:44:39 +00:00
Thies C. Arntzen
eef52f549f @ - Added optional Parameter to OCIWriteTemporaryLob which allows to
@   specify the type of LOB you want to be written (OCI_TEMP_CLOB, OCI_TEMP_BLOB)
@   (Patch by Novicky Marek <novicky@aarongroup.cz>) (Thies)
2003-07-22 10:38:34 +00:00
Andrey Hristov
f89e7e3fb9 proto fixes. 2003-06-22 14:33:09 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Edin Kadribasic
a96ab2a090 MFB 2003-06-03 12:47:49 +00:00
Thies C. Arntzen
83a0e508df @ - Fixed bug #23376 OCINewDescriptor 2003-05-02 08:43:28 +00:00
foobar
17892a4386 CS fix 2003-04-30 10:19:21 +00:00
foobar
5fbbd31ca4 Fix compile problems with < 9.2 oracle libs 2003-04-30 10:17:25 +00:00
foobar
dd0228d3d8 Fix bug #23198 2003-04-21 17:53:37 +00:00
Edin Kadribasic
45d27aab68 *** empty log message *** 2003-04-09 12:03:58 +00:00
foobar
0b4784d951 Fixed bug #18640 properly 2003-03-24 10:18:00 +00:00
Stig Bakken
0e6fca4f22 * email address change 2003-03-18 12:06:09 +00:00
foobar
14f98fca45 fix bug #22324, libjdbcoci8.so is not necessarily needed.. 2003-02-25 04:36:54 +00:00
foobar
e9a132f223 No c++ comments.. 2003-01-31 14:18:50 +00:00
Maxim Maletsky
808cb3ad74 Added myself to the maintainers list. 2003-01-29 18:31:48 +00:00
Maxim Maletsky
e4ec7372e9 This fixes "warning C4101: 'charsetid' : unreferenced local variable" on VC6 2003-01-27 20:05:48 +00:00
Maxim Maletsky
897a708c87 @- Fixed bug #17448 (Print the message when OCI_SUCCESS_WITH_INFO is returned).
(Maxim)
2003-01-27 19:52:11 +00:00
foobar
142da0ed58 Fix bug #21795, Undeclared statement in oci8.c (OCI_ATTR_STATEMENT) 2003-01-24 17:51:19 +00:00
Ilia Alshanetsky
1fe4990bc0 ZTS fixes. 2003-01-19 08:32:26 +00:00
Ilia Alshanetsky
3d8e54f3a2 Changed php_error to php_error_docref. 2003-01-19 00:45:53 +00:00
Ilia Alshanetsky
e2868b5788 Removed pointless memory allocation checks. 2003-01-18 19:41:56 +00:00
Levi Dixon
beb7476ba9 Added support for Shared Data Mode for OCI8_VERSION >= 8.1, which will provide memory savings by sharing common statement data 2003-01-07 15:55:59 +00:00
Sebastian Bergmann
b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
foobar
3fc83fd8e3 - ws fixes
- // -> /* */ (No C++ comments in c code!)
- #if / #else / etc. have to start from first column.
2002-12-11 15:25:39 +00:00
Abdul-Kareem Abo-Namous
089f1b5771 fixed string comparison which brought up a gcc warning. 2002-12-11 14:18:40 +00:00
Moriyoshi Koizumi
3500c239a0 Fixed build with autoconf-2.54 2002-12-06 18:25:39 +00:00
Abdul-Kareem Abo-Namous
646c4747b4 added support for multiple character sets.
OCILogon now has a forth optional parameter, which is the character set requested by the string (i.e. we8iso8859p1). when left blank, NLS_LANG or default is used.

config.m4 was changed to identify Oracle 9+ which is needed for this feature. all other oracle versions (lesser) fall back to the old behaviour.
2002-12-06 13:44:35 +00:00
Maxim Maletsky
d9cf3c2a0e Bug# 16798. Tests appreciated by someone with Oracle 8.0 2002-11-25 18:14:45 +00:00
Maxim Maletsky
e20121e6c7 Added E_WARNING to OCIPasswordChage() when Safe Mode is in effect 2002-11-21 21:26:18 +00:00
Maxim Maletsky
b5ae4adde1 @- Added OCIPasswordChange() which allows the password of an Oracle account to be changed. (Maxim) 2002-11-21 20:49:33 +00:00
Maxim Maletsky
1f73196bf9 comment typo 2002-11-21 20:32:56 +00:00
Maxim Maletsky
8338d8bfce Disabled OCIPasswordChange() in safe mode. Possible security risks. 2002-11-21 20:28:11 +00:00
Maxim Maletsky
9e3788864b WS 2002-11-15 18:20:59 +00:00
Maxim Maletsky
336e559718 Tons of WS fixes all over the file 2002-11-15 17:59:19 +00:00
Maxim Maletsky
cd9b495663 I mean - todo typo :) 2002-11-15 02:06:11 +00:00
Maxim Maletsky
05f07d2eba todo typo 2002-11-15 02:05:06 +00:00
Maxim Maletsky
7890b6fc87 Added function OCIPasswordChange() that allows renewal of an expired Oracle password.
# Tested, but still considered experimental...
2002-11-14 21:26:57 +00:00
Maxim Maletsky
8b36fd2afa fixed several proto return types throughout the extension 2002-11-10 05:31:12 +00:00
Sascha Schumann
2909e5c9c9 centralize #include "build-defs.h" and drop (sometimes inconsistent) other
instances
2002-10-24 13:15:49 +00:00
Thies C. Arntzen
31e4d62378 #19948 2002-10-21 11:00:40 +00:00
Maxim Maletsky
4efcd0f5d1 fixed proto: OCIExecute() returns boolean, not integer 2002-10-20 02:20:13 +00:00
Maxim Maletsky
fd04def23b a silly comment typo 2002-10-19 16:11:16 +00:00
Maxim Maletsky
39afab2039 - fixed proto for OciBindByName to represent the forth parameter optional 2002-10-19 15:51:04 +00:00
Thies C. Arntzen
58d1ee0915 @- Added Oracle TIMESTAMP type to oci8 extension. (thies) 2002-10-17 08:09:31 +00:00
Thies C. Arntzen
b905e40e92 @- OCIResult() could return garbage if called on empty result-sets. (thies)
# fix #19364
2002-09-12 09:48:03 +00:00
Dan Kalowsky
32a03b3aed Patch for Bug #18640 (submitted by michael.mauch@gmx.de) 2002-09-09 19:03:51 +00:00
foobar
c4d424254a remove tabs 2002-08-20 12:01:24 +00:00
Edin Kadribasic
e632758b19 Windows build supports returning the sql statement which failed. 2002-08-20 09:15:11 +00:00
Edin Kadribasic
48389cc2a6 Fixed build with Oracle 8.0.x (bug #18973). 2002-08-20 07:26:50 +00:00
Rasmus Lerdorf
7a8330acd9 Single-line comments please 2002-08-13 05:00:11 +00:00
Thies C. Arntzen
136240ae46 fix crash bug introduced by last commit 2002-04-14 18:27:27 +00:00
Thies C. Arntzen
12541a481e ocibind: avoid warning in debug mode if an outbound variable is NULL 2002-04-13 18:58:18 +00:00
Thies C. Arntzen
33a493cf82 @- Mixing OCIPlogon and OCINLogon no longer leak Oracle-Sessions. (thies) 2002-04-13 12:10:03 +00:00
Markus Fischer
30454e237b - Let OCIError() also return the sql statement which failed and the exact
position into the statement where it failed (if applicable).
  Patch by Daniel Ceregatti <vi@sh.nu>.
2002-03-18 21:01:29 +00:00
jim winstead
d3400b2b5f the 'setup' script was removed more than two years ago.
these can be safely removed from the 4.2 branch, too.
2002-03-16 00:21:40 +00:00
Sascha Schumann
5cba3a99c2 extension converted automatically to PHP_NEW_EXTENSION. Manually confirmed 2002-03-12 16:44:00 +00:00
Sebastian Bergmann
90613d2282 Maintain headers. 2002-02-28 08:29:35 +00:00
Thies C. Arntzen
1d54bf97e0 only rollback at script end if there is something to rollback. 2002-02-10 12:41:52 +00:00
Thies C. Arntzen
7f29ed5798 - got rid of unneded calls to OCIAttrGet when reexecuting the same query
- only invalidate the define list after all rows from a REFCORSOR are read,
  "normal" corsors will now remember their column defines. this means that
  ocigetcolumn[name|type|..] will from now on work even after the result set
  has been read.
2002-02-08 18:50:12 +00:00
Thies C. Arntzen
82a9fc746e enable "user-interrupts" 2002-01-30 07:41:04 +00:00
Thies C. Arntzen
dadf411b8d @ - Added 3 new optional parameters to OCIFetchStatement(). They control
@   the number of rows to skip at the beginning of the cursor, the
@   maximun numer of rows that should be fetched and the format of the
@   returned array. (Thies)
# sorry, no time to write the docs for this right now...
2002-01-17 18:40:59 +00:00
Thies C. Arntzen
b8b0a6ac27 typo 2001-12-13 12:23:32 +00:00
Sebastian Bergmann
38933514e1 Update headers. 2001-12-11 15:32:16 +00:00
foobar
f1397d5339 Unified the configure messages. 2001-11-30 19:00:13 +00:00
Stig Bakken
689252082c * zend_module_entry change: apino, debug and zts are moved first,
see README.EXTENSIONS file for upgrade help.
@Introduced extension version numbers (Stig)
2001-10-11 23:33:59 +00:00
Derick Rethans
a0bbfb590c - <br> -> <br /> 2001-10-06 20:13:39 +00:00
Jeroen van Wolffelaar
21f2b9277f 3rd run in back-substitutin Z_* macro's. The val->Z_ cases are all solved now. 2001-09-26 08:35:48 +00:00
Jeroen van Wolffelaar
6cfba2a3ea 2nd phase in back-substitution those macro's
I've got pretty much everything now...
2001-09-25 22:49:04 +00:00
Jeroen van Wolffelaar
c033288573 Back-substitute for Z_* macro's. If it breaks some extension (the script isn't optimal, it parses for example var->zval.value incorrect) please let me know. 2001-09-25 21:58:48 +00:00
Andy Sautins
810dd37b90 Collections core-dump fix. ocicollgetelem was using OCIInd instead
of OCIInd * in call to OCICollGetElem
2001-09-19 19:25:43 +00:00
David Benson
d6cecfc213 Change duration of temporary lobs to avoid leakage of temporary lob
space (dbenson).
2001-09-17 20:52:31 +00:00
Andy Sautins
16ef3439f4 Collection fix. getelem method now handles returning nulls
correctly and gives warning when accessing an index that does
not exist.
2001-09-16 21:53:58 +00:00
Andy Sautins
6e4e8e94d9 oops. Used C++ style comments. Make C style 2001-09-11 23:16:32 +00:00
Andy Sautins
5abba5ee0e Collection fix. Fix core dump when accessing an element that is
not in the collection.
2001-09-11 23:15:18 +00:00
Andy Sautins
23fea6461d Handle assign/append of NULL values to collections correctly. Now
works consistently with how the rest of the library operates.  If
the value passed in is a null string, the value is set to null
2001-09-11 21:03:58 +00:00
Derick Rethans
78747bd2df - Don't wrap lines... this is annoying while coding. 2001-09-09 13:29:31 +00:00
foobar
e4df7dc7bf if test -f /usr/local/lib/libexample.s?; then <-- no workie
if test -f /usr/local/lib/libexample.so; then   <-- workie
#
# You can all point at me and laugh now..  :(
#
2001-09-07 00:24:06 +00:00
Thies C. Arntzen
04c3f8403f mega patch to avoid recursive oci-calls as they might break oracle!
php will simply exit() (!!!) once it encounters an attemp to call oracle
while still in an oracle-call. this can only happen when the script gets
interrupted (timeout, apache-restart) and php tries to run the cleanups even
though we are in an unclean state. i will add an -ini flag soon (not before
4.0.7) which will (optional) make php not run the cleanups when in an unclean
state!
2001-08-15 16:00:56 +00:00
Thies C. Arntzen
384c86542a beautify 2001-08-11 10:52:52 +00:00
Thies C. Arntzen
6479bfe3b7 use macros for accessing properties in object. 2001-08-11 10:29:14 +00:00
Frank M. Kromann
4c5a6cbb82 Fixing a TSRMLS_FETCH problem. 2001-08-07 19:56:33 +00:00
Zeev Suraski
1159c84ab7 - TSRMLS_FETCH work
- whitespace fixes
2001-08-05 01:43:02 +00:00
foobar
474da88b4c more ZTS fixes. 2001-07-31 23:47:35 +00:00
Zeev Suraski
b1de7fc900 More TSRMLS_FETCH annihilation. Enough for today... 2001-07-31 07:09:49 +00:00
Zeev Suraski
aa1772ca72 More TSRMLS_FETCH annihilation 2001-07-31 05:44:11 +00:00
Zeev Suraski
d76cf1da18 More TSRMLS_FETCH work 2001-07-31 04:53:54 +00:00