Ham handed attempt to try and find the maximum revision date.

This commit is contained in:
Colin Kuskie 2010-12-23 00:24:56 -08:00
parent 4e0e62b202
commit b80b044202

View file

@ -65,11 +65,14 @@ my $totalAsset = $session->db->quickScalar('SELECT COUNT(*) FROM asset');
my $totalAssetData = $session->db->quickScalar('SELECT COUNT( DISTINCT( assetId ) ) FROM assetData' );
my $total = $totalAsset >= $totalAssetData ? $totalAsset : $totalAssetData;
# Order by to put corrupt parents before corrupt children
# Order by lineage to put corrupt parents before corrupt children
# Join assetData to get all asset and assetData
my $sql = "SELECT * FROM asset LEFT JOIN assetData USING ( assetId ) GROUP BY assetId ORDER BY lineage ASC";
my $sth = $session->db->read($sql);
##Guarantee that we get the most recent revisionDate
my $max_revision = $session->db->prepare('select max(revisionDate) from assetData where assetId=?');
my $count = 1;
my %classTables; # Cache definition lookups
while ( my %row = $sth->hash ) {
@ -85,6 +88,8 @@ while ( my %row = $sth->hash ) {
eval "require $row{className}";
[ map { $_->{tableName} } reverse @{ $row{className}->definition($session) } ];
};
$max_revision->execute([$row{assetId}]);
($row{revisionDate}) = $max_revision->array();
$row{revisionDate} ||= time;
for my $table ( @{$classTables} ) {