nb_post_sys_infos() {
(
- sys_infos | while IFS=$'\t' read -r -a i; do
- #eval "nb_api_post host_info \"key=${i[0]}\" \"val=${i[1]}\""
- nb_api_post host_info "key=${i[0]}" "val=${i[1]}"
+ sys_infos | while IFS=$'\t' read -r key val; do
+ nb_api_post host_info "key=$key" "val=$val"
done
) | sed 's/^/nb_post_sys_infos: /'
}
-
#$arr = ['rent'=>'Rent','nb'=>'Nb'];
#if (!empty($argv) and $argv[1] == 'zaza') bye($arr);
-if (defined('PRODUCTION')) {
+if (defined('PRODUCTION') and PRODUCTION) {
define('DB_DEFAUL_ERRMODE',PDO::ERRMODE_SILENT);
} else {
define('DB_DEFAUL_ERRMODE',PDO::ERRMODE_EXCEPTION);
if (is_scalar($attr)) $attr = ['name'=>$attr];
foreach ($attr as $k => $v) { $this->$k = $v; }
if ($this->default == "''") $this->default = '';
+# NB 12.12.17 if (strtoupper($this->default) == "NULL") $this->default = null;
+ #if (strtoupper($this->default) == "NOW()") $this->default = null;
+ if (strtoupper($this->default) == "NOW()") $this->default = date("Y-m-d H:i:s.u");
+ if (strtoupper($this->default) == "CURRENT_TIMESTAMP)") $this->default = date("Y-m-d H:i:s.u");
+ if (strtoupper($this->default) == "CURRENT_DATE)") $this->default = date("Y-m-d");
}
public function autoincrement() {
// Default
return $field->sql_name().' '.$field->type
-# NB 27.10.16 .($field->null ? ' NULL' : ' NOT NULL')
.($field->null ? '' : ' NOT NULL')
.($field->default !== null ? ' DEFAULT '.$field->quote($field->default,true) : '')
.($field->key ? ' PRIMARY KEY' : '')
$sql_names = $fields = $values = [];
foreach ($this->fields() as $name => $field) {
+ #if (!isset($post[$this->field_preff.$name]) and isset($field->default))
if (!isset($post[$this->field_preff.$name])) continue;
if ($field->key and $field->autoincrement()) continue;
if (!empty($info['sql_fct'])) {
$fct = $info['sql_fct'];
- $fct($sql,$this);
+ $fct($sql,$this,$fields);
}
$info['sql'] = $sql;
continue;
}
- $_value = isset($post[$this->key_preff.$name]) ? $post[$this->key_preff.$name] : null;
+# NB 12.12.17 $_value = isset($post[$this->key_preff.$name]) ? $post[$this->key_preff.$name] : null;
- if ($_value) {
+ if (isset($post[$this->key_preff.$name])) {
$fields[] = $name;
- $fields_values[] = $value;
- $keys_values[] = $_value;
+ $fields_values[] = $post[$this->key_preff.$name];
+ $keys_values[] = $post[$this->key_preff.$name];
} else {
$keys_values[] = $value;
<?php
$DB_TYPES['pgsql'] = array (
'delete_no_limit' => true,
-'replace_insert' => function(&$sql,&$table) {
+'replace_insert' => function(&$sql,&$table,$fields=[]) {
$keys = $table->fields_keys($others);
#if ($table->p('debug')) {
- $sql .= ' ON CONFLICT ('.join(',',array_keys($keys)).') DO UPDATE ';
- $sql .= ' SET ' . join(',',$table->ar_map('"$a=:$a"',array_keys($others)));
+ if (!empty($fields)) $others = $fields;
+ $sql .= ' ON CONFLICT ('.join(',',array_keys($keys)).') DO UPDATE';
+ $sql .= ' SET ' . join(',',$table->ar_map('"$a=:$a"',array_keys($others)));
#$info['debug'] = [$keys,$others];
},
'extra_where' => 'denorm',
host VARCHAR(200),
key VARCHAR(100) NOT NULL,
val VARCHAR(500) NOT NULL,
- created TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- PRIMARY KEY (host,key,created)
+ updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ -- PRIMARY KEY (host,key,updated)
+ PRIMARY KEY (host,key)
);
CREATE INDEX IF NOT EXISTS host_info_host ON host_info USING btree (host);
CREATE INDEX IF NOT EXISTS host_info_key ON host_info USING btree (key);
CREATE INDEX IF NOT EXISTS host_info_val ON host_info USING btree (val);
-CREATE INDEX IF NOT EXISTS host_info_created ON host_info USING btree (created);
+CREATE INDEX IF NOT EXISTS host_info_updated ON host_info USING btree (updated);
GRANT ALL ON host_info TO www;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
- if ($DBQ_CONF_FILE = "") { set $DBQ_CONF_FILE $document_root/../../../etc/dbq/000-local.php; }
fastcgi_param DBQ_TITLE $DBQ_TITLE;
+ if ($DBQ_CONF_FILE = "") { set $DBQ_CONF_FILE $document_root/../../../etc/dbq/000-local.php; }
fastcgi_param DBQ_CONF_FILE $DBQ_CONF_FILE;
fastcgi_param DBQ_PERM $DBQ_PERM;
+ if ($DBQ_PROD = "") { set $DBQ_PROD ""; }
+ fastcgi_param PRODUCTION $DBQ_PROD;
}