[PECL-CVS] [pecl-database-pdo_oci] pdo_oci_param_int_fix: Merge branch 'main' into pdo_oci_param_int_fix

[email protected] (Sharad Chandran R) Wed, 7 Jan 2026 11:14:48 +0000
Newsgroups php.pecl.cvs
Message-ID <[email protected]>
Author: Sharad Chandran R (sharadraju)
Date: 2026-01-07T16:44:03+05:30

Commit: https://github.com/php/pecl-database-pdo_oci/commit/d21ee68e0c7b38c5de59bca79cb92d0ffb0f8240
Raw diff: https://github.com/php/pecl-database-pdo_oci/commit/d21ee68e0c7b38c5de59bca79cb92d0ffb0f8240.diff

Merge branch 'main' into pdo_oci_param_int_fix

Changed paths:
  D  tests/bug_33707.phpt
  M  CREDITS
  M  README.md
  M  package.xml
  M  php_pdo_oci.h
  M  tests/bug41996.phpt
  M  tests/bug44301.phpt
  M  tests/bug46274.phpt
  M  tests/bug46274_2.phpt
  M  tests/bug54379.phpt
  M  tests/bug57702.phpt
  M  tests/bug60994.phpt
  M  tests/checkliveness.phpt
  M  tests/common.phpt
  M  tests/oci_success_with_info.phpt
  M  tests/pdo_oci_attr_action.phpt
  M  tests/pdo_oci_attr_autocommit_1.phpt
  M  tests/pdo_oci_attr_autocommit_2.phpt
  M  tests/pdo_oci_attr_autocommit_3.phpt
  M  tests/pdo_oci_attr_call_timeout.phpt
  M  tests/pdo_oci_attr_case.phpt
  M  tests/pdo_oci_attr_client.phpt
  M  tests/pdo_oci_attr_client_identifier.phpt
  M  tests/pdo_oci_attr_client_info.phpt
  M  tests/pdo_oci_attr_drivername.phpt
  M  tests/pdo_oci_attr_module.phpt
  M  tests/pdo_oci_attr_nulls_1.phpt
  M  tests/pdo_oci_attr_prefetch_1.phpt
  M  tests/pdo_oci_attr_prefetch_2.phpt
  M  tests/pdo_oci_attr_server.phpt
  M  tests/pdo_oci_class_constants.phpt
  M  tests/pdo_oci_fread_1.phpt
  M  tests/pdo_oci_phpinfo.phpt
  M  tests/pdo_oci_quote1.phpt
  M  tests/pdo_oci_stmt_getcolumnmeta.phpt
  M  tests/pdo_oci_stream_1.phpt
  M  tests/pdo_oci_stream_2.phpt
  M  tests/pdo_oci_templob_1.phpt
  M  tests/pecl_bug_11345.phpt
  M  tests/pecl_bug_6364.phpt


Diff:

diff --git a/CREDITS b/CREDITS
index 38e959c..12624a7 100644
--- a/CREDITS
+++ b/CREDITS
@@ -1,5 +1,8 @@
-Oracle (OCI) driver for PDO
+PDO extension for Oracle Database (PDO_OCI)
 Wez Furlong
 Michael Voříšek
 Ashutosh Agrawal
-Niels Dossche
\ No newline at end of file
+Niels Dossche
+Christopher Jones
+Sharad Chandran R
+Oracle Corporation
\ No newline at end of file
diff --git a/README.md b/README.md
index d9c40a7..04d9e5b 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,9 @@
 
 Use the PDO_OCI extension to access Oracle Database via PHP Data Objects (PDO) APIs.
 
-This repository is for PHP 8.3+ as it [was decided to unbundle](https://wiki.php.net/rfc/unbundle_imap_pspell_oci8) PDO OCI / OCI8 extension from the PHP source code.
+This repository is for PHP 8.3+ as it
+[was decided to unbundle](https://wiki.php.net/rfc/unbundle_imap_pspell_oci8)
+PDO OCI / OCI8 extension from the PHP source code.
 
 Documentation is at https://www.php.net/pdo_oci
 
@@ -20,19 +22,29 @@ make install
 
 ```
 
-To complete installation, add "extension=pdo_oci.so" or "extension=php_pdo_oci.dll" (Windows) to your php.ini file.
+To complete installation, add "extension=pdo_oci.so" or
+"extension=php_pdo_oci.dll" (Windows) to your php.ini file.
+
+Tests
+-----
+
+To run the tests, see [tests/README.md](tests/README.md).
 
 Additional Requirements
 ------------------------
 
-The PDO_OCI extension can be linked with Oracle Client libraries from Oracle Database 11.2 or later. These libraries are found in your database
+The PDO_OCI extension can be linked with Oracle Client libraries from Oracle
+Database 11.2 or later. These libraries are found in your database
 installation, or in the free Oracle Instant Client packages from
 https://www.oracle.com/database/technologies/instant-client.html.
-Install the 'Basic' or 'Basic Light' Instant Client package for running applications with this extension. If building from source, then also install the Instant Client SDK package.
+
+Install the 'Basic' or 'Basic Light' Instant Client package for running
+applications with this extension. If building from source, then also install
+the Instant Client SDK package.
 
 Oracle's standard cross-version connectivity applies. For example, PHP PDO_OCI
 linked with Instant Client 19c can connect to Oracle Database 11.2 onward. See
 Oracle's note "Oracle Client / Server Interoperability Support" (ID 207303.1)
 for details.
 
-PHP is available from https://www.php.net/releases/
+PHP is available from https://www.php.net/releases/.
diff --git a/package.xml b/package.xml
index 0e5eb21..2a66ac5 100644
--- a/package.xml
+++ b/package.xml
@@ -35,7 +35,7 @@ Oracle&apos;s standard cross-version connectivity applies.  For example, PHP PDO
   <name>Christopher Jones</name>
   <user>sixd</user>
   <email>[email protected]</email>
-  <active>yes</active>
+  <active>no</active>
  </lead>
 
  <lead>
@@ -45,12 +45,12 @@ Oracle&apos;s standard cross-version connectivity applies.  For example, PHP PDO
   <active>yes</active>
  </lead>
 
- <date>2024-08-21</date>
+ <date>2026-01-07</date>
  <time>12:00:00</time>
 
   <version>
-   <release>1.1.0</release>
-   <api>1.1.0</api>
+   <release>1.2.0</release>
+   <api>1.2.0</api>
   </version>
   <stability>
    <release>stable</release>
@@ -58,9 +58,8 @@ Oracle&apos;s standard cross-version connectivity applies.  For example, PHP PDO
   </stability>
   <license uri="http://www.php.net/license">PHP</license>
   <notes>
-    This version is for PHP 8.3 and 8.4 only.
-
-    Requires Oracle Client libraries from 11.2 or later.
+    This version is for PHP 8.3 and newer versions.
+    Improved multiple binding and LOB handling, Added PIE migration support.
   </notes>
  <contents>
   <dir name="/">
@@ -90,4 +89,22 @@ Oracle&apos;s standard cross-version connectivity applies.  For example, PHP PDO
  <extsrcrelease>
   <configureoption default="autodetect" name="with-pdo-oci" prompt="Please provide the path to the ORACLE_HOME directory. Use &apos;instantclient,/path/to/instant/client/lib&apos; if you&apos;re compiling with Oracle Instant Client" />
  </extsrcrelease>
+ <changelog>
+  <release>
+   <version>
+    <release>1.1.0</release>
+    <api>1.1.0</api>
+   </version>
+   <stability>
+    <release>stable</release>
+    <api>stable</api>
+   </stability>
+   <license uri="http://www.php.net/license">PHP</license>
+   <notes>
+       This version is for PHP 8.3 and 8.4 only.
+
+       Requires Oracle Client libraries from 11.2 or later.
+   </notes>
+  </release>
+ </changelog>
 </package>
diff --git a/php_pdo_oci.h b/php_pdo_oci.h
index 7096823..7a44b67 100644
--- a/php_pdo_oci.h
+++ b/php_pdo_oci.h
@@ -21,7 +21,7 @@ extern zend_module_entry pdo_oci_module_entry;
 #define phpext_pdo_oci_ptr &pdo_oci_module_entry
 
 #include "php_version.h"
-#define PHP_PDO_OCI_VERSION "1.1.0"
+#define PHP_PDO_OCI_VERSION "1.2.0"
 
 #ifdef ZTS
 #include "TSRM.h"
@@ -33,4 +33,4 @@ PHP_RINIT_FUNCTION(pdo_oci);
 PHP_RSHUTDOWN_FUNCTION(pdo_oci);
 PHP_MINFO_FUNCTION(pdo_oci);
 
-#endif	/* PHP_PDO_OCI_H */
+#endif /* PHP_PDO_OCI_H */
diff --git a/tests/bug41996.phpt b/tests/bug41996.phpt
index 15e8959..ae74cd0 100644
--- a/tests/bug41996.phpt
+++ b/tests/bug41996.phpt
@@ -20,4 +20,3 @@ var_dump(strlen($row[0]) > 0);
 ?>
 --EXPECT--
 bool(true)
-
diff --git a/tests/bug44301.phpt b/tests/bug44301.phpt
index d19d223..ce9fe62 100644
--- a/tests/bug44301.phpt
+++ b/tests/bug44301.phpt
@@ -26,4 +26,3 @@ $db = null;
 --EXPECTF--
 SQLSTATE[HY000]: General error: 942 OCIStmtExecute: ORA-00942: table or view %Sdoes not exist
  (%soci_statement.c:%d)
-
diff --git a/tests/bug46274.phpt b/tests/bug46274.phpt
index b10226a..6e99460 100644
--- a/tests/bug46274.phpt
+++ b/tests/bug46274.phpt
@@ -7,6 +7,7 @@ pdo_oci
 <?php
 require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 PDOTest::skip();
+?>
 --FILE--
 <?php
 require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
@@ -58,7 +59,7 @@ var_dump($res->fetch());
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test46274';
diff --git a/tests/bug46274_2.phpt b/tests/bug46274_2.phpt
index 48016ec..541d9ba 100644
--- a/tests/bug46274_2.phpt
+++ b/tests/bug46274_2.phpt
@@ -64,7 +64,7 @@ fclose($row[0]);
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test46274_2';
@@ -89,4 +89,3 @@ array(2) {
   resource(%d) of type (stream)
 }
 string(0) ""
-
diff --git a/tests/bug54379.phpt b/tests/bug54379.phpt
index 45f34dc..1ba944b 100644
--- a/tests/bug54379.phpt
+++ b/tests/bug54379.phpt
@@ -31,7 +31,7 @@ var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test54379';
@@ -54,4 +54,3 @@ array(2) {
     string(60) "あいうえおかきくけこさしすせそたちつてと"
   }
 }
-
diff --git a/tests/bug57702.phpt b/tests/bug57702.phpt
index b635a2c..82e5d56 100644
--- a/tests/bug57702.phpt
+++ b/tests/bug57702.phpt
@@ -195,4 +195,3 @@ string(11) "row 1 col 2"
 string(11) "row 2 col 1"
 string(11) "row 2 col 2"
 done
-
diff --git a/tests/bug60994.phpt b/tests/bug60994.phpt
index d5f2cbe..601b2c0 100644
--- a/tests/bug60994.phpt
+++ b/tests/bug60994.phpt
@@ -116,7 +116,7 @@ if ($string4 != $stream4 || $stream4 != stream_get_contents($row['DATA2'])) {
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table pdo_oci_bug60994';
diff --git a/tests/bug_33707.phpt b/tests/bug_33707.phpt
deleted file mode 100644
index e4aa60e..0000000
--- a/tests/bug_33707.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-PDO OCI Bug #33707 (Errors in select statements not reported)
---EXTENSIONS--
-pdo
-pdo_oci
---SKIPIF--
-<?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
-PDOTest::skip();
-?>
---FILE--
-<?php
-require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
-$db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
-$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
-
-$rs = $db->query('select blah from a_table_that_does_not_exist');
-var_dump($rs);
-var_dump($db->errorInfo());
-?>
---EXPECTF--
-bool(false)
-array(3) {
-  [0]=>
-  string(5) "HY000"
-  [1]=>
-  int(942)
-  [2]=>
-  string(%d) "OCIStmtExecute: ORA-00942: table or view %Sdoes not exist
- (%s:%d)"
-}
-
diff --git a/tests/checkliveness.phpt b/tests/checkliveness.phpt
index c2244b1..65ab240 100644
--- a/tests/checkliveness.phpt
+++ b/tests/checkliveness.phpt
@@ -56,4 +56,3 @@ array(2) {
   [0]=>
   string(1) "X"
 }
-
diff --git a/tests/common.phpt b/tests/common.phpt
index 76b6b18..45448f8 100644
--- a/tests/common.phpt
+++ b/tests/common.phpt
@@ -23,4 +23,3 @@ if (false !== getenv('PDO_OCI_TEST_DSN')) {
 }
 
 return $config;
-
diff --git a/tests/oci_success_with_info.phpt b/tests/oci_success_with_info.phpt
index 855a93e..6573c68 100644
--- a/tests/oci_success_with_info.phpt
+++ b/tests/oci_success_with_info.phpt
@@ -121,4 +121,3 @@ array(3) {
   string(%d) "OCIStmtExecute: OCI_SUCCESS_WITH_INFO: ORA-24344: %s
  (%s:%d)"
 }
-
diff --git a/tests/pdo_oci_attr_action.phpt b/tests/pdo_oci_attr_action.phpt
index 7af6fe1..7c702c6 100644
--- a/tests/pdo_oci_attr_action.phpt
+++ b/tests/pdo_oci_attr_action.phpt
@@ -55,4 +55,3 @@ ACTION RESET: string(15) "something else!"
 bool(true)
 ACTION NULLED: NULL
 Done
-
diff --git a/tests/pdo_oci_attr_autocommit_1.phpt b/tests/pdo_oci_attr_autocommit_1.phpt
index 9f1ab24..85a38a4 100644
--- a/tests/pdo_oci_attr_autocommit_1.phpt
+++ b/tests/pdo_oci_attr_autocommit_1.phpt
@@ -61,7 +61,7 @@ echo "Done\n";
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test_pdo_oci_attr_autocommit_1';
@@ -79,4 +79,3 @@ Insert data
 Second connection should be able to see committed data
 Data is: some data
 Done
-
diff --git a/tests/pdo_oci_attr_autocommit_2.phpt b/tests/pdo_oci_attr_autocommit_2.phpt
index 43a83cf..b47d54e 100644
--- a/tests/pdo_oci_attr_autocommit_2.phpt
+++ b/tests/pdo_oci_attr_autocommit_2.phpt
@@ -110,7 +110,7 @@ echo "Done\n";
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test_pdo_oci_attr_autocommit_2';
@@ -144,4 +144,3 @@ data 4
 data 5
 data 6
 Done
-
diff --git a/tests/pdo_oci_attr_autocommit_3.phpt b/tests/pdo_oci_attr_autocommit_3.phpt
index 6ec144f..0957a34 100644
--- a/tests/pdo_oci_attr_autocommit_3.phpt
+++ b/tests/pdo_oci_attr_autocommit_3.phpt
@@ -51,7 +51,7 @@ echo "Done\n";
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test_pdo_oci_attr_autocommit_3';
@@ -66,4 +66,3 @@ PDO::ATTR_AUTOCOMMIT: bool(false)
 Insert data
 Second connection should be able to see committed data
 Done
-
diff --git a/tests/pdo_oci_attr_call_timeout.phpt b/tests/pdo_oci_attr_call_timeout.phpt
index 700ea27..d29ae04 100644
--- a/tests/pdo_oci_attr_call_timeout.phpt
+++ b/tests/pdo_oci_attr_call_timeout.phpt
@@ -66,4 +66,3 @@ int(4000)
 Execute error was OCIStmtExecute: ORA-%r(03136|03156)%r: %s
  (%s:%d)
 ===DONE===
-
diff --git a/tests/pdo_oci_attr_case.phpt b/tests/pdo_oci_attr_case.phpt
index e2c82f8..2fcefaf 100644
--- a/tests/pdo_oci_attr_case.phpt
+++ b/tests/pdo_oci_attr_case.phpt
@@ -81,4 +81,3 @@ array(1) {
   string(1) "X"
 }
 Done
-
diff --git a/tests/pdo_oci_attr_client.phpt b/tests/pdo_oci_attr_client.phpt
index ba8608a..325c9bc 100644
--- a/tests/pdo_oci_attr_client.phpt
+++ b/tests/pdo_oci_attr_client.phpt
@@ -42,4 +42,3 @@ echo "Done\n";
 ATTR_CLIENT_VERSION: string(%d) "%d.%s"
 Version OK, so far as can be portably checked
 Done
-
diff --git a/tests/pdo_oci_attr_client_identifier.phpt b/tests/pdo_oci_attr_client_identifier.phpt
index 8b78fd1..ac84cfe 100644
--- a/tests/pdo_oci_attr_client_identifier.phpt
+++ b/tests/pdo_oci_attr_client_identifier.phpt
@@ -55,4 +55,3 @@ CLIENT_IDENTIFIER RESET: string(15) "something else!"
 bool(true)
 CLIENT_IDENTIFIER NULLED: NULL
 Done
-
diff --git a/tests/pdo_oci_attr_client_info.phpt b/tests/pdo_oci_attr_client_info.phpt
index a6c5351..1f4f6d7 100644
--- a/tests/pdo_oci_attr_client_info.phpt
+++ b/tests/pdo_oci_attr_client_info.phpt
@@ -55,4 +55,3 @@ CLIENT_INFO RESET: string(15) "something else!"
 bool(true)
 CLIENT_INFO NULLED: NULL
 Done
-
diff --git a/tests/pdo_oci_attr_drivername.phpt b/tests/pdo_oci_attr_drivername.phpt
index da46c12..5ff4cf5 100644
--- a/tests/pdo_oci_attr_drivername.phpt
+++ b/tests/pdo_oci_attr_drivername.phpt
@@ -21,4 +21,3 @@ echo "Done\n";
 --EXPECT--
 string(3) "oci"
 Done
-
diff --git a/tests/pdo_oci_attr_module.phpt b/tests/pdo_oci_attr_module.phpt
index de47416..b08f862 100644
--- a/tests/pdo_oci_attr_module.phpt
+++ b/tests/pdo_oci_attr_module.phpt
@@ -49,4 +49,3 @@ MODULE RESET: string(15) "something else!"
 bool(true)
 MODULE NULLED: NULL
 Done
-
diff --git a/tests/pdo_oci_attr_nulls_1.phpt b/tests/pdo_oci_attr_nulls_1.phpt
index be1499c..fcda834 100644
--- a/tests/pdo_oci_attr_nulls_1.phpt
+++ b/tests/pdo_oci_attr_nulls_1.phpt
@@ -61,4 +61,3 @@ PDO::ATTR_ORACLE_NULLS: PDO::NULL_TO_STRING: int(2)
 string(0) ""
 string(0) ""
 Done
-
diff --git a/tests/pdo_oci_attr_prefetch_1.phpt b/tests/pdo_oci_attr_prefetch_1.phpt
index 02e58cd..529d6a7 100644
--- a/tests/pdo_oci_attr_prefetch_1.phpt
+++ b/tests/pdo_oci_attr_prefetch_1.phpt
@@ -78,4 +78,3 @@ Test set PHP_INT_MAX: (Uses default)
 100
 X
 Done
-
diff --git a/tests/pdo_oci_attr_prefetch_2.phpt b/tests/pdo_oci_attr_prefetch_2.phpt
index 6e80e13..7619891 100644
--- a/tests/pdo_oci_attr_prefetch_2.phpt
+++ b/tests/pdo_oci_attr_prefetch_2.phpt
@@ -47,4 +47,3 @@ X
 Test 2: Turn off prefetching
 X
 Done
-
diff --git a/tests/pdo_oci_attr_server.phpt b/tests/pdo_oci_attr_server.phpt
index 07c03b0..020808e 100644
--- a/tests/pdo_oci_attr_server.phpt
+++ b/tests/pdo_oci_attr_server.phpt
@@ -40,4 +40,3 @@ Test 2
 ATTR_SERVER_INFO
 Found 'Oracle' at position 0 as expected
 Done
-
diff --git a/tests/pdo_oci_class_constants.phpt b/tests/pdo_oci_class_constants.phpt
index 7d38047..7f5affe 100644
--- a/tests/pdo_oci_class_constants.phpt
+++ b/tests/pdo_oci_class_constants.phpt
@@ -66,4 +66,3 @@ print "done!";
 ?>
 --EXPECT--
 done!
-
diff --git a/tests/pdo_oci_fread_1.phpt b/tests/pdo_oci_fread_1.phpt
index dd7c21a..5c9386a 100644
--- a/tests/pdo_oci_fread_1.phpt
+++ b/tests/pdo_oci_fread_1.phpt
@@ -54,7 +54,7 @@ fclose($sh);
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test_oci_fread_1';
@@ -67,4 +67,3 @@ $db->exec("begin
 --EXPECT--
 Test 1
 *abcjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj**jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj**jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj**jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjxyz*
-
diff --git a/tests/pdo_oci_phpinfo.phpt b/tests/pdo_oci_phpinfo.phpt
index 83933a3..792f081 100644
--- a/tests/pdo_oci_phpinfo.phpt
+++ b/tests/pdo_oci_phpinfo.phpt
@@ -27,4 +27,3 @@ print "done!";
 ?>
 --EXPECT--
 done!
-
diff --git a/tests/pdo_oci_quote1.phpt b/tests/pdo_oci_quote1.phpt
index 36f965e..9073661 100644
--- a/tests/pdo_oci_quote1.phpt
+++ b/tests/pdo_oci_quote1.phpt
@@ -46,7 +46,7 @@ echo "Done\n";
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test_pdo_oci_quote1';
@@ -169,4 +169,3 @@ array(1) {
   }
 }
 Done
-
diff --git a/tests/pdo_oci_stmt_getcolumnmeta.phpt b/tests/pdo_oci_stmt_getcolumnmeta.phpt
index a9e0dc3..2e2df1a 100644
--- a/tests/pdo_oci_stmt_getcolumnmeta.phpt
+++ b/tests/pdo_oci_stmt_getcolumnmeta.phpt
@@ -15,7 +15,7 @@ if (version_compare($db->getAttribute(PDO::ATTR_SERVER_VERSION), 12) < 0) die('x
 
 echo "Preparations before the test\n";
 
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 try {
     $db = PDOTest::factory();
 
@@ -293,11 +293,11 @@ try {
         $e->getMessage(), $db->errorInfo(), implode(' ', $db->errorInfo()));
 }
 
-print "done!";
+print "done!\n";
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test_pdo_oci_stmt_getcolumnmeta';
@@ -325,4 +325,3 @@ Test 2.5 testing lobs columns
 Test 2.6 testing function return
 Test 2.7 testing flags returned
 done!
-
diff --git a/tests/pdo_oci_stream_1.phpt b/tests/pdo_oci_stream_1.phpt
index 37b7906..dc69915 100644
--- a/tests/pdo_oci_stream_1.phpt
+++ b/tests/pdo_oci_stream_1.phpt
@@ -82,7 +82,7 @@ echo 'Read '.stream_get_contents($r['data'], -1, 30000)."\n";      // jjjxyz
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test_pdo_oci_stream_1';
@@ -119,4 +119,3 @@ Read 0
 Read 0
 Read 0
 Read jjjxyz
-
diff --git a/tests/pdo_oci_stream_2.phpt b/tests/pdo_oci_stream_2.phpt
index dbe70b8..8fd7974 100644
--- a/tests/pdo_oci_stream_2.phpt
+++ b/tests/pdo_oci_stream_2.phpt
@@ -120,7 +120,7 @@ echo "Fetch operation done!\n";
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test_pdo_oci_stream_2';
@@ -133,4 +133,3 @@ $db->exec("begin
 --EXPECT--
 Inserting 1000 Records ... Done
 Fetch operation done!
-
diff --git a/tests/pdo_oci_templob_1.phpt b/tests/pdo_oci_templob_1.phpt
index dfe9bae..efdc67d 100644
--- a/tests/pdo_oci_templob_1.phpt
+++ b/tests/pdo_oci_templob_1.phpt
@@ -84,4 +84,3 @@ else
 ?>
 --EXPECT--
 Success! All the temporary LOB in previously closed statements are properly cleaned.
-
diff --git a/tests/pecl_bug_11345.phpt b/tests/pecl_bug_11345.phpt
index a008749..988c891 100644
--- a/tests/pecl_bug_11345.phpt
+++ b/tests/pecl_bug_11345.phpt
@@ -28,4 +28,3 @@ echo "Done\n";
 ?>
 --EXPECTF--
 Connection failed: SQLSTATE[HY000]: OCINlsCharSetNameToId: unknown character set name (%s)
-
diff --git a/tests/pecl_bug_6364.phpt b/tests/pecl_bug_6364.phpt
index cb9c987..85bc3be 100644
--- a/tests/pecl_bug_6364.phpt
+++ b/tests/pecl_bug_6364.phpt
@@ -48,7 +48,7 @@ print "Done\n";
 ?>
 --CLEAN--
 <?php
-require(getenv('PDO_TEST_DIR').'/pdo_test.inc');
+require_once(getenv('PDO_TEST_DIR').'/pdo_test.inc');
 $db = PDOTest::test_factory(getenv('PDO_OCI_TEST_DIR').'/common.phpt');
 $db->exec("begin
              execute immediate 'drop table test6364';
@@ -85,4 +85,3 @@ array(10) {
   NULL
 }
 Done
-