[Mondrian] Another 2.4->3.x porting question

Eric McDermid mcdermid at stonecreek.com
Thu Jul 9 10:28:33 EDT 2009


Following up to my own question...

On further review, it turns out the cached order function is no longer  
used by the application in question, so I can just scrap it.  That  
still leaves me with the customized "Key" function, but that's easy  
enough to jury-rig into a local fork.

  -- Eric

On Jun 26, 2009, at 12:39 PM, Eric McDermid wrote:

> OK, this one seems a little more arcane.
>
> One of the custom enhancements made to Mondrian in Marin's codeline  
> was the addition of a cached order function which caches a handful  
> of queries per fact table in an LRU cache to speed up pagination for  
> large dataset queries.
>
> This was done by creating CachedOrderFunDef as a derived class of  
> mondrian.olap.fun.OrderFunDef and a new CachedCalc as a derived  
> class of mondrian.rolap.AbstractListCalc.  Code attached.
>
> Registration of all this was done by getting direct reference to the  
> schema's function table, casting it to FunTableImpl, then calling  
> FunTableImpl.define(resolver) and FunTableImpl.organizeFunctions().
>
> I'm not sure that was exactly an approved technique, but it worked.   
> What's unclear to me is whether there's a more appropriate way of  
> doing it in 3.x that doesn't rely on breaking encapsulation and  
> using non-public APIs.  The CustomizedFunctionTable that Rushan  
> introduced a while back looks like it might be part of the solution,  
> but I'm not really sure of its intended usage, and in any case that  
> wouldn't get me past the calculator dependencies.
>
> -- Eric
>
>
>
>
> < 
> CachedOrderFunDef 
> .java><CachedCalc.java>_______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian





More information about the Mondrian mailing list