--TEST--
Test OCI_NO_AUTO_COMMIT constant
--SKIPIF--
<?php
$target_dbs 
= array('oracledb' => true'timesten' => false);  // test runs on these DBs
require(dirname(__FILE__).'/skipif.inc');
?> 
--FILE--
<?php

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

$insert_sql "insert into ".$schema.$table_name." (id, value) values (1,1)";

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

/* check with OCI_NO_AUTO_COMMIT mode  */
for ($i 0$i<3$i++) {
    if (!
oci_execute($sOCI_NO_AUTO_COMMIT)) {
        die(
"oci_execute(insert) failed!\n");
    }
}

for (
$i 0$i<3$i++) {
    if (!
oci_execute($sOCI_DEFAULT)) {
        die(
"oci_execute(insert) failed!\n");
    }
}


var_dump(oci_rollback($c));

$select_sql "select * from ".$schema.$table_name."";

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

/* oci_fetch_all */
if (!oci_execute($select)) {
    die(
"oci_execute(select) failed!\n");
}
var_dump(oci_fetch_all($select$all));
var_dump($all);

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

$insert_sql "insert into ".$schema.$table_name." (id, value) values (1,1)";

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

for (
$i 0$i<3$i++) {
    if (!
oci_execute($sOCI_DEFAULT)) {
        die(
"oci_execute(insert) failed!\n");
    }
}

var_dump(oci_commit($c));

/* oci_fetch_all */
if (!oci_execute($select)) {
    die(
"oci_execute(select) failed!\n");
}
var_dump(oci_fetch_all($select$all));
var_dump($all);


require(
dirname(__FILE__).'/drop_table.inc');
    
echo 
"Done\n";
?>
--EXPECTF--
bool(true)
int(0)
array(5) {
  [%u|b%"ID"]=>
  array(0) {
  }
  [%u|b%"VALUE"]=>
  array(0) {
  }
  [%u|b%"BLOB"]=>
  array(0) {
  }
  [%u|b%"CLOB"]=>
  array(0) {
  }
  [%u|b%"STRING"]=>
  array(0) {
  }
}
bool(true)
int(4)
array(5) {
  [%u|b%"ID"]=>
  array(4) {
    [0]=>
    %string|unicode%(1) "1"
    [1]=>
    %string|unicode%(1) "1"
    [2]=>
    %string|unicode%(1) "1"
    [3]=>
    %string|unicode%(1) "1"
  }
  [%u|b%"VALUE"]=>
  array(4) {
    [0]=>
    %string|unicode%(1) "1"
    [1]=>
    %string|unicode%(1) "1"
    [2]=>
    %string|unicode%(1) "1"
    [3]=>
    %string|unicode%(1) "1"
  }
  [%u|b%"BLOB"]=>
  array(4) {
    [0]=>
    NULL
    [1]=>
    NULL
    [2]=>
    NULL
    [3]=>
    NULL
  }
  [%u|b%"CLOB"]=>
  array(4) {
    [0]=>
    NULL
    [1]=>
    NULL
    [2]=>
    NULL
    [3]=>
    NULL
  }
  [%u|b%"STRING"]=>
  array(4) {
    [0]=>
    NULL
    [1]=>
    NULL
    [2]=>
    NULL
    [3]=>
    NULL
  }
}
Done