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

Reply via email to