The attached patch is a revised one for cache-only scan module on top of custom-scan interface. Please check it.
I will start regress and performance tests. I will inform you the same once i finish.
Getting some compilation warnings while compiling the extension and also I am not able to load the extension because of undefined symbol "get_restriction_qual_cost".
cscan.c: In function ‘cs_estimate_costs’:
cscan.c:163: warning: implicit declaration of function ‘get_restriction_qual_cost’
cscan.c: In function ‘cs_add_scan_path’:
cscan.c:437: warning: implicit declaration of function ‘bms_to_string’
cscan.c:437: warning: passing argument 1 of ‘makeString’ makes pointer from integer without a cast
cscan.c: In function ‘cs_begin_custom_scan’:
cscan.c:493: warning: implicit declaration of function ‘bms_from_string’
cscan.c:493: warning: assignment makes pointer from integer without a cast
FATAL: could not load library "/postgresql/cache_scan.so": /postgresql/cache_scan.so: undefined symbol: get_restriction_qual_cost