ajout genbool

This commit is contained in:
Jephté Clain 2025-06-16 17:56:20 +04:00
parent 04e7dab54e
commit a44da62b94
2 changed files with 15 additions and 3 deletions

View File

@ -45,10 +45,19 @@ abstract class CapacitorStorage {
const GENLIC_DEFINITION = "varchar(80)";
const GENLIB_DEFINITION = "varchar(255)";
const GENTEXT_DEFINITION = "mediumtext";
const GENBOOL_DEFINITION = "integer(1)";
const GENUUID_DEFINITION = "varchar(36)";
protected static function gencol($def): string {
if (!is_string($def)) $def = strval($def);
$def = trim($def);
$parts = preg_split('/\s+/', $def, 2);
if (count($parts) == 2) {
$def = $parts[0];
$rest = " $parts[1]";
} else {
$rest = null;
}
switch ($def) {
case "serdata": $def = static::SERDATA_DEFINITION; break;
case "sersum": $def = static::SERSUM_DEFINITION; break;
@ -57,9 +66,10 @@ abstract class CapacitorStorage {
case "genlic": $def = static::GENLIC_DEFINITION; break;
case "genlib": $def = static::GENLIB_DEFINITION; break;
case "gentext": $def = static::GENTEXT_DEFINITION; break;
case "genbool": $def = static::GENBOOL_DEFINITION; break;
case "genuuid": $def = static::GENUUID_DEFINITION; break;
}
return $def;
return "$def$rest";
}
const COLUMN_DEFINITIONS = [
@ -365,8 +375,9 @@ abstract class CapacitorStorage {
$values = func::call([$channel, "getItemValues"], $item, ...$args);
if ($values === [false]) return 0;
$newItem = A::pop($values, "item");
if ($newItem !== null) $item = $newItem;
if (array_key_exists("item", $values)) {
$item = A::pop($values, "item");
}
$row = cl::merge(
$channel->getSum("item", $item),

View File

@ -11,6 +11,7 @@ class PgsqlStorage extends CapacitorStorage {
const SERTS_DEFINITION = "timestamp";
const GENSERIAL_DEFINITION = "serial primary key";
const GENTEXT_DEFINITION = "text";
const GENBOOL_DEFINITION = "boolean";
const GENUUID_DEFINITION = "uuid";
function __construct($pgsql) {