1. A method comprising: an engine of an in-memory database storing in the in-memory database, a cache view comprising an existing cache instance including a plurality of cache defined columns and a grouping; the engine receiving a query including parameters comprising a MEDIAN aggregation function that is not composable; the engine determining when the parameters match all of the cache-defined columns and the grouping; when a parameter does not match all of the cache-defined columns and the grouping, returning a query result satisfied by a view from an underlying database; when the parameters match all of the cache-defined columns and the grouping, the engine determining when the existing cache instance satisfies the query; when the existing cache instance does not satisfy the query, the engine creating a new cache instance with a view from the underlying database to add to the cache view, and returning the query result with the new cache instance, wherein the new cache instance is created for each tuple of literals for all of the cache-defined columns, and wherein the new cache instance is grown incrementally from another query utilizing an UPSERT function; when the existing cache instance satisfies the query and the cache-defined columns are equal, the engine returning the query result with the existing cache instance, wherein the existing cache instance satisfies the query when a same explicit group-by clause is used for the grouping.