Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 24 On-line CPU(s) list: 0-23 Vendor ID: GenuineIntel CPU family: 6 Model: 45 Model name: Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz Stepping: 7 CPU MHz: 2499.711 BogoMIPS: 5000.02 Virtualization: VT-x #### total used free shared buffers cached Mem: 96455 65478 30976 0 4752 53994 -/+ buffers/cache: 6730 89724 Swap: 949 0 949 #### sub get_udx_media_relations { my $SupplierID = shift; my $SupplierPID = shift; my $return; my $query = qq|SELECT ProviderID, SourceID, Folder, Filename, Extension, Purpose, Rank, Priority, Width, Height FROM CT_Media_Relations WHERE SupplierID = '$SupplierID' AND SupplierPID = '$SupplierPID' AND isDeleted != 'Yes' GROUP BY Filename, Extension ORDER BY Priority DESC, Rank ASC|; my $sth = $DB->table('CT_Media_Relations')->prepare ($query) || die $GX::SQL::error; $sth->execute (); my ($prev_priority); while ($_ = $sth->fetchrow_hashref) { if ($prev_priority->{$_->{Purpose}} > $_->{Priority}) { next unless $_->{Purpose} eq 'PDB'; } #get rid of mds when manufacturer is present (4 vs 5) if ($_->{Purpose} eq 'AAB' or $_->{Purpose} eq 'EBD' or $_->{Purpose} eq 'PBS' or $_->{Purpose} eq 'PRI') { if ($prev_priority->{IMG} > $_->{Priority}) { next; } else { $prev_priority->{IMG} = $_->{Priority}; } } $prev_priority->{$_->{Purpose}} = $_->{Priority}; if ($_->{Purpose} eq 'PRI' && !$return->{Primary}->{path}) { $return->{Primary} = $_; $return->{Primary}->{path} = '/dx/' . $_->{ProviderID} . "/" . $_->{SourceID}; $return->{Primary}->{filename} = $_->{Filename} . '.' . $_->{Extension}; $return->{Primary}->{filename} = $_->{Folder} . '/' . $return->{Primary}->{filename} if $_->{Folder}; } my $media = $_; $media->{path} = '/dx/' . $_->{ProviderID} . "/" . $_->{SourceID}; $media->{filename} = $_->{Filename} . '.' . $_->{Extension}; $media->{filename} = $_->{Folder} . '/' . $media->{filename} if $_->{Folder}; push(@{$return->{$_->{Purpose}}}, $media); } push(@{$return->{IMG}}, @{$return->{EBD}}) if defined(@{$return->{EBD}}); if ( not defined(@{$return->{IMG}}) and defined (@{$return->{PBS}}) ) { push(@{$return->{IMG}}, @{$return->{PBS}}); } push(@{$return->{IMG}}, @{$return->{AAB}}) if defined(@{$return->{AAB}}); if (defined @{$return->{IMG}} && (!$return->{Primary} || $return->{Primary}->{Priority} < $return->{IMG}[0]->{Priority})) { $return->{Primary} = shift @{$return->{IMG}}; } push(@{$return->{IMG}}, @{$return->{PAB}}) if defined(@{$return->{PAB}}); push(@{$return->{IMG}}, @{$return->{DET}}) if defined(@{$return->{DET}}); return $return; }