stricter checking of null fields when restoring HotPots in order to avoid unwanted chars being inserted into empty char fields on PostgreSQL sites

This commit is contained in:
gbateson
2009-09-25 06:22:00 +00:00
parent faf5d6b33d
commit 08a43cac5e
+8 -11
View File
@@ -362,17 +362,14 @@ function hotpot_restore_record(&$restore, $status, &$xml, $table, $foreign_keys,
foreach ($table_columns[$table] as $column) {
if ($column->not_null) {
$name = $column->name;
if ($name<>'id' && empty($record->$name)) {
if (isset($column->default_value)) {
$default = $column->default_value;
} else {
if (preg_match('/int|decimal|double|float|time|year/i', $column->type)) {
$default = 0;
} else {
$default = '';
}
}
$record->$name = $default;
if ($name=='id' || (isset($record->$name) && ! is_null($record->$name))) {
// do nothing
} else if (isset($column->default_value)) {
$record->$name = $column->default_value;
} else if (preg_match('/int|decimal|double|float|time|year/i', $column->type)) {
$record->$name = 0;
} else {
$record->$name = '';
}
}
}