--TEST--
oci_field_*() family: basic column types
--SKIPIF--
<?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?>
--FILE--
<?php

require(dirname(__FILE__)."/connect.inc");

// Initialization
$stmtarray = array(
    
"drop table field_funcs3_tab",
    
"create table field_funcs3_tab(c1_c char(2), c2_v varchar2(2), c3_n number, c4_d date)",
    
"insert into field_funcs3_tab values ('c1', 'c2', 3, '01-Jan-2010')"
);

$v oci_server_version($c);
if (
strpos($v'Oracle TimesTen') === false) {
    
oci8_test_sql_execute($c, array("alter session set nls_date_format = 'DD-MON-YYYY'"));
}
oci8_test_sql_execute($c$stmtarray);

// Run Test

$select_sql "select * from field_funcs3_tab";

if (!(
$s oci_parse($c$select_sql))) {
    die(
"oci_parse(select) failed!\n");
}

if (!
oci_execute($s)) {
    die(
"oci_execute(select) failed!\n");
}

$row oci_fetch_array($sOCI_NUM OCI_RETURN_NULLS OCI_RETURN_LOBS);
var_dump($row);

foreach (
$row as $num => $field) {
    
$num++;
    
var_dump(oci_field_is_null($s$num));
    
var_dump(oci_field_name($s$num));
    
var_dump(oci_field_type($s$num));
    
var_dump(oci_field_type_raw($s$num));
    
var_dump(oci_field_scale($s$num));
    
var_dump(oci_field_precision($s$num));
    
var_dump(oci_field_size($s$num));
}

// Clean up

$stmtarray = array(
    
"drop table field_funcs3_tab"
);

oci8_test_sql_execute($c$stmtarray);

?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
array(4) {
  [0]=>
  string(2) "c1"
  [1]=>
  string(2) "c2"
  [2]=>
  string(1) "3"
  [3]=>
  string(1%r[19]%r) "%r(01-JAN-2010|0001-01-20 10:00:00)%r"
}
bool(false)
string(4) "C1_C"
string(4) "CHAR"
int(96)
int(0)
int(0)
int(2)
bool(false)
string(4) "C2_V"
string(8) "VARCHAR2"
int(1)
int(0)
int(0)
int(2)
bool(false)
string(4) "C3_N"
string(6) "NUMBER"
int(2)
int(-127)
int(0)
int(22)
bool(false)
string(4) "C4_D"
string(4) "DATE"
int(12)
int(0)
int(0)
int(7)
===DONE===