From 1f0b19a609d6523fba99704bff3471c3afc375cd Mon Sep 17 00:00:00 2001 From: JT Smith Date: Sun, 11 Sep 2005 01:30:11 +0000 Subject: [PATCH] fixing a problem with long keys in utf-8 encoded database tables --- docs/upgrades/upgrade_6.7.3-6.7.4.pl | 3 ++- lib/WebGUI/Asset.pm | 13 ++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/docs/upgrades/upgrade_6.7.3-6.7.4.pl b/docs/upgrades/upgrade_6.7.3-6.7.4.pl index fb47d19a9..bca663d85 100644 --- a/docs/upgrades/upgrade_6.7.3-6.7.4.pl +++ b/docs/upgrades/upgrade_6.7.3-6.7.4.pl @@ -23,7 +23,8 @@ finish(); #------------------------------------------------- sub makeQueriesFaster { print "\tMaking queries a little faster.\n" unless ($quiet); - WebGUI::SQL->write("alter table assetData add index assetId_url_revisionDate_status_tagId (assetId,url,revisionDate,status,tagId)"); + WebGUI::SQL->write("alter table assetData add index assetId_url (assetId,url)"); + WebGUI::SQL->write("alter table assetData add index assetId_revisionDate_status_tagId (assetId,revisionDate,status,tagId)"); WebGUI::SQL->write("alter table asset add index className_assetId_state (className,assetId,state)"); } diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index 84692f181..278d9103f 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -1074,26 +1074,21 @@ sub newByUrl { $url =~ s/\"//; my $asset; if ($url ne "") { - my ($id, $class, $version) = WebGUI::SQL->quickArray(" + my ($id, $class) = WebGUI::SQL->quickArray(" select asset.assetId, - asset.className, - max(assetData.revisionDate) + asset.className from asset left join assetData on asset.assetId=assetData.assetId where - assetData.url=".quote($url)." and - ( - assetData.status='approved' or assetData.status='archived' or - assetData.tagId=".quote($session{scratch}{versionTag})." - ) + assetData.url=".quote($url)." group by assetData.assetId "); if ($id ne "" || $class ne "") { - return WebGUI::Asset->new($id, $class, $version); + return WebGUI::Asset->new($id, $class); } else { WebGUI::ErrorHandler::warn("The URL $url was requested, but does not exist in your asset tree."); return undef;