From a63a50a4127516ba79c0723df69740f8729f1ecd Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Thu, 2 Jun 2022 16:38:10 +0900 Subject: [PATCH] add tests for dbReturn only dbReturn special call test file, update main db test file Main class_test file with links update --- www/admin/class_test.db.dbReturn.php | 140 +++++++++++++++++++++++++++ www/admin/class_test.db.php | 11 ++- www/admin/class_test.php | 2 + 3 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 www/admin/class_test.db.dbReturn.php diff --git a/www/admin/class_test.db.dbReturn.php b/www/admin/class_test.db.dbReturn.php new file mode 100644 index 00000000..aa4e2440 --- /dev/null +++ b/www/admin/class_test.db.dbReturn.php @@ -0,0 +1,140 @@ + 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 ""; +print "" . $PAGE_NAME . ""; +print ""; +print '
Class Test Master
'; +print '
Class Test DB
'; +print '

' . $PAGE_NAME . '

'; + +print "LOGFILE NAME: " . $db->log->getSetting('log_file_name') . "
"; +print "LOGFILE ID: " . $db->log->getSetting('log_file_id') . "
"; +print "DBINFO: " . $db->dbInfo() . "
"; + +// DB client encoding +print "DB client encoding: " . $db->dbGetEncoding() . "
"; +print "DB search path: " . $db->dbGetSchema() . "
"; + +// SELECT read tests with dbReturn and cache values +print "
"; +print "dbReturn CACHE tests
"; +// 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 . "
"; +// 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) ? + "Bool: " . $db->log->prBl($res) : + (is_array($res) ? + "Array: " . $db->log->prBl(is_array($res)) : '{-}') + ) . ", " + . "cursor_ext:
" . Support::printAr($db->dbGetCursorExt($q_db_ret)) . "
"; + print "Run time: " . RunningTime::hrRunningTime() . "
"; +} +// reset all read data +$db->dbCacheReset($q_db_ret); +echo "
"; +$cache_flag = 'CLEAR_CACHE'; +print "dbReturn '" . $cache_flag . "': " . $q_db_ret . "
"; +// 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) ? + "Bool: " . $db->log->prBl($res) : + (is_array($res) ? + "Array: " . $db->log->prBl(is_array($res)) : '{-}') + ) . ", " + . "cursor_ext:
" . Support::printAr($db->dbGetCursorExt($q_db_ret)) . "
"; + print "Run time: " . RunningTime::hrRunningTime() . "
"; +} +// reset all read data +$db->dbCacheReset($q_db_ret); +echo "
"; +$cache_flag = 'READ_NEW'; +print "dbReturn '" . $cache_flag . "': " . $q_db_ret . "
"; +// 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) ? + "Bool: " . $db->log->prBl($res) : + (is_array($res) ? + "Array: " . $db->log->prBl(is_array($res)) : '{-}') + ) . ", " + . "cursor_ext:
" . Support::printAr($db->dbGetCursorExt($q_db_ret)) . "
"; + print "Run time: " . RunningTime::hrRunningTime() . "
"; +} +// reset all read data +$db->dbCacheReset($q_db_ret); +echo "
"; +$cache_flag = 'NO_CACHE'; +print "dbReturn '" . $cache_flag . "': " . $q_db_ret . "
"; +// 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) ? + "Bool: " . $db->log->prBl($res) : + (is_array($res) ? + "Array: " . $db->log->prBl(is_array($res)) : '{-}') + ) . ", " + . "cursor_ext:
" . Support::printAr($db->dbGetCursorExt($q_db_ret)) . "
"; + print "Run time: " . RunningTime::hrRunningTime() . "
"; +} +// reset all data +$db->dbCacheReset($q_db_ret); +print "
"; +print "Overall Run time: " . RunningTime::hrRunningTimeFromStart() . "
"; + +// __END__ diff --git a/www/admin/class_test.db.php b/www/admin/class_test.db.php index 8c21987d..a6cd2662 100644 --- a/www/admin/class_test.db.php +++ b/www/admin/class_test.db.php @@ -44,6 +44,7 @@ print ""; print "" . $PAGE_NAME . ""; print ""; print '
Class Test Master
'; +print '
Class Test DB dbReturn
'; print '

' . $PAGE_NAME . '

'; print "LOGFILE NAME: " . $db->log->getSetting('log_file_name') . "
"; @@ -72,6 +73,8 @@ $db->dbSetEncoding('SJIS'); print "ENCODING TEST: " . $db->dbVersionInfo('client_encoding') . "/" . $db->dbGetEncoding() . "
"; $db->dbResetEncoding(); +// TEST CACHE READS + $res = $db->dbReturn("SELECT * FROM max_test"); print "DB RETURN ROWS: " . $db->dbGetNumRows() . "
"; @@ -97,6 +100,12 @@ print "NO CACHED DATA:
" . print_r($db->dbGetCursorExt(), true) . "
"; // } +// dbReturn tests on separate page +print "
"; +print "dbReturn CACHE tests
"; +print 'Class Test DB dbReturn
'; +print "
"; + print "
";
 
 print "SOCKET: " . pg_socket($db->dbGetDbh()) . "
"; @@ -182,7 +191,6 @@ print "UPDATE WITH PK " . $last_insert_pk . "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | " . "RETURNING ARRAY: " . print_r($db->dbGetReturningArray(), true) . "
"; - // INSERT WITH NO RETURNING $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) . " |
" @@ -222,7 +230,6 @@ if ( } } - # db write class test $table = 'test_foo'; print "TABLE META DATA: " . DgS::printAr($db->dbShowTableMetaData($table)) . "
"; diff --git a/www/admin/class_test.php b/www/admin/class_test.php index 37be6278..695ad5d6 100644 --- a/www/admin/class_test.php +++ b/www/admin/class_test.php @@ -54,6 +54,7 @@ print "TEST CLASS"; print ""; print '
Class Test: DB
'; +print '
Class Test: DB dbReturn
'; print '
Class Test: COLORS
'; print '
Class Test: MIME
'; print '
Class Test: JSON
'; @@ -75,6 +76,7 @@ print '
Class Test: RANDOM KEY
' print '
Class Test: SYSTEM
'; print '
Class Test: READ ENV FILE
'; print '
Class Test: RUNNING TIME
'; +print '
Class Test: MEMORY USAGE
'; print '
Class Test: DEBUG
'; print '
Class Test: OUTPUT FORM
'; print '
Class Test: BACKEND ADMIN CLASS
';