<?php

require_once('config.php');
require_once('lib/ddllib.php');

$dbman = $DB->get_manager();

echo "<pre>TESTING MOODLE 2.0 OCI DRIVER WITH oci8.statement_cache_size = ".ini_get('oci8.statement_cache_size')." (from php.ini)";

$table = new xmldb_table('unit_table');
$table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null);
$table->add_field('course', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0');
$table->add_field('name', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, null, null, '0');
$table->add_key('primary', XMLDB_KEY_PRIMARY, array('id'));

if ($dbman->table_exists($table)) {
    $dbman->drop_table($table);
}
$dbman->create_table($table);
echo "<pre>Created table unit_table (id, course, name). Ok</pre>";

$rs = $DB->get_recordset('unit_table');
echo "<pre>Selected 0 records from table. Ok</pre>";
$rs->close();

$table2 = new xmldb_table('unit_table');
$table2->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null);
$table2->add_field('course', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0');
$table2->add_key('primary', XMLDB_KEY_PRIMARY, array('id'));

if ($dbman->table_exists($table2)) {
    $dbman->drop_table($table2);
    echo "<pre>Dropped table unit_table (id, course, name). Ok</pre>";
}
$dbman->create_table($table2);
echo "<pre>Created table unit_table (id, course). Ok</pre>";

try {
    $rs2 = $DB->get_recordset('unit_table');
    $rs2->close();
    echo "<pre>Selected 0 records from table. Ok</pre>";
    echo "<pre>TEST FINISHED OK!</pre>";
    $status = 'OK!';
} catch (moodle_exception $e) {
    echo "<pre>Unable to select records from table. Error!</pre>";
    echo "<pre>TEST FINISHED WITH ERROR!</pre>";
    $status = "ERROR! $e->error - $e->sql";
}
if ($dbman->table_exists($table2)) {
    $dbman->drop_table($table2);
    echo "<pre>Dropped table unit_table (id, course). Ok</pre>";
}

echo "<pre>Please report this information:</pre>";
echo "<pre>    - Operating System: " . PHP_OS . "</pre>";
echo "<pre>    - PHP Version: " . PHP_VERSION . "</pre>";
echo "<pre>    - Database: " . implode($DB->get_server_info(), ", ") . "</pre>";
echo "<pre>    - OCI Version: (you can get it from the phpinfo page, OCI8 section)</pre>";
echo "<pre>    - oci8.statement_cache_size: " . ini_get('oci8.statement_cache_size') . "</pre>";
echo "<pre>    - Test Result: " . $status . "</pre>";

