I changed SMW_DataValue.php to defer computing datavalue members desiredUnits, serviceLinks, and possibleValues until requested.
Without this, I verified that a simple inline query like [[Climate:=+]] makes five GetSpecialPropertyValues database queries for the special properties HAS_TYPE, MAIN_DISPLAY_UNIT, DISPLAY_UNIT, POSSIBLE_VALUES, and SERVICE_LINK, even though none is needed. So I'm pretty confident it's a performance win and I checked it in to SVN. It's working locally for me, I hope it doesn't break anything. The inline query still makes a GetSpecialPropertyValues query for SERVICE_LINK, because newAttributeValue() for each result winds up calling the datatype's processValue() which adds service links whether or not they're not needed. SMWDataValue->setUserValue() and SMWDataType->processValue() need to be refactored so they do the minimum work necessary, and other methods get the additional information from a datavalue and datatype. I filed bug 8961 for this. -- =S ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Semediawiki-devel mailing list Semediawiki-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/semediawiki-devel