Commit Graph

47 Commits

Author SHA1 Message Date
Felipe Pena
8775a37559 - Year++ 2012-01-01 13:15:04 +00:00
Christopher Jones
823d7a0534 Add explicit casts to remove some of Pierre's snapshot build warnings 2011-07-27 00:04:23 +00:00
Christopher Jones
16b744d2d4 Add oci_client_version() returning the runtime Oracle client library version - predominantly useful for the test suite 2011-06-10 17:38:07 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Christopher Jones
5e8e34bac8 Fixed bug #49560 (oci8: using LOBs causes slow PHP shutdown)
- Improved descriptor refcounting to remove unneeded items sooner
 - Replaced n^2 list traversal during descriptor list destruction
2010-01-06 18:58:16 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Christopher Jones
2769ae0444 1. Introduce connection attribute functions:
oci_set_module_name
         oci_set_action
         oci_set_client_info
         oci_set_client_identifier
      
       These functions set values that are visible and used by the
       database.  They aid tracing, authentication and auditing.

    2. Introduce connection attribute function:

         oci_set_edition

       Oracle 11g R2 "editions" allow multiple versions of DB objects
       to exist at one time.  By setting different editions, two
       different versions of an application can run concurrently,
       making upgrades or A/B testing easier.

    3. Introduce OCI_NO_AUTO_COMMIT as an alias for the OCI_DEFAULT
       constant (which is not the default value) used by oci_execute().

    4. Allow the oci_set_prefetch value to be 0.  This is important in
       some cases using REF CURSORS in Oracle 11gR2.

    5. Set the DRIVER_NAME attribute of Oracle Database 11gR2
       connections to aid application tracing.  The value used is to
       "PHP OCI8" followed by the OCI8 version number.  Note the
       version number may get truncated in DB views such as
       v$session_connect_info.

    6. Generate an error if an invalid resource type is used in
       oci_bind_by_name

[DOC] Documentation will be added for the changes
2009-10-06 22:36:32 +00:00
Christopher Jones
10ff16d21b MFH: Make non-public prototype match the type passed at call 2009-03-09 20:58:51 +00:00
Christopher Jones
bce3f3afe8 MFH: Bug #47243 (Crash at shutdown on Windows) 2009-03-09 20:09:07 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Christopher Jones
1c1c98c620 MFH
1. Merged ARG_INFO patch (Felipe)

2. Allow empty username & password so Oracle can do non-password based
authentication, i.e. "External Authentication".
http://news.php.net/php.internals/37545

[DOC]

A new OCI_CRED_EXT flag can be passed as the "session_mode" parameter
to oci_connect(), oci_new_connect() and oci_pconnect().

  $c1 = oci_connect("/", "", $db, null, OCI_CRED_EXT);

This tells Oracle to do external or OS authentication, if configured
in the database.

OCI_CRED_EXT can only be used with username of "/" and a empty
password.  Oci8.privileged_connection may be On or Off.  OCI_CRED_EXT
is not supported on Windows for security reasons.

The new flag may be combined with the existing OCI_SYSOPER or
OCI_SYSDBA modes (note: oci8.privileged_connection needs to be On for
OCI_SYSDBA and OCI_SYSOPER), e.g.:

  $c1 = oci_connect("/", "", $db, null, OCI_CRED_EXT+OCI_SYSOPER);
2008-07-16 22:16:03 +00:00
Christopher Jones
b8e1d4d4e5 MFB: OCI8: Remove macros obsoleted by rev 1.55.2.3.2.11.2.1 when Oracle 8 support was dropped 2008-06-05 23:43:10 +00:00
Christopher Jones
08eaa56798 MFH
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:05:27 +00:00
Christopher Jones
ceb2193b7c rename PHP_OCI8_VERSION in preparation for peclversioning RFC. Remove obsolete HAVE_OCI8_ATTR_STATEMENT macro 2008-03-25 02:00:32 +00:00
Christopher Jones
c401491ca0 Further improvements to error handling 2008-03-22 01:27:50 +00:00
Christopher Jones
b9f72771a6 MFH
Cleaned up whitespace

Fixed bug #44372 (compilation with Oracle 10gR1 libraries)
http://bugs.php.net/bug.php?id=44372

Updated updated error number list to improve re-connection
behavior after a database restart.

Guard against potential internal list corruption after ping
removes old oci_pconnect() information.

Fix ini_set("oci8.connection_class", "abc") to get an appropriate
persistent connection.

Ping at oci8.ping_interval for oci_connect() and oci_new_connect()
when DRCP connections are used. This improves non-persistent
connection reliability if a database gets restarted.
2008-03-12 01:26:44 +00:00
Christopher Jones
b4b099ae19 MFH: OCI8: fix bug #44008 (OCI-Lob->close) & bug #44206 (ref cursor leak) 2008-02-25 23:50:51 +00:00
Christopher Jones
07a79208b6 Streamlined code and incorporated review comments. Respect oci8.ping_interval when oci_pconnect called multiple times in a script. Changed OCIServerVersion to OCIPing (http://pecl.php.net/bugs/bug.php?id=11976) 2008-02-16 01:20:22 +00:00
Christopher Jones
87dcb8df8e Merge DRCP & FAN support. PHP6 sync will happen later 2008-01-31 01:33:30 +00:00
Christopher Jones
ed50a373b1 MFB: fix #43497 (OCI8 XML/getClobVal aka temporary LOBs leak UGA memory) 2008-01-15 20:44:31 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Christopher Jones
a289952c47 MFH: oci8: flush persistent connection after password change 2007-08-06 20:32:55 +00:00
Antony Dovgal
9efa1d8914 MFH: fix #42134 (oci_error() returns false after oci_new_collection() fails) 2007-07-31 19:21:08 +00:00
Antony Dovgal
e79091eb13 MFH 2007-07-09 09:08:59 +00:00
Antony Dovgal
26cf62d293 MFH: fix PECL bug #10194 (crash in Oracle client when memory limit reached in the callback)
preallocate the required buffer, so that it would fail earlier.
2007-03-29 09:33:04 +00:00
Antony Dovgal
37b4db2d00 allocate descriptors dynamically 2007-03-01 22:27:44 +00:00
Antony Dovgal
32c2c7a510 MFH 2007-02-13 20:19:56 +00:00
Antony Dovgal
8e49f0c54c MFH 2007-02-12 09:36:23 +00:00
Antony Dovgal
4f6f150490 MFH: fix segfault on rebindinging and rexecuting a statement with LOBs
fix compile failure in ZTS mode when collections support is missing
2007-01-31 13:55:43 +00:00
Antony Dovgal
12d54fa683 MFH: fix #40078 (ORA-01405 when fetching NULL values using oci_bind_array_by_name()) 2007-01-11 11:27:52 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Antony Dovgal
f8d4de338b MFH: fix #39732 (oci_bind_array_by_name doesn't work on Solaris 64bit) 2006-12-08 20:56:29 +00:00
Antony Dovgal
88e827f3f1 MFH 2006-11-10 23:03:32 +00:00
Antony Dovgal
7563d4f573 fix possible issue with negative values in oci_set_prefetch
(reported by Chris Jones)
2006-11-10 20:13:36 +00:00
Antony Dovgal
4106eee7c7 fix segfault in ZTS mode when statements containing sub-statements are destroyed in wrong order 2006-11-10 16:33:41 +00:00
Antony Dovgal
08a9ab02ba minor improvements 2006-08-22 11:09:12 +00:00
Antony Dovgal
70e59e2999 MFH: fix PECL bug #8112 (OCI8 persistent connections misbehave when Apache process times out) 2006-08-21 16:41:13 +00:00
Antony Dovgal
c9c05bece9 add support for NCLOBs
fix #35973 (Error ORA-24806 occurs when trying to fetch a NCLOB field)
2006-08-09 15:24:27 +00:00
Antony Dovgal
946594bb6b MFH: fix #38161 (oci_bind_by_name() returns garbage when Oracle didn't set the variable) 2006-08-09 12:15:43 +00:00
Antony Dovgal
f5b5d34a27 MFH: fix #37581 (oci_bind_array_by_name clobbers input array when using SQLT_AFC, AVC) 2006-07-31 10:30:23 +00:00
Antony Dovgal
aa1ced04cb MFH: fix #38173 (Freeing nested cursors causes OCI8 to segfault) 2006-07-30 20:51:24 +00:00
Antony Dovgal
9123bee257 MFH:
fix Unicode LOB problems using callbacks to read LOBs
using chunk_size*X buffer should speed up LOB reading a bit

many thanks to Massimo Squillace <msquillace at sogei dot it> for the patch.
2006-06-07 13:36:51 +00:00
Antony Dovgal
569ce842f1 fix #36934 (OCILob->read() doesn't move internal pointer when reading 0's) 2006-04-05 14:06:00 +00:00
Antony Dovgal
3a800fe146 MFH: fix #36235 (ocicolumnname delivers empty results before a succesfull ocifetch) 2006-01-31 18:38:52 +00:00
Antony Dovgal
8eb44c317e MFH: delete descriptor from the hash and avoid crashes on commit/rollback 2006-01-05 13:42:35 +00:00
foobar
5bd93221a8 bump year and license version 2006-01-01 12:51:34 +00:00
Antony Dovgal
3756201e04 upgrade bundled OCI8 to v.1.1 2005-12-01 13:39:48 +00:00