diff --git a/docs/upgrades/upgrade_7.6.11-7.6.12.pl b/docs/upgrades/upgrade_7.6.11-7.6.12.pl index 8e70c4ae1..322f3ff49 100644 --- a/docs/upgrades/upgrade_7.6.11-7.6.12.pl +++ b/docs/upgrades/upgrade_7.6.11-7.6.12.pl @@ -31,6 +31,7 @@ my $quiet; # this line required my $session = start(); # this line required addAssetDiscoveryServiceAgain( $session ); +changeMatrixAttributeIndexing( $session ); # upgrade functions go here @@ -66,7 +67,13 @@ sub addAssetDiscoveryServiceAgain { print "Done.\n" unless $quiet; } - +#---------------------------------------------------------------------------- +sub changeMatrixAttributeIndexing { + my $session = shift; + print "\tChanging Matrix attribute indexing..." unless $quiet; + $session->db->write("alter table MatrixListing_attribute drop primary key, add primary key(attributeId,matrixListingId)"); + print "Done.\n" unless $quiet; +} # -------------- DO NOT EDIT BELOW THIS LINE -------------------------------- diff --git a/lib/WebGUI/Asset/Wobject/Matrix.pm b/lib/WebGUI/Asset/Wobject/Matrix.pm index ee9224368..019e488c4 100644 --- a/lib/WebGUI/Asset/Wobject/Matrix.pm +++ b/lib/WebGUI/Asset/Wobject/Matrix.pm @@ -965,8 +965,8 @@ assetData.revisionDate foreach my $result (@results){ if($form->process("search")){ my $matrixListing_attributes = $session->db->buildHashRefOfHashRefs(" - select value, fieldType, attributeId from MatrixListing_attribute as listing - left join Matrix_attribute using(attributeId) + select value, fieldType, attributeId from Matrix_attribute + left join MatrixListing_attribute as listing using(attributeId) where listing.matrixListingId = ? order by value asc", [$result->{assetId}],'attributeId'); PARAM: foreach my $param (@searchParams_sorted) { @@ -1063,6 +1063,7 @@ sub www_getCompareListData { [$category,$self->getId,@listingIds] ) }); } + foreach my $result (@results){ if($result->{fieldType} eq 'category'){ # Row starting with a category label shows the listing name in each column @@ -1096,8 +1097,8 @@ sub www_getCompareListData { } } } - $jsonOutput->{ResultSet} = {Result=>\@results}; + $jsonOutput->{ResultSet} = {Result=>\@results}; $session->http->setMimeType("application/json"); return JSON->new->encode($jsonOutput);