Hi Peter,

I've recently investigated exactly the question you've asked.  The
answer I arrived at is:

Setting cacheValues=False does exactly what the name suggests - it
prevents caching of the values (fields) associated with an object.  So
with cacheValues=False obj.value retrieves value from the database. 
With cacheValues set to True, obj.value main simply returns a cached
value from the Python object.  Notably, cacheValues has no effect on
whether the objects themselves are retained in SQLObject's object
cache.  Explicitly removing an object from the object cache requires a
call to obj.expire().

If there is a bug, it is that I would expect SQLObject's cache not to
grow indefinitely.  The reason it does is that the code to check the
cache size is only called when something attempts to *fetch* an object
from the cache.  If you're only creating objects (as I was) then
things are only added to the cache (never fetched) and the cache grows
indefinitely unless you manually expire objects.

Schiavo
Simon
--
oooooooooooooooooooooooooooooooooooooooooo
[ hodgestar.za.net ]
In the end, we all choose our own morality.
oooooooooooooooooooooooooooooooooooooooooo


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to