]> granicus.if.org Git - php/commitdiff
- #41996, Problem accessing Oracle ROWID (Martin Jansen)
authorPierre Joye <pajoye@php.net>
Mon, 21 Jul 2008 17:17:58 +0000 (17:17 +0000)
committerPierre Joye <pajoye@php.net>
Mon, 21 Jul 2008 17:17:58 +0000 (17:17 +0000)
ext/pdo_oci/oci_statement.c
ext/pdo_oci/tests/bug41996.phpt [new file with mode: 0644]

index fd3c1bd48e2501ab2d7fb30f16202068c0cebe64..c41b1bd83fc8cefcbfa269e09ffc92e429838ed6 100755 (executable)
@@ -415,7 +415,7 @@ static int oci_stmt_describe(pdo_stmt_t *stmt, int colno TSRMLS_DC) /* {{{ */
                case SQLT_BIN:
                default:
                        dyn = FALSE;
-                       if (dtype == SQLT_DAT || dtype == SQLT_NUM
+                       if (dtype == SQLT_DAT || dtype == SQLT_NUM || dtype == SQLT_RDD
 #ifdef SQLT_TIMESTAMP
                                        || dtype == SQLT_TIMESTAMP
 #endif
diff --git a/ext/pdo_oci/tests/bug41996.phpt b/ext/pdo_oci/tests/bug41996.phpt
new file mode 100644 (file)
index 0000000..ac8e35f
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+PDO OCI Bug #41996 (Problem accessing Oracle ROWID)
+--SKIPIF--
+<?php
+/* $Id$ */
+if (!extension_loaded('pdo') || !extension_loaded('pdo_oci')) die('skip not loaded');
+require dirname(__FILE__).'/../../pdo/tests/pdo_test.inc';
+PDOTest::skip();
+?>
+--FILE--
+<?php
+require 'ext/pdo/tests/pdo_test.inc';
+$db = PDOTest::test_factory('ext/pdo_oci/tests/common.phpt');
+
+$stmt = $db->prepare('SELECT rowid FROM dual');
+$stmt->execute();
+$row = $stmt->fetch();
+var_dump(strlen($row[0]) > 0);
+--EXPECTF--
+bool(true)