File:
[ELWIX - Embedded LightWeight unIX -] /
embedaddon /
php /
ext /
oci8 /
tests /
bind_misccoltypes.phpt
Revision
1.1.1.1 (vendor branch):
download - view:
text,
annotated -
select for diffs -
revision graph
Tue Feb 21 23:47:58 2012 UTC (12 years, 6 months ago) by
misho
Branches:
php,
MAIN
CVS tags:
v5_4_3elwix,
v5_4_29p0,
v5_4_29,
v5_4_20p0,
v5_4_20,
v5_4_17p0,
v5_4_17,
v5_3_10,
HEAD
php
--TEST--
Bind miscellaneous column types using default types
--SKIPIF--
<?php
$target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
require(dirname(__FILE__).'/skipif.inc');
if (preg_match('/^1[012]\./', oci_client_version()) != 1) {
die("skip test expected to work only with Oracle 10g or greater version of client");
}
?>
--FILE--
<?php
require(dirname(__FILE__).'/connect.inc');
// Initialization
$stmtarray = array(
"alter session set nls_date_format = 'DD-MON-YY'",
"drop table bind_misccoltypes_tab",
"create table bind_misccoltypes_tab (
id number,
char_t char(1),
char_t10 char(10),
varchar2_t10 varchar2(10),
number_t number,
number_t92 number(9,2),
number_t6 number(6),
date_t date,
timestamp_t timestamp,
float_t float,
binary_float_t binary_float,
binary_double_t binary_double,
decimal_t decimal,
integer_t integer,
nchar_t nchar(10),
nvarchar2_t10 nvarchar2(10),
varchar_t10 varchar(10) )",
);
oci8_test_sql_execute($c, $stmtarray);
function check_col($c, $colname, $id)
{
$s = oci_parse($c, "select $colname from bind_misccoltypes_tab where id = :id");
oci_bind_by_name($s, ":id", $id);
oci_execute($s);
oci_fetch_all($s, $r);
var_dump($r);
}
// Tests
echo "\nTEST86 insert all ORATYPE values\n";
$insert_sql = "INSERT INTO bind_misccoltypes_tab ( id, "
. " char_t, "
. " char_t10, "
. " varchar2_t10, "
. " number_t, "
. " number_t92, "
. " number_t6, "
. " date_t, "
. " timestamp_t, "
. " float_t, "
. " binary_float_t, "
. " binary_double_t, "
. " decimal_t, "
. " integer_t, "
. " nchar_t, "
. " nvarchar2_t10, "
. " varchar_t10) "
. " VALUES (:n1, "
. " :c1, "
. " :c2, "
. " :c3, "
. " :n2, "
. " :n3, "
. " :n4, "
. " to_date(:d1, 'YYYY-MM-DD HH24:MI:SS'), "
. " to_timestamp(:d1, 'YYYY-MM-DD HH24:MI:SS'), "
. " :n5, "
. " :n5, "
. " :n5, "
. " :n1, "
. " :n1, "
. " :c4, "
. " :c5, "
. " :c6) ";
$n1 = "86";
$c1 = "C";
$c2 = "char10";
$c3 = "varchar210";
$n2 = "-123.456";
$n3 = "789.346";
$n4 = "123456.023";
$n5 = "12345678901234567890123456789012345678.723";
$d1 = "2010-03-29 13:09:15";
$c4 = "nchar10";
$c5 = "nvarchar2x";
$c6 = "varchar";
$s = oci_parse($c, $insert_sql);
oci_bind_by_name($s, ":n1", $n1);
oci_bind_by_name($s, ":c1", $c1);
oci_bind_by_name($s, ":c2", $c2);
oci_bind_by_name($s, ":c3", $c3);
oci_bind_by_name($s, ":n2", $n2);
oci_bind_by_name($s, ":n3", $n3);
oci_bind_by_name($s, ":n4", $n4);
oci_bind_by_name($s, ":d1", $d1);
oci_bind_by_name($s, ":n5", $n5);
oci_bind_by_name($s, ":c4", $c4);
oci_bind_by_name($s, ":c5", $c5);
oci_bind_by_name($s, ":c6", $c6);
oci_execute($s);
echo "\nTEST87 SELECT all values using DEFINEs\n";
$select_sql = "select "
. "id, "
. "char_t, "
. "char_t10, "
. "varchar2_t10, "
. "number_t, "
. "number_t92, "
. "number_t6, "
. "date_t, "
. "timestamp_t, "
. "float_t, "
. "binary_float_t, "
. "binary_double_t, "
. "decimal_t, "
. "integer_t, "
. "nchar_t, "
. "nvarchar2_t10, "
. "varchar_t10 "
. "from bind_misccoltypes_tab where id = 86";
$s = oci_parse($c, $select_sql);
oci_define_by_name($s, "ID", $ID);
oci_define_by_name($s, "CHAR_T", $CHAR_T);
oci_define_by_name($s, "CHAR_T10", $CHAR_T10);
oci_define_by_name($s, "VARCHAR2_T10", $VARCHAR2_T10);
oci_define_by_name($s, "NUMBER_T", $NUMBER_T);
oci_define_by_name($s, "NUMBER_T92", $NUMBER_T92);
oci_define_by_name($s, "NUMBER_T6", $NUMBER_T6);
oci_define_by_name($s, "DATE_T", $DATE_T);
oci_define_by_name($s, "TIMESTAMP_T", $TIMESTAMP_T);
oci_define_by_name($s, "FLOAT_T", $FLOAT_T);
oci_define_by_name($s, "BINARY_FLOAT_T", $BINARY_FLOAT_T);
oci_define_by_name($s, "BINARY_DOUBLE_T", $BINARY_DOUBLE_T);
oci_define_by_name($s, "DECIMAL_T", $DECIMAL_T);
oci_define_by_name($s, "INTEGER_T", $INTEGER_T);
oci_define_by_name($s, "NCHAR_T", $NCHAR_T);
oci_define_by_name($s, "NVARCHAR2_T10", $NVARCHAR2_T10);
oci_define_by_name($s, "VARCHAR_T10", $VARCHAR_T10);
oci_execute($s);
while (oci_fetch($s)) {
echo "ID is " . "$ID\n";
echo "CHAR_T is " . "$CHAR_T\n";
echo "CHAR_T10 is " . "$CHAR_T10\n";
echo "VARCHAR2_T10 is " . "$VARCHAR2_T10\n";
echo "NUMBER_T is " . "$NUMBER_T\n";
echo "NUMBER_T92 is " . "$NUMBER_T92\n";
echo "NUMBER_T6 is " . "$NUMBER_T6\n";
echo "DATE_T is " . "$DATE_T\n";
echo "TIMESTAMP_T is " . "$TIMESTAMP_T\n";
echo "FLOAT_T is " . "$FLOAT_T\n";
echo "BINARY_FLOAT_T is " . "$BINARY_FLOAT_T\n";
echo "BINARY_DOUBLE_T is " . "$BINARY_DOUBLE_T\n";
echo "DECIMAL_T is " . "$DECIMAL_T\n";
echo "INTEGER_T is " . "$INTEGER_T\n";
echo "NCHAR_T is " . "$NCHAR_T\n";
echo "NVARCHAR2_T10 is " . "$NVARCHAR2_T10\n";
echo "VARCHAR_T10 is " . "$VARCHAR_T10\n";
}
echo "\nTEST52 insert numbers\n";
$s = oci_parse($c, "INSERT INTO bind_misccoltypes_tab (id, number_t92) VALUES (52, :n1)");
$n1 = 3;
oci_bind_by_name($s, ":n1", $n1);
oci_execute($s);
check_col($c, 'number_t92', 52);
echo "\nTEST53 insert numbers \n";
$s = oci_parse($c, "INSERT INTO bind_misccoltypes_tab (id, number_t92) VALUES (53, :n1)");
$n1 = 8.67;
oci_bind_by_name($s, ":n1", $n1);
oci_execute($s);
check_col($c, 'number_t92', 53);
echo "\nTEST54 insert numbers \n";
$s = oci_parse($c, "INSERT INTO bind_misccoltypes_tab (id, number_t) VALUES (54, :n1)");
$n1 = 4.67;
oci_bind_by_name($s, ":n1", $n1);
oci_execute($s);
check_col($c, 'number_t', 54);
echo "\nTEST55 insert numbers \n";
$s = oci_parse($c, "INSERT INTO bind_misccoltypes_tab (id, number_t) VALUES (55, :n1)");
$n1 = "7.67";
oci_bind_by_name($s, ":n1", $n1);
oci_execute($s);
check_col($c, 'number_t', 55);
echo "\nTEST56 insert numbers \n";
$n1 = -5.67;
$s = oci_parse($c, "INSERT INTO bind_misccoltypes_tab (id, number_t) VALUES (56, :n1)");
oci_bind_by_name($s, ":n1", $n1);
oci_execute($s);
check_col($c, 'number_t', 56);
echo "\nTEST58 insert a VARCHAR2\n";
$s = oci_parse($c, "INSERT INTO bind_misccoltypes_tab (id, varchar2_t10) VALUES (58, :c2)");
$c2 = "Hood";
oci_bind_by_name($s, ":c2", $c2);
oci_execute($s);
check_col($c, 'varchar2_t10', 58);
echo "\nTEST59 insert a VARCHAR2\n";
$s = oci_parse($c, "INSERT INTO bind_misccoltypes_tab (id, char_t10) VALUES (59, :c2)");
$c2 = "Hood";
oci_bind_by_name($s, ":c2", $c2);
oci_execute($s);
check_col($c, 'char_t10', 59);
echo "\nTEST60 insert a date\n";
$s = oci_parse($c, "INSERT INTO bind_misccoltypes_tab (id, date_t) VALUES (60, to_date(:c2, 'YYYY-MM-DD'))");
$c2 = '2010-04-09';
oci_bind_by_name($s, ":c2", $c2);
oci_execute($s);
check_col($c, 'date_t', 60);
// Clean up
$stmtarray = array(
"drop table bind_misccoltypes_tab"
);
oci8_test_sql_execute($c, $stmtarray);
oci_close($c);
?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
TEST86 insert all ORATYPE values
TEST87 SELECT all values using DEFINEs
ID is 86
CHAR_T is C
CHAR_T10 is char10
VARCHAR2_T10 is varchar210
NUMBER_T is -123.456
NUMBER_T92 is 789.35
NUMBER_T6 is 123456
DATE_T is 29-MAR-10
TIMESTAMP_T is 29-MAR-10 01.09.15.000000 PM
FLOAT_T is 12345678901234567890123456789012345679
BINARY_FLOAT_T is 1.23456784E+037
BINARY_DOUBLE_T is 1.2345678901234568E+037
DECIMAL_T is 86
INTEGER_T is 86
NCHAR_T is nchar10
NVARCHAR2_T10 is nvarchar2x
VARCHAR_T10 is varchar
TEST52 insert numbers
array(1) {
["NUMBER_T92"]=>
array(1) {
[0]=>
string(1) "3"
}
}
TEST53 insert numbers
array(1) {
["NUMBER_T92"]=>
array(1) {
[0]=>
string(4) "8.67"
}
}
TEST54 insert numbers
array(1) {
["NUMBER_T"]=>
array(1) {
[0]=>
string(4) "4.67"
}
}
TEST55 insert numbers
array(1) {
["NUMBER_T"]=>
array(1) {
[0]=>
string(4) "7.67"
}
}
TEST56 insert numbers
array(1) {
["NUMBER_T"]=>
array(1) {
[0]=>
string(5) "-5.67"
}
}
TEST58 insert a VARCHAR2
array(1) {
["VARCHAR2_T10"]=>
array(1) {
[0]=>
string(4) "Hood"
}
}
TEST59 insert a VARCHAR2
array(1) {
["CHAR_T10"]=>
array(1) {
[0]=>
string(10) "Hood "
}
}
TEST60 insert a date
array(1) {
["DATE_T"]=>
array(1) {
[0]=>
string(9) "09-APR-10"
}
}
===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>