diff --git a/www/admin/class_test.db.dbReturn.php b/www/admin/class_test.db.dbReturn.php
index 686e394b..8ca37fdb 100644
--- a/www/admin/class_test.db.dbReturn.php
+++ b/www/admin/class_test.db.dbReturn.php
@@ -67,12 +67,30 @@ $q_db_ret = "SELECT * FROM test_db_return ORDER BY uid";
RunningTime::hrRunningTime();
+$cache_flag = '[DEFAULT] NO_CACHE (0)';
+print "dbReturn '" . $cache_flag . "'/Default: " . $q_db_ret . "
";
+// 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(
+ SetVarType::setArray($db->dbGetCursorExt($q_db_ret))
+ ) . "
";
+ print "Run time: " . RunningTime::hrRunningTime() . "
";
+}
+print "
";
+
$cache_flag = 'USE_CACHE (0)';
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);
+ $res = $db->dbReturn($q_db_ret, $db::USE_CACHE);
print $i . ") " . $cache_flag . ": "
. "res: " . (is_bool($res) ?
"Bool: " . $db->log->prBl($res) :
diff --git a/www/admin/class_test.db.php b/www/admin/class_test.db.php
index c79b6a22..5ca62573 100644
--- a/www/admin/class_test.db.php
+++ b/www/admin/class_test.db.php
@@ -314,6 +314,46 @@ print "EOM STRING EXEC RETURN TEST: " . print_r(
)
) . "
";
echo "
";
+// binary insert tests
+$filename = $db->dbEscapeLiteral('class_test.db.php');
+$rand_bin_uid = $db->dbEscapeLiteral(\CoreLibs\Create\Uids::uniqIdShort());
+$binary_data = $db->dbEscapeBytea(file_get_contents('class_test.db.php') ?: '');
+$query = <<dbExec($query);
+$__last_insert_id = $db->dbGetInsertPK();
+print "BINARY DATA INSERT: "
+ . Support::printToString($status) . " |
"
+ . " |
"
+ . "PRIMARY KEY: " . Support::printToString($db->dbGetInsertPK()) . " | "
+ . "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | "
+ . "RETURNING RETURN: " . print_r($db->dbGetReturningArray(), true)
+ . "ERROR: " . $db->dbGetLastError(true) . "
";
+
+echo "*
";
+$query = <<dbExecParams($query, [$filename, $rand_bin_uid, $binary_data]);
+$__last_insert_id = $db->dbGetInsertPK();
+print "BINARY DATA INSERT PARAMS: "
+ . Support::printToString($status) . " |
"
+ . " |
"
+ . "PRIMARY KEY: " . Support::printToString($db->dbGetInsertPK()) . " | "
+ . "RETURNING EXT: " . print_r($db->dbGetReturningExt(), true) . " | "
+ . "RETURNING RETURN: " . print_r($db->dbGetReturningArray(), true)
+ . "ERROR: " . $db->dbGetLastError(true) . "
";
+
+echo "
";
// returning test with multiple entries
// $status = $db->db_exec(
diff --git a/www/composer.lock b/www/composer.lock
index f62d024a..bf73809f 100644
--- a/www/composer.lock
+++ b/www/composer.lock
@@ -8,11 +8,11 @@
"packages": [
{
"name": "egrajp/corelibs-composer-all",
- "version": "dev-master",
+ "version": "dev-development",
"dist": {
"type": "path",
"url": "/storage/var/www/html/developers/clemens/core_data/composer-packages/CoreLibs-Composer-All",
- "reference": "4a246bec5f8e9944a77e1997f0f40c7f4f936528"
+ "reference": "0e6a43a2c286dcd78720287c344891db633edbfd"
},
"require": {
"php": ">=8.1"
diff --git a/www/vendor/composer/installed.json b/www/vendor/composer/installed.json
index 3c379db4..49abe737 100644
--- a/www/vendor/composer/installed.json
+++ b/www/vendor/composer/installed.json
@@ -2,12 +2,12 @@
"packages": [
{
"name": "egrajp/corelibs-composer-all",
- "version": "dev-master",
- "version_normalized": "dev-master",
+ "version": "dev-development",
+ "version_normalized": "dev-development",
"dist": {
"type": "path",
"url": "/storage/var/www/html/developers/clemens/core_data/composer-packages/CoreLibs-Composer-All",
- "reference": "4a246bec5f8e9944a77e1997f0f40c7f4f936528"
+ "reference": "0e6a43a2c286dcd78720287c344891db633edbfd"
},
"require": {
"php": ">=8.1"
diff --git a/www/vendor/composer/installed.php b/www/vendor/composer/installed.php
index 37788099..11340130 100644
--- a/www/vendor/composer/installed.php
+++ b/www/vendor/composer/installed.php
@@ -11,9 +11,9 @@
),
'versions' => array(
'egrajp/corelibs-composer-all' => array(
- 'pretty_version' => 'dev-master',
- 'version' => 'dev-master',
- 'reference' => '4a246bec5f8e9944a77e1997f0f40c7f4f936528',
+ 'pretty_version' => 'dev-development',
+ 'version' => 'dev-development',
+ 'reference' => '0e6a43a2c286dcd78720287c344891db633edbfd',
'type' => 'library',
'install_path' => __DIR__ . '/../egrajp/corelibs-composer-all',
'aliases' => array(),
diff --git a/www/vendor/egrajp/corelibs-composer-all/publish/last.published b/www/vendor/egrajp/corelibs-composer-all/publish/last.published
index 8104cabd..0e791524 100644
--- a/www/vendor/egrajp/corelibs-composer-all/publish/last.published
+++ b/www/vendor/egrajp/corelibs-composer-all/publish/last.published
@@ -1 +1 @@
-8.1.0
+8.1.1
diff --git a/www/vendor/egrajp/corelibs-composer-all/src/DB/IO.php b/www/vendor/egrajp/corelibs-composer-all/src/DB/IO.php
index 8f651593..f54cc823 100644
--- a/www/vendor/egrajp/corelibs-composer-all/src/DB/IO.php
+++ b/www/vendor/egrajp/corelibs-composer-all/src/DB/IO.php
@@ -1821,7 +1821,7 @@ class IO
* Wrapper for dbReturnParams
*
* @param string $query Query string
- * @param int $cache reset status: default: USE_CACHE
+ * @param int $cache reset status: default: NO_CACHE
* USE_CACHE/0: normal read from cache on second run
* READ_NEW/1: write to cache, clean before new run
* CLEAR_CACHE/2: write cache, clean after finished
@@ -1833,7 +1833,7 @@ class IO
*/
public function dbReturn(
string $query,
- int $cache = self::USE_CACHE,
+ int $cache = self::NO_CACHE,
bool $assoc_only = false
): array|false {
return $this->dbReturnParams($query, [], $cache, $assoc_only);
@@ -1856,7 +1856,7 @@ class IO
*
* @param string $query Query string
* @param array $params Query parameters
- * @param int $cache reset status: default: USE_CACHE
+ * @param int $cache reset status: default: NO_CACHE
* USE_CACHE/0: normal read from cache on second run
* READ_NEW/1: write to cache, clean before new run
* CLEAR_CACHE/2: write cache, clean after finished
@@ -1868,7 +1868,7 @@ class IO
public function dbReturnParams(
string $query,
array $params = [],
- int $cache = self::USE_CACHE,
+ int $cache = self::NO_CACHE,
bool $assoc_only = false
): array|false {
$this->__dbErrorReset();
diff --git a/www/vendor/egrajp/corelibs-composer-all/test/phpunit/DB/CoreLibsDBIOTest.php b/www/vendor/egrajp/corelibs-composer-all/test/phpunit/DB/CoreLibsDBIOTest.php
index 1a052255..0ee6e878 100644
--- a/www/vendor/egrajp/corelibs-composer-all/test/phpunit/DB/CoreLibsDBIOTest.php
+++ b/www/vendor/egrajp/corelibs-composer-all/test/phpunit/DB/CoreLibsDBIOTest.php
@@ -2142,7 +2142,7 @@ final class CoreLibsDBIOTest extends TestCase
return [
// *** READ STEP BY STEP
// default cache: USE_CACHE
- 'valid select, default cache settings' => [
+ 'valid select, default cache settings (NO_CACHE)' => [
// 0-3
$read_query,
null,
@@ -2156,9 +2156,7 @@ final class CoreLibsDBIOTest extends TestCase
// check cursor_ext
[
'cursor' => 'PgSql\Result',
- 'data' => [
- 0 => $row_a,
- ],
+ 'data' => [],
'field_names' => [
'row_int',
'uid'
@@ -2173,9 +2171,9 @@ final class CoreLibsDBIOTest extends TestCase
'query' => $read_query,
'params' => [],
'read_rows' => 1,
- 'cache_flag' => \CoreLibs\DB\IO::USE_CACHE,
+ 'cache_flag' => \CoreLibs\DB\IO::NO_CACHE,
'assoc_flag' => false,
- 'cached' => true,
+ 'cached' => false,
'finished' => false,
'read_finished' => false,
'db_read_finished' => false,
@@ -2190,10 +2188,7 @@ final class CoreLibsDBIOTest extends TestCase
],
'cursor' => [
'cursor' => 'PgSql\Result',
- 'data' => [
- 0 => $row_a,
- 1 => $row_b,
- ],
+ 'data' => [],
'field_names' => [
'row_int',
'uid'
@@ -2208,9 +2203,9 @@ final class CoreLibsDBIOTest extends TestCase
'query' => $read_query,
'params' => [],
'read_rows' => 2,
- 'cache_flag' => \CoreLibs\DB\IO::USE_CACHE,
+ 'cache_flag' => \CoreLibs\DB\IO::NO_CACHE,
'assoc_flag' => false,
- 'cached' => true,
+ 'cached' => false,
'finished' => false,
'read_finished' => true,
'db_read_finished' => true,
@@ -2221,10 +2216,7 @@ final class CoreLibsDBIOTest extends TestCase
'data' => false,
'cursor' => [
'cursor' => 1,
- 'data' => [
- 0 => $row_a,
- 1 => $row_b,
- ],
+ 'data' => [],
'field_names' => [
'row_int',
'uid'
@@ -2239,9 +2231,9 @@ final class CoreLibsDBIOTest extends TestCase
'query' => $read_query,
'params' => [],
'read_rows' => 2,
- 'cache_flag' => \CoreLibs\DB\IO::USE_CACHE,
+ 'cache_flag' => \CoreLibs\DB\IO::NO_CACHE,
'assoc_flag' => false,
- 'cached' => true,
+ 'cached' => false,
'finished' => true,
'read_finished' => true,
'db_read_finished' => true,
@@ -2811,13 +2803,50 @@ final class CoreLibsDBIOTest extends TestCase
],
// *** READ AS LOOP
// from here on a complex read all full tests
- 'valid select, full read DEFAULT CACHE' => [
+ 'valid select, full read, default cache settings (NO CACHE)' => [
$read_query,
null,
null,
null,
[$row_a, $row_b,],
false,
+ [
+ 'cursor' => 1,
+ 'data' => [],
+ 'field_names' => [
+ 'row_int',
+ 'uid'
+ ],
+ 'field_types' => [
+ 'int4',
+ 'varchar'
+ ],
+ 'num_fields' => 2,
+ 'num_rows' => 2,
+ 'pos' => 0,
+ 'query' => $read_query,
+ 'params' => [],
+ 'read_rows' => 2,
+ 'cache_flag' => \CoreLibs\DB\IO::NO_CACHE,
+ 'assoc_flag' => false,
+ 'cached' => false,
+ 'finished' => true,
+ 'read_finished' => true,
+ 'db_read_finished' => true,
+ ],
+ [],
+ '',
+ '',
+ $insert_query
+ ],
+ // USE CACHE
+ 'valid select, full read, USE CACHE' => [
+ $read_query,
+ null,
+ \CoreLibs\DB\IO::USE_CACHE,
+ null,
+ [$row_a, $row_b,],
+ false,
[
'cursor' => 1,
'data' => [
@@ -2851,7 +2880,7 @@ final class CoreLibsDBIOTest extends TestCase
$insert_query
],
// READ_NEW
- 'valid select, full read READ NEW' => [
+ 'valid select, full read, READ NEW' => [
$read_query,
null,
\CoreLibs\DB\IO::READ_NEW,
@@ -2891,7 +2920,7 @@ final class CoreLibsDBIOTest extends TestCase
$insert_query
],
// CLEAR_CACHE
- 'valid select, full read CLEAR CACHE' => [
+ 'valid select, full read, CLEAR CACHE' => [
$read_query,
null,
\CoreLibs\DB\IO::CLEAR_CACHE,
@@ -2928,7 +2957,7 @@ final class CoreLibsDBIOTest extends TestCase
'',
$insert_query
],
- 'valid select, full read NO CACHE' => [
+ 'valid select, full read, NO CACHE' => [
$read_query,
null,
\CoreLibs\DB\IO::NO_CACHE,
@@ -3070,7 +3099,7 @@ final class CoreLibsDBIOTest extends TestCase
* @covers ::dbCursorPos
* @covers ::dbCursorNumRows
* @dataProvider dbReturnProvider
- * @testdox dbReturn Read Frist $read_first_only only and cache $flag_cache and assoc $flag_assoc with (Warning: $warning/Error: $error) [$_dataName]
+ * @testdox dbReturn Read First $read_first_only only and cache $flag_cache and assoc $flag_assoc with (Warning: $warning/Error: $error) [$_dataName]
*
* @param string $query
* @param array|null $params
@@ -4358,7 +4387,7 @@ final class CoreLibsDBIOTest extends TestCase
// NOTE if there are different INSERTS before the primary keys
// will not match anymore. Must be updated by hand
// IMPORTANT: if this is stand alone the primary key will not match and fail
- $table_with_primary_key_id = 66;
+ $table_with_primary_key_id = 68;
// 0: query + returning
// 1: params
// 1: pk name for db exec