Commit Graph

78 Commits

Author SHA1 Message Date
Lior Kaplan
ed35de784f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Happy new year (Update copyright to 2016)
2016-01-01 19:48:25 +02:00
Lior Kaplan
49493a2dcf Happy new year (Update copyright to 2016) 2016-01-01 19:21:47 +02:00
Christopher Jones
a96f99e30a Final diff fixes for PHP7 on base platform (some mem leaks still to be fixed). Update driver name. Improve test portability (Senthil) 2015-09-12 09:10:32 +10:00
Christopher Jones
b7031ba743 Further PHP 7 compat for OCI8 2015-08-12 21:57:16 +10:00
Christopher Jones
70a7221540 More PHP7 compat (Rajendra/Senthil) 2015-07-30 20:25:40 +10:00
Christopher Jones
e6d9061e85 More OCI8 diff fixes (Rajendra) 2015-07-16 13:06:35 +10:00
Cameron Porter
621698d3f9 Correct oci8 hash destructors to prevent segfaults, and a few other fixes. 2015-06-28 13:05:25 +02:00
Xinchen Hui
5a5c855154 attempt to port oci 2015-02-03 22:17:25 +08:00
Xinchen Hui
fc33f52d8c bump year 2015-01-15 23:27:30 +08:00
Xinchen Hui
0579e8278d bump year 2015-01-15 23:26:37 +08:00
Anatol Belski
bdeb220f48 first shot remove TSRMLS_* things 2014-12-13 23:06:14 +01:00
Johannes Schlüter
d0cb715373 s/PHP 5/PHP 7/ 2014-09-19 18:33:14 +02:00
Anatol Belski
e3ded277a5 second big shot on porting ext/oci8
still a lot to do, but most raw things done
2014-09-10 12:41:43 +02:00
Anatol Belski
686213a242 first shot on fixing ext/oci8 2014-09-10 12:41:42 +02:00
Anatol Belski
2e085df5c0 basic datatype fixes for ext/oci8 2014-09-10 12:41:41 +02:00
Christopher Jones
94d092dea3 Make a start on phpng compat 2014-05-21 16:43:44 -07:00
Christopher Jones
601367ee75 Fixed Bug #66875 (Improve performance of multi-row OCI_RETURN_LOB queries) 2014-03-10 16:33:35 -07:00
Veres Lajos
a7ec000f35 a few typofixes 2014-02-14 17:16:17 +02:00
Xinchen Hui
c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Christopher Jones
12f9939b79 Bump mininum requirements for PHP OCI8 2.0 to PHP 5.2 and Oracle
client library 10.2 (Note this will connect to Oracle Database 8.1.7
onwards). Use the older OCI8 1.4 from PECL if using an earlier PHP
version or older Oracle client library support is necessary.
2013-10-07 17:23:11 -07:00
Christopher Jones
5ac7c533a0 More OCI8 DTrace probe updates.
Change php.ini-* doc to match an earlier change to config.w32
2013-09-26 21:12:11 -07:00
Christopher Jones
43289d664c Remove obsolete flag 2013-09-06 10:12:16 -07:00
Christopher Jones
4b778faa80 Make oci_set_*($connection,...) errors retrievable via oci_error($connection).
Improve some error handling to produce error text on some rare edge cases.
Disambiguate the Oracle library function call return status values from ORA error numbers.
Review and unify error data types.
2013-09-05 18:18:29 -07:00
Christopher Jones
d7ffca590b Allow OCI8 to be DTrace-enabled independently of core PHP's DTrace
status.  The proviso is OCI8 must be built "shared" when DTrace is
enabled.  This implementation (i) works around an incomplete core PHP
solution for extension tracing (ii) avoid any issues with DOF section
location and the complexities of needing to merge all provider .d
files for static builds (iii) allows OCI8 to be DTrace-enabled when
doing PECL installs of OCI8 on PHP versions without core PHP DTrace
support.

This is an initial patch i.e. it will undergo further testing.
2013-08-30 17:37:44 -07:00
Christopher Jones
49cd21e71c OCI8 2.0: add oci8-check-connection probe and do some renaming 2013-08-27 16:41:02 -07:00
Christopher Jones
8aca4e45bb Leave it to DTrace FBT to trace underlying library calls 2013-08-26 14:20:58 -07:00
Christopher Jones
85b66e9e21 OCI8 extension: Allow Implicit Result Set statement resources to inherit the parent's current prefetch count 2013-07-26 13:34:45 -07:00
Christopher Jones
bfc3c223da Initial PHP OCI8 2.0.0-dev commit.
Includes Oracle Database 12c Implicit Result Set support, DTrace
support, and various code cleanups.

See package.xml for details.
2013-07-24 15:33:22 -07:00
Carson McDonald
0c11cab919 Typo fix: recieved to received 2013-03-07 23:05:05 +01:00
Xinchen Hui
a666285bc2 Happy New Year 2013-01-01 16:37:09 +08:00
Christopher Jones
131dd88505 Fixed bug #63265 (Add ORA-00028 to the PHP_OCI_HANDLE_ERROR macro)
Improve high availability for explicitly terminated connections.
2012-10-18 17:33:51 -07:00
Felipe Pena
e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Christopher Jones
cf8bf9f2f0 Add explicit casts to remove some of Pierre's snapshot build warnings 2011-07-27 00:04:23 +00:00
Christopher Jones
f4009b52a3 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
927bf09c29 - Year++ 2011-01-01 02:19:59 +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