Filter in TsDecl not passed in underline fetch

I have redefined the fetch function for a type that reads the data from an Hbase instance ( performing an Hbase.scan() behind the scene).
I’m testing a metric that relies on these data but looks like the filter passed in TsDecl is ignored - I have logged the spec passed to the fetch when the evalMetric is called and it is not present the filter on myField. Am I doing something wrong here?

newSimple = SimpleMetric.make({
"id" : "TestQH",
  "name" : "TestQH",
  "srcType" : "ServicePoint",
  "path":"pointOfDelivery",
  "tsDecl" : {
    "data" : "quartherHourData",
    "treatment" : "SUM",
    "start" : "timestamp - period(1, 'SECOND')",
    "end" : "timestamp",
    "value" : "value",
    "filter" : "myField=='A1'"
  },
  "description" : "Period of validity of a contract based on contracts history"
} )

c3Visualize(ServicePoint.evalMetricsWithMetadata({expressions:["TestQH"], ids:['689095'], start:"2018-07-01", end:"2018-07-02", interval:"DAY"}, [newSimple]))

@marcosordi If you are expecting the filter to be passed down to Hbase / fetch, the engine doesn’t push it down! It uses the filter for performing in memory filtering.

Primary reason for this is to minimize the number of times we hit the db to get the same data, instead we read the data for a particular partition once and then apply multiple in memory filters on it

thanks @rohit.sureka so what will happen is the fetch will return all the records for a given key and then in memory the fetch result will only have the one with myField==A1