add tests for dbReturn only
dbReturn special call test file, update main db test file Main class_test file with links update
This commit is contained in:
140
www/admin/class_test.db.dbReturn.php
Normal file
140
www/admin/class_test.db.dbReturn.php
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
<?php // phpcs:ignore warning
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @phan-file-suppress PhanTypeSuspiciousStringExpression
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
// turn on all error reporting
|
||||||
|
error_reporting(E_ALL | E_STRICT | E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR);
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
|
||||||
|
// basic class test file
|
||||||
|
define('USE_DATABASE', true);
|
||||||
|
// sample config
|
||||||
|
require 'config.php';
|
||||||
|
// override ECHO ALL FALSE
|
||||||
|
$ECHO_ALL = true;
|
||||||
|
// define log file id
|
||||||
|
$LOG_FILE_ID = 'classTest-db';
|
||||||
|
ob_end_flush();
|
||||||
|
|
||||||
|
use CoreLibs\Debug\Support;
|
||||||
|
use CoreLibs\Debug\RunningTime;
|
||||||
|
|
||||||
|
$log = new CoreLibs\Debug\Logging([
|
||||||
|
'log_folder' => BASE . LOG,
|
||||||
|
'file_id' => $LOG_FILE_ID,
|
||||||
|
// add file date
|
||||||
|
'print_file_date' => true,
|
||||||
|
// set debug and print flags
|
||||||
|
'debug_all' => $DEBUG_ALL ?? false,
|
||||||
|
'echo_all' => $ECHO_ALL ?? false,
|
||||||
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
|
]);
|
||||||
|
// db connection and attach logger
|
||||||
|
$db = new CoreLibs\DB\IO(DB_CONFIG, $log);
|
||||||
|
$db->log->debug('START', '=============================>');
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: DB dbReturn';
|
||||||
|
print "<!DOCTYPE html>";
|
||||||
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
|
print "<body>";
|
||||||
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><a href="class_test.db.php">Class Test DB</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
|
print "LOGFILE NAME: " . $db->log->getSetting('log_file_name') . "<br>";
|
||||||
|
print "LOGFILE ID: " . $db->log->getSetting('log_file_id') . "<br>";
|
||||||
|
print "DBINFO: " . $db->dbInfo() . "<br>";
|
||||||
|
|
||||||
|
// DB client encoding
|
||||||
|
print "DB client encoding: " . $db->dbGetEncoding() . "<br>";
|
||||||
|
print "DB search path: " . $db->dbGetSchema() . "<br>";
|
||||||
|
|
||||||
|
// SELECT read tests with dbReturn and cache values
|
||||||
|
print "<br>";
|
||||||
|
print "<b>dbReturn CACHE tests</b><br>";
|
||||||
|
// DATA has two rows for reading
|
||||||
|
// delete and repare base data
|
||||||
|
$db->dbExec("DELETE FROM test_db_return");
|
||||||
|
$db->dbExec("INSERT INTO test_db_return (uid, data) VALUES ('A1', 'Test A'), ('B1', 'Test B')");
|
||||||
|
// read query to use
|
||||||
|
$q_db_ret = "SELECT * FROM test_db_return ORDER BY uid";
|
||||||
|
|
||||||
|
RunningTime::hrRunningTime();
|
||||||
|
|
||||||
|
$cache_flag = 'USE_CACHE';
|
||||||
|
print "dbReturn '" . $cache_flag . "'/Default: " . $q_db_ret . "<br>";
|
||||||
|
// SINGLE read on multi row return
|
||||||
|
// Do twice
|
||||||
|
for ($i = 1; $i <= 6; $i++) {
|
||||||
|
$res = $db->dbReturn($q_db_ret);
|
||||||
|
print $i . ") " . $cache_flag . ": "
|
||||||
|
. "res: " . (is_bool($res) ?
|
||||||
|
"<b>Bool:</b> " . $db->log->prBl($res) :
|
||||||
|
(is_array($res) ?
|
||||||
|
"Array: " . $db->log->prBl(is_array($res)) : '{-}')
|
||||||
|
) . ", "
|
||||||
|
. "cursor_ext: <pre>" . Support::printAr($db->dbGetCursorExt($q_db_ret)) . "</pre>";
|
||||||
|
print "Run time: " . RunningTime::hrRunningTime() . "<br>";
|
||||||
|
}
|
||||||
|
// reset all read data
|
||||||
|
$db->dbCacheReset($q_db_ret);
|
||||||
|
echo "<hr>";
|
||||||
|
$cache_flag = 'CLEAR_CACHE';
|
||||||
|
print "dbReturn '" . $cache_flag . "': " . $q_db_ret . "<br>";
|
||||||
|
// NO CACHE
|
||||||
|
for ($i = 1; $i <= 6; $i++) {
|
||||||
|
$res = $db->dbReturn($q_db_ret, $db::CLEAR_CACHE);
|
||||||
|
print $i . ") " . $cache_flag . ": "
|
||||||
|
. "res: " . (is_bool($res) ?
|
||||||
|
"<b>Bool:</b> " . $db->log->prBl($res) :
|
||||||
|
(is_array($res) ?
|
||||||
|
"Array: " . $db->log->prBl(is_array($res)) : '{-}')
|
||||||
|
) . ", "
|
||||||
|
. "cursor_ext: <pre>" . Support::printAr($db->dbGetCursorExt($q_db_ret)) . "</pre>";
|
||||||
|
print "Run time: " . RunningTime::hrRunningTime() . "<br>";
|
||||||
|
}
|
||||||
|
// reset all read data
|
||||||
|
$db->dbCacheReset($q_db_ret);
|
||||||
|
echo "<hr>";
|
||||||
|
$cache_flag = 'READ_NEW';
|
||||||
|
print "dbReturn '" . $cache_flag . "': " . $q_db_ret . "<br>";
|
||||||
|
// NO CACHE
|
||||||
|
for ($i = 1; $i <= 6; $i++) {
|
||||||
|
$res = $db->dbReturn($q_db_ret, $db::READ_NEW);
|
||||||
|
print $i . ") " . $cache_flag . ": "
|
||||||
|
. "res: " . (is_bool($res) ?
|
||||||
|
"<b>Bool:</b> " . $db->log->prBl($res) :
|
||||||
|
(is_array($res) ?
|
||||||
|
"Array: " . $db->log->prBl(is_array($res)) : '{-}')
|
||||||
|
) . ", "
|
||||||
|
. "cursor_ext: <pre>" . Support::printAr($db->dbGetCursorExt($q_db_ret)) . "</pre>";
|
||||||
|
print "Run time: " . RunningTime::hrRunningTime() . "<br>";
|
||||||
|
}
|
||||||
|
// reset all read data
|
||||||
|
$db->dbCacheReset($q_db_ret);
|
||||||
|
echo "<hr>";
|
||||||
|
$cache_flag = 'NO_CACHE';
|
||||||
|
print "dbReturn '" . $cache_flag . "': " . $q_db_ret . "<br>";
|
||||||
|
// NO CACHE
|
||||||
|
for ($i = 1; $i <= 6; $i++) {
|
||||||
|
$res = $db->dbReturn($q_db_ret, $db::NO_CACHE);
|
||||||
|
print $i . ") " . $cache_flag . ": "
|
||||||
|
. "res: " . (is_bool($res) ?
|
||||||
|
"<b>Bool:</b> " . $db->log->prBl($res) :
|
||||||
|
(is_array($res) ?
|
||||||
|
"Array: " . $db->log->prBl(is_array($res)) : '{-}')
|
||||||
|
) . ", "
|
||||||
|
. "cursor_ext: <pre>" . Support::printAr($db->dbGetCursorExt($q_db_ret)) . "</pre>";
|
||||||
|
print "Run time: " . RunningTime::hrRunningTime() . "<br>";
|
||||||
|
}
|
||||||
|
// reset all data
|
||||||
|
$db->dbCacheReset($q_db_ret);
|
||||||
|
print "<br>";
|
||||||
|
print "Overall Run time: " . RunningTime::hrRunningTimeFromStart() . "<br>";
|
||||||
|
|
||||||
|
// __END__
|
||||||
@@ -44,6 +44,7 @@ print "<!DOCTYPE html>";
|
|||||||
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><a href="class_test.db.dbReturn.php">Class Test DB dbReturn</a></div>';
|
||||||
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
print "LOGFILE NAME: " . $db->log->getSetting('log_file_name') . "<br>";
|
print "LOGFILE NAME: " . $db->log->getSetting('log_file_name') . "<br>";
|
||||||
@@ -72,6 +73,8 @@ $db->dbSetEncoding('SJIS');
|
|||||||
print "ENCODING TEST: " . $db->dbVersionInfo('client_encoding') . "/" . $db->dbGetEncoding() . "<br>";
|
print "ENCODING TEST: " . $db->dbVersionInfo('client_encoding') . "/" . $db->dbGetEncoding() . "<br>";
|
||||||
$db->dbResetEncoding();
|
$db->dbResetEncoding();
|
||||||
|
|
||||||
|
// TEST CACHE READS
|
||||||
|
|
||||||
$res = $db->dbReturn("SELECT * FROM max_test");
|
$res = $db->dbReturn("SELECT * FROM max_test");
|
||||||
print "DB RETURN ROWS: " . $db->dbGetNumRows() . "<br>";
|
print "DB RETURN ROWS: " . $db->dbGetNumRows() . "<br>";
|
||||||
|
|
||||||
@@ -97,6 +100,12 @@ print "NO CACHED DATA: <pre>" . print_r($db->dbGetCursorExt(), true) . "</pre><b
|
|||||||
// print "UUD/TIME: " . $res['uid'] . "/" . $res['time'] . "<br>";
|
// print "UUD/TIME: " . $res['uid'] . "/" . $res['time'] . "<br>";
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
// dbReturn tests on separate page
|
||||||
|
print "<br>";
|
||||||
|
print "<b>dbReturn CACHE tests</b><br>";
|
||||||
|
print '<a href="class_test.db.dbReturn.php">Class Test DB dbReturn</a><br>';
|
||||||
|
print "<br>";
|
||||||
|
|
||||||
print "<pre>";
|
print "<pre>";
|
||||||
|
|
||||||
print "SOCKET: " . pg_socket($db->dbGetDbh()) . "<br>";
|
print "SOCKET: " . pg_socket($db->dbGetDbh()) . "<br>";
|
||||||
@@ -182,7 +191,6 @@ print "UPDATE WITH PK " . $last_insert_pk
|
|||||||
. "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | "
|
. "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | "
|
||||||
. "RETURNING ARRAY: " . print_r($db->dbGetReturningArray(), true) . "<br>";
|
. "RETURNING ARRAY: " . print_r($db->dbGetReturningArray(), true) . "<br>";
|
||||||
|
|
||||||
|
|
||||||
// INSERT WITH NO RETURNING
|
// INSERT WITH NO RETURNING
|
||||||
$status = $db->dbExec("INSERT INTO test_foobar (type, integer) VALUES ('WITHOUT DATA', 456)");
|
$status = $db->dbExec("INSERT INTO test_foobar (type, integer) VALUES ('WITHOUT DATA', 456)");
|
||||||
print "INSERT WITH NO PRIMARY KEY NO RETURNING STATUS: " . Support::printToString($status) . " |<br>"
|
print "INSERT WITH NO PRIMARY KEY NO RETURNING STATUS: " . Support::printToString($status) . " |<br>"
|
||||||
@@ -222,7 +230,6 @@ if (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# db write class test
|
# db write class test
|
||||||
$table = 'test_foo';
|
$table = 'test_foo';
|
||||||
print "TABLE META DATA: " . DgS::printAr($db->dbShowTableMetaData($table)) . "<br>";
|
print "TABLE META DATA: " . DgS::printAr($db->dbShowTableMetaData($table)) . "<br>";
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ print "<html><head><title>TEST CLASS</title><head>";
|
|||||||
print "<body>";
|
print "<body>";
|
||||||
|
|
||||||
print '<div><a href="class_test.db.php">Class Test: DB</a></div>';
|
print '<div><a href="class_test.db.php">Class Test: DB</a></div>';
|
||||||
|
print '<div><a href="class_test.db.DbReturn.php">Class Test: DB dbReturn</a></div>';
|
||||||
print '<div><a href="class_test.colors.php">Class Test: COLORS</a></div>';
|
print '<div><a href="class_test.colors.php">Class Test: COLORS</a></div>';
|
||||||
print '<div><a href="class_test.mime.php">Class Test: MIME</a></div>';
|
print '<div><a href="class_test.mime.php">Class Test: MIME</a></div>';
|
||||||
print '<div><a href="class_test.json.php">Class Test: JSON</a></div>';
|
print '<div><a href="class_test.json.php">Class Test: JSON</a></div>';
|
||||||
@@ -75,6 +76,7 @@ print '<div><a href="class_test.randomkey.php">Class Test: RANDOM KEY</a></div>'
|
|||||||
print '<div><a href="class_test.system.php">Class Test: SYSTEM</a></div>';
|
print '<div><a href="class_test.system.php">Class Test: SYSTEM</a></div>';
|
||||||
print '<div><a href="class_test.readenvfile.php">Class Test: READ ENV FILE</a></div>';
|
print '<div><a href="class_test.readenvfile.php">Class Test: READ ENV FILE</a></div>';
|
||||||
print '<div><a href="class_test.runningtime.php">Class Test: RUNNING TIME</a></div>';
|
print '<div><a href="class_test.runningtime.php">Class Test: RUNNING TIME</a></div>';
|
||||||
|
print '<div><a href="class_test.memoryusage.php">Class Test: MEMORY USAGE</a></div>';
|
||||||
print '<div><a href="class_test.debug.php">Class Test: DEBUG</a></div>';
|
print '<div><a href="class_test.debug.php">Class Test: DEBUG</a></div>';
|
||||||
print '<div><a href="class_test.output.form.php">Class Test: OUTPUT FORM</a></div>';
|
print '<div><a href="class_test.output.form.php">Class Test: OUTPUT FORM</a></div>';
|
||||||
print '<div><a href="class_test.admin.backend.php">Class Test: BACKEND ADMIN CLASS</a></div>';
|
print '<div><a href="class_test.admin.backend.php">Class Test: BACKEND ADMIN CLASS</a></div>';
|
||||||
|
|||||||
Reference in New Issue
Block a user