sixd Fri Jul 6 23:31:36 2007 UTC
Modified files:
/php-src/ext/oci8/tests field_funcs2.phpt field_funcs_old.phpt
field_funcs.phpt
Log:
Bug #41917: New OCI8 tests for scale and precision
http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/field_funcs2.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/oci8/tests/field_funcs2.phpt
diff -u /dev/null php-src/ext/oci8/tests/field_funcs2.phpt:1.2
--- /dev/null Fri Jul 6 23:31:36 2007
+++ php-src/ext/oci8/tests/field_funcs2.phpt Fri Jul 6 23:31:36 2007
@@ -0,0 +1,70 @@
+--TEST--
+Bug #41917 (invalid scale and precision)
+--SKIPIF--
+<?php if (!extension_loaded('oci8')) die("skip no oci8 extension"); ?>
+--FILE--
+<?php
+
+require dirname(__FILE__)."/connect.inc";
+require dirname(__FILE__).'/create_table.inc';
+
+$s = oci_parse($c, 'drop table b41917t');
[EMAIL PROTECTED]($s);
+
+$t = array("C01" => "NUMBER",
+ "C02" => "NUMBER(*,1)",
+ "C03" => "NUMBER(9)",
+ "C04" => "NUMBER(9,2)",
+ "C05" => "NUMBER(9,1)",
+ "C06" => "NUMBER(7,-2)",
+ "C07" => "DECIMAL(4,9)",
+ "C08" => "NUMERIC(4,9)",
+ "C09" => "DECIMAL(4)",
+ "C10" => "INTEGER",
+ "C11" => "INT",
+ "C12" => "SMALLINT",
+ "C13" => "FLOAT",
+ "C14" => "FLOAT(9)",
+ "C15" => "DOUBLE PRECISION",
+ "C16" => "REAL",
+ );
+
+$stmt = "create table b41917t (\n";
+foreach ($t as $colname => $type) {
+ $stmt .= "$colname $type,\n";
+}
+$stmt[strlen($stmt)-2] = ")";
+
+$s = oci_parse($c, $stmt);
+oci_execute($s);
+
+$s = oci_parse($c, "select * from b41917t");
+oci_execute($s);
+
+for ($i = 1; $i <= oci_num_fields($s); $i++) {
+ $name = oci_field_name($s, $i);
+ $precision = oci_field_precision($s, $i);
+ $scale = oci_field_scale($s, $i);
+ echo "$name ".$t[$name] .": precision $precision, scale $scale\n";
+}
+
+echo "Done\n";
+?>
+--EXPECT--
+C01 NUMBER: precision 0, scale -127
+C02 NUMBER(*,1): precision 38, scale 1
+C03 NUMBER(9): precision 9, scale 0
+C04 NUMBER(9,2): precision 9, scale 2
+C05 NUMBER(9,1): precision 9, scale 1
+C06 NUMBER(7,-2): precision 7, scale -2
+C07 DECIMAL(4,9): precision 4, scale 9
+C08 NUMERIC(4,9): precision 4, scale 9
+C09 DECIMAL(4): precision 4, scale 0
+C10 INTEGER: precision 38, scale 0
+C11 INT: precision 38, scale 0
+C12 SMALLINT: precision 38, scale 0
+C13 FLOAT: precision 126, scale -127
+C14 FLOAT(9): precision 9, scale -127
+C15 DOUBLE PRECISION: precision 126, scale -127
+C16 REAL: precision 63, scale -127
+Done
\ No newline at end of file
http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/field_funcs_old.phpt?r1=1.6&r2=1.7&diff_format=u
Index: php-src/ext/oci8/tests/field_funcs_old.phpt
diff -u php-src/ext/oci8/tests/field_funcs_old.phpt:1.6
php-src/ext/oci8/tests/field_funcs_old.phpt:1.7
--- php-src/ext/oci8/tests/field_funcs_old.phpt:1.6 Fri Nov 10 16:56:19 2006
+++ php-src/ext/oci8/tests/field_funcs_old.phpt Fri Jul 6 23:31:36 2007
@@ -54,7 +54,7 @@
echo "Done\n";
?>
---EXPECTF--
+--EXPECT--
array(5) {
[0]=>
string(1) "1"
@@ -71,14 +71,14 @@
string(2) "ID"
string(6) "NUMBER"
int(2)
-int(%d)
+int(-127)
int(0)
int(22)
bool(false)
string(5) "VALUE"
string(6) "NUMBER"
int(2)
-int(%d)
+int(-127)
int(0)
int(22)
bool(true)
@@ -103,7 +103,7 @@
int(0)
int(10)
Done
---UEXPECTF--
+--UEXPECT--
array(5) {
[0]=>
unicode(1) "1"
@@ -120,14 +120,14 @@
unicode(2) "ID"
unicode(6) "NUMBER"
int(2)
-int(0)
+int(-127)
int(0)
int(22)
bool(false)
unicode(5) "VALUE"
unicode(6) "NUMBER"
int(2)
-int(0)
+int(-127)
int(0)
int(22)
bool(true)
http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/field_funcs.phpt?r1=1.7&r2=1.8&diff_format=u
Index: php-src/ext/oci8/tests/field_funcs.phpt
diff -u php-src/ext/oci8/tests/field_funcs.phpt:1.7
php-src/ext/oci8/tests/field_funcs.phpt:1.8
--- php-src/ext/oci8/tests/field_funcs.phpt:1.7 Fri Nov 10 16:56:19 2006
+++ php-src/ext/oci8/tests/field_funcs.phpt Fri Jul 6 23:31:36 2007
@@ -54,7 +54,7 @@
echo "Done\n";
?>
---EXPECTF--
+--EXPECT--
array(5) {
[0]=>
string(1) "1"
@@ -71,14 +71,14 @@
string(2) "ID"
string(6) "NUMBER"
int(2)
-int(%d)
+int(-127)
int(0)
int(22)
bool(false)
string(5) "VALUE"
string(6) "NUMBER"
int(2)
-int(%d)
+int(-127)
int(0)
int(22)
bool(true)
@@ -103,7 +103,7 @@
int(0)
int(10)
Done
---UEXPECTF--
+--UEXPECT--
array(5) {
[0]=>
unicode(1) "1"
@@ -120,14 +120,14 @@
unicode(2) "ID"
unicode(6) "NUMBER"
int(2)
-int(0)
+int(-127)
int(0)
int(22)
bool(false)
unicode(5) "VALUE"
unicode(6) "NUMBER"
int(2)
-int(0)
+int(-127)
int(0)
int(22)
bool(true)
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php