Foreign Data Wrapper

From: Big Mike <newoculus(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Foreign Data Wrapper
Date: 2015-11-13 18:46:21
Message-ID: CANEiRNzHazQPgDHePxkj0nskL6sMCO11=4ump6ZW616cP8T58g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Writing a Foreign Data Wrapper and interested in isolating the WHERE clause
to speed up the access of an indexed file on my filesystem. I'm attempting
to understand the inner workings of how the data is retrieved so I'm
writing code to just handle one case at the moment: WHERE clause on a
single column in the foreign 'table'.

SELECT * FROM t WHERE testval = 1

I have this code so far, an implementation of the IterateForeignScan
interface.

static TupleTableSlot *
bIterateForeignScan(ForeignScanState *node) {
...
RestrictInfo *rinfo = (RestrictInfo *)node->ss.ps.qual;
...
}

yet am not familiar with what I need to do to pick apart RestrictInfo in
order to gather 'testvar', '=', and '1' separately so I can interpret and
pass those through to my file parser.

Am I going about this the correct way or is there another path I should
follow?

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Corey Huinker 2015-11-13 19:24:18 Re: Foreign Data Wrapper
Previous Message Tom Lane 2015-11-13 18:36:33 Re: Inaccurate results from numeric ln(), log(), exp() and pow()