cstore_fdw can skip blocks by using the min and max value of the data stored in those blocks.
It would be nice to have a dictionary pushdown. That would allow cstore to skip the block with out the need to loop thru it's data.
For example, you have a column stored in a block with min value 10 and max value 15.
Maybe the data looks like this:
10
10
10
11
11
14
14
14
14
15
If you do this: SELECT SUM(COL) FROM TABLE WHERE COL = 12, 12 is inside the min max range, but 12 is not stored in that block. I believe it would give a good performance boost to cstore.
Regards!