CC-3771: year column in cc_files sometimes has values greater than 2^31-1, which causes postgresql to fail when trying to convert this to a year.
-better way to do this...
This commit is contained in:
parent
0c6144a0f6
commit
80861bc643
|
@ -91,27 +91,6 @@ class Application_Model_StoredFile {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$dbMd = array();
|
$dbMd = array();
|
||||||
|
|
||||||
if (isset($p_md["MDATA_KEY_YEAR"])){
|
|
||||||
// We need to make sure to clean this value before inserting into database.
|
|
||||||
// If value is outside of range [-2^31, 2^31-1] then postgresl will throw error
|
|
||||||
// when trying to retrieve this value. We could make sure number is within these bounds,
|
|
||||||
// but simplest is to do substring to 4 digits (both values are garbage, but at least our
|
|
||||||
// new garbage value won't cause errors). If the value is 2012-01-01, then substring to
|
|
||||||
// 4 digits is an OK result.
|
|
||||||
// CC-3771
|
|
||||||
|
|
||||||
$year = $p_md["MDATA_KEY_YEAR"];
|
|
||||||
|
|
||||||
if (strlen($year) > 4){
|
|
||||||
$year = substr($year, 0, 4);
|
|
||||||
}
|
|
||||||
if (!is_numeric($year)){
|
|
||||||
$year = 0;
|
|
||||||
}
|
|
||||||
$p_md["MDATA_KEY_YEAR"] = $year;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($p_md as $mdConst => $mdValue) {
|
foreach ($p_md as $mdConst => $mdValue) {
|
||||||
$dbMd[constant($mdConst)] = $mdValue;
|
$dbMd[constant($mdConst)] = $mdValue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -198,7 +198,7 @@ class AirtimeMetadata:
|
||||||
md['MDATA_KEY_CONDUCTOR'] = self.truncate_to_length(md['MDATA_KEY_CONDUCTOR'], 512)
|
md['MDATA_KEY_CONDUCTOR'] = self.truncate_to_length(md['MDATA_KEY_CONDUCTOR'], 512)
|
||||||
|
|
||||||
if 'MDATA_KEY_YEAR' in md:
|
if 'MDATA_KEY_YEAR' in md:
|
||||||
md['MDATA_KEY_YEAR'] = self.truncate_to_length(md['MDATA_KEY_YEAR'], 16)
|
md['MDATA_KEY_YEAR'] = self.truncate_to_length(md['MDATA_KEY_YEAR'], 4)
|
||||||
|
|
||||||
if 'MDATA_KEY_URL' in md:
|
if 'MDATA_KEY_URL' in md:
|
||||||
md['MDATA_KEY_URL'] = self.truncate_to_length(md['MDATA_KEY_URL'], 512)
|
md['MDATA_KEY_URL'] = self.truncate_to_length(md['MDATA_KEY_URL'], 512)
|
||||||
|
|
Loading…
Reference in New Issue