1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-05 06:07:32 +02:00

Fixed regression from 9a5ac5b

Regression fixed: Diff wasn't being set
This commit is contained in:
Nick Liu
2018-01-23 08:38:31 -06:00
parent 9a5ac5b21a
commit c959610f7d

View File

@@ -136,7 +136,7 @@ class db_verify
/** /**
* Permissive field validation * Permissive field validation
*/ */
private function validateFieldPermissive($expected, $actual) private function diffFieldPermissive($expected, $actual)
{ {
// Permit actual text types that default to null even when // Permit actual text types that default to null even when
// expected does not explicitly default to null // expected does not explicitly default to null
@@ -153,7 +153,8 @@ class db_verify
$expected['default'] = preg_replace("/DEFAULT '(\d+)'/i", 'DEFAULT $1', $expected['default']); $expected['default'] = preg_replace("/DEFAULT '(\d+)'/i", 'DEFAULT $1', $expected['default']);
$actual['default'] = preg_replace("/DEFAULT '(\d+)'/i", 'DEFAULT $1', $actual['default'] ); $actual['default'] = preg_replace("/DEFAULT '(\d+)'/i", 'DEFAULT $1', $actual['default'] );
} }
return !count($off = array_diff_assoc($expected, $actual));
return array_diff_assoc($expected, $actual);
} }
/** /**
@@ -370,11 +371,11 @@ class db_verify
$this->results[$tbl][$field]['_valid'] = $info; $this->results[$tbl][$field]['_valid'] = $info;
$this->results[$tbl][$field]['_file'] = $selection; $this->results[$tbl][$field]['_file'] = $selection;
} }
elseif(!$this->validateFieldPermissive($info, $sqlFieldData[$field])) elseif(count($diff = $this->diffFieldPermissive($info, $sqlFieldData[$field])))
{ {
$this->errors[$tbl]['_status'] = 'mismatch'; $this->errors[$tbl]['_status'] = 'mismatch';
$this->results[$tbl][$field]['_status'] = 'mismatch'; $this->results[$tbl][$field]['_status'] = 'mismatch';
$this->results[$tbl][$field]['_diff'] = $off; $this->results[$tbl][$field]['_diff'] = $diff;
$this->results[$tbl][$field]['_valid'] = $info; $this->results[$tbl][$field]['_valid'] = $info;
$this->results[$tbl][$field]['_invalid'] = $sqlFieldData[$field]; $this->results[$tbl][$field]['_invalid'] = $sqlFieldData[$field];
$this->results[$tbl][$field]['_file'] = $selection; $this->results[$tbl][$field]['_file'] = $selection;
@@ -398,14 +399,14 @@ class db_verify
$this->indices[$tbl][$field]['_valid'] = $info; $this->indices[$tbl][$field]['_valid'] = $info;
$this->indices[$tbl][$field]['_file'] = $selection; $this->indices[$tbl][$field]['_file'] = $selection;
} }
elseif(count($offin = array_diff_assoc($info,$sqlIndexData[$field]))) // missmatch data elseif(count($diff = $this->diffFieldPermissive($info, $sqlIndexData[$field]))) // mismatched data
{ {
// print_a($info); // print_a($info);
// print_a($sqlIndexData[$field]); // print_a($sqlIndexData[$field]);
$this->errors[$tbl]['_status'] = 'mismatch_index'; $this->errors[$tbl]['_status'] = 'mismatch_index';
$this->indices[$tbl][$field]['_status'] = 'mismatch'; $this->indices[$tbl][$field]['_status'] = 'mismatch';
$this->indices[$tbl][$field]['_diff'] = $offin; $this->indices[$tbl][$field]['_diff'] = $diff;
$this->indices[$tbl][$field]['_valid'] = $info; $this->indices[$tbl][$field]['_valid'] = $info;
$this->indices[$tbl][$field]['_invalid'] = $sqlIndexData[$field]; $this->indices[$tbl][$field]['_invalid'] = $sqlIndexData[$field];
$this->indices[$tbl][$field]['_file'] = $selection; $this->indices[$tbl][$field]['_file'] = $selection;