Commit Graph

368 Commits

Author SHA1 Message Date
Christopher Jones
e91914b15d 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
d1df1c4ba7 PECL Bug #16842 (oci_error return false when NO_DATA_FOUND is raised) 2009-10-01 05:51:11 +00:00
Felipe Pena
6d34e06a2f - Dropped *_TEXT* macros in favor of unicode macros direct usage 2009-05-25 14:32:15 +00:00
Felipe Pena
8ecf8ede1f - Removed:
- UG(unicode) checks
       - pcre_cache_entry.unicode_mode
- Changed:
       - ZEND_STR_TYPE -> IS_UNICODE
       - convert_to_text -> convert_to_unicode
       - convert_to_text_ex -> convert_to_unicode_ex

(Felipe, Steph)
2009-03-26 20:02:53 +00:00
Christopher Jones
bc535521eb Mac OSX customization for initialization error message 2009-03-16 05:29:49 +00:00
Christopher Jones
89a216cd23 Bug #47243 (Crash at shutdown on Windows) 2009-03-09 20:07:39 +00:00
Christopher Jones
c7438c63f0 PECL Bug #16035 (oci_connect without ORACLE_HOME defined causes segfault) 2009-03-09 18:59:20 +00:00
Christopher Jones
f8996c4b6c PECL Bug #15988 (sqlnet.ora isn't read with older Oracle libraries) 2009-03-09 18:03:34 +00:00
Christopher Jones
c33f88ccb0 Bug #46623 (phpinfo doesn't show compile time ORACLE_HOME with phpize) 2009-03-09 17:40:59 +00:00
Sebastian Bergmann
7f4dc8702a Bump copyright year, 3 of 3. 2008-12-31 11:12:40 +00:00
Felipe Pena
43791516db - Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro (again!) 2008-11-17 11:26:25 +00:00
Felipe Pena
e006a89e71 - Revert ZEND_BEGIN_ARG_INFO change 2008-11-02 21:10:13 +00:00
Felipe Pena
7eb2715464 - Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-10-24 14:34:17 +00:00
Christopher Jones
dcfcdbf121 Bug #45888 (Refcounting in ZTS mode) 2008-08-28 06:32:52 +00:00
Pierre Joye
bcd1b31831 - fix oci8_11g when build shared (invalid extension) 2008-08-05 20:56:03 +00:00
Christopher Jones
c3ecda4dfd 1. Fix macro version test for constants
2. [DOC] Increase oci8.default_prefetch to 100.  Better out of box experience.  Consistent woth PDO_OCI
2008-07-24 15:23:29 +00:00
Christopher Jones
50f852bea0 Add LOB & Collection class parameter reflection 2008-07-16 23:54:42 +00:00
Christopher Jones
336d8c5bd8 1. Merged ARG_INFO patch (Felipe)
2. Allow an empty username/password to be passed 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.

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 mode), e.g.:

  $c1 = oci_connect("/", "", $db, null, OCI_CRED_EXT+OCI_SYSOPER);
2008-07-16 22:14:03 +00:00
Christopher Jones
ae46d3ca77 OCI8: Remove macros obsoleted by rev 1.71 when Oracle 8 support was dropped 2008-06-05 23:40:42 +00:00
Christopher Jones
7f3604bbab 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:04:45 +00:00
Christopher Jones
ca31d5bc68 MFB: Fix OCIPing 10.2 macro 2008-04-07 22:33:31 +00:00
Christopher Jones
7e9a08adb8 Use new version macro 2008-04-01 18:38:17 +00:00
Christopher Jones
7060c9574c oci8: Sync with 5.3 - version macro updates and DRCP tweaks 2008-03-25 02:25:03 +00:00
Christopher Jones
7d41cd902b 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:25:13 +00:00
Christopher Jones
95302839d6 Use STD_PHP_INI_BOOLEAN. Fix whitespace. 2008-02-26 02:18:16 +00:00
Christopher Jones
5aeaeac561 MFB: sync DRCP connection pooling and FAN support from PHP 5.3 2008-02-19 01:44:29 +00:00
Rob Richards
7d17152cc2 fix zts build 2008-01-24 14:08:45 +00:00
Christopher Jones
f55c8670af Add ifdef 2008-01-18 16:03:23 +00:00
Christopher Jones
c19506f680 MFB: fix #43497 (OCI8 XML/getClobVal aka temporary LOBs leak UGA memory) 2008-01-15 20:47:50 +00:00
Sebastian Bergmann
9b620d50b4 Bump copyright year, 2 of 2. 2007-12-31 07:12:20 +00:00
Yiduo (David) Wang
95da0dc570 Added macros for managing zval refcounts and is_ref statuses 2007-10-07 05:15:07 +00:00
Dmitry Stogov
8146078f7b Improved memory usage by movig constants to read only memory. (Dmitry, Pierre) 2007-09-27 18:28:44 +00:00
Christopher Jones
bf94c89a8c flush persistent connection after password change 2007-08-06 20:31:40 +00:00
Christopher Jones
88edc2cf95 Treat privileged oci_pconnect() as non-persistent 2007-08-02 22:49:58 +00:00
Antony Dovgal
ac1452b21f fix #42134 (oci_error() returns false after oci_new_collection() fails) 2007-07-31 19:19:39 +00:00
Christopher Jones
ab25af8aeb Add casts to fix compilation warnings 2007-07-18 15:09:37 +00:00
Antony Dovgal
f3c571484e fix win32 build 2007-07-16 19:12:47 +00:00
Antony Dovgal
8bb463c82d enable statement cache for non-persistent connections (patch by Chris Jones) 2007-06-08 08:44:26 +00:00
Marcus Boerger
20a40063c5 - avoid sprintf 2007-02-24 16:25:58 +00:00
Antony Dovgal
5ea43ad90c typofixes and other improvements by Chris Jones 2007-02-12 09:36:11 +00:00
Antony Dovgal
3c10602950 fix compile failure in ZTS mode when collections support is missing 2007-01-31 12:45:56 +00:00
Antony Dovgal
4a7093c531 fix #40078 (ORA-01405 when fetching NULL values using oci_bind_array_by_name()) 2007-01-11 11:26:36 +00:00
Sebastian Bergmann
3717df72ae Bump year. 2007-01-01 09:29:37 +00:00
Antony Dovgal
577d3dec4c fix error messages in Unicode mode when global error handle is used 2006-11-23 16:08:41 +00:00
Antony Dovgal
d99f05f1a2 add _not yet 100% complete_ Unicode support
collections, statements and BLOBs seem to be working ok
though there are still some things to be done in order to make oci_bind_array_by_name() work with U-strings

Notes:
- in Unicode mode OCI8 always speaks to Oracle server using UTF-16, so all the conversions are done by the client lib.
This is why character set parameter of oci_connect() and NLS_LANG are ignored in U-mode.

- BLOBs and CLOBs behave quite differently in U-mode.
Reading data from a CLOB would result in Unicode string, while BLOBs would return binary string.
Also, all LOB utilities work with _bytes_ when BLOB is used and _characters_ when it's CLOB.
It's not that obvious, but it does make a lot of sense to me.
2006-11-10 16:56:19 +00:00
Antony Dovgal
974b0ad2cd fix segfault in ZTS mode when statements containing sub-statements are destroyed in wrong order 2006-11-10 16:33:28 +00:00
Antony Dovgal
4579e4cc9e fix PECL bug #9061 (oci8 might reuse wrong persistent connection) 2006-10-18 14:22:04 +00:00
Antony Dovgal
40fe5baf8c uhm.. declare oci_lob_seek() along with OCI-Lob->seek() method 2006-09-12 20:26:59 +00:00
Antony Dovgal
4c7154981b update version in phpinfo() 2006-08-24 13:02:53 +00:00
Antony Dovgal
2ccf86ae4c bump version number 2006-08-24 12:46:52 +00:00