Are you certain this works with _uncacheable_ pipelines? The pipeline implementation I think only caches a pipeline up to the last cacheable component whether you have set this expires attribute or not. That is there I think just for http header in the response for proxy friendlyness. If I'm right, since the SQLTransformer does not implement Cacheable (or whatever) the pipeline will never cache it.
I just made a quick glance at the source for AbstractProcessingPipeline, and you're right; It sets an Expires header, but does not cache the result. It would be possible to add in some code that if the resource has no validity objects and the pipeline has an expiry, it creates a dummy validity object that, if asked, always returns "invalid" but has the expires timestamp set to maintain the entry.
Sound reasonable?
This was the only missing piece yet, and I wanted to tackle it when I'll be back from vacation. I like your approach, so if you feel like coding it, please go ahead. :-)
Ciao,
-- Gianugo Rabellino Pro-netics s.r.l. - http://www.pro-netics.com Orixo, the XML business alliance - http://www.orixo.com (Now blogging at: http://blogs.cocoondev.org/gianugo/)
