When I use the pxf hawq, I need to read a traditional relational database systems and solr by way of the external table. The project :https://github.com/Pivotal-Field-Engineering/pxf-field/tree/master/jdbc-pxf-ext, only "WriteAccessor ",so I developed 2 plug-ins, the projects: https://github.com/inspur-insight/pxf-plugin , But these two plug-ins need to modified HAWQ:
1. When get a list of fragment from pxf services, push down the 'filterString'. modify the backend / optimizer / plan / createplan.c of create_pxf_plan methods:
segdb_work_map = map_hddata_2gp_segments (uri_str,
relation, ctx-> root-> parse-> jointree-> quals);
2. modify pxffilters.h and pxffilters.c, support TEXT types LIKE operation, Date type data operator, Float type operator.
3. Modify org.apache.hawq.pxf.api.FilterParser.java, support the LIKE operator.
I already created a feature branch in my local ,and tested.