| From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> | 
|---|---|
| To: | Andrew Dunstan <andrew(at)dunslane(dot)net> | 
| Cc: | Zheng Yang <zhengyang4k(at)gmail(dot)com>, Shiv <rama(dot)theone(at)gmail(dot)com>, Selena Deckelmann <selena(at)chesnok(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, pgsql-students <pgsql-students(at)postgresql(dot)org> | 
| Subject: | Re: foreign data wrappers | 
| Date: | 2011-03-29 16:35:09 | 
| Message-ID: | 4D920A3D.8010004@lelarge.info | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general pgsql-students | 
Le 29/03/2011 18:32, Andrew Dunstan a écrit :
> 
> 
> On 03/29/2011 11:48 AM, Guillaume Lelarge wrote:
>> Le 29/03/2011 13:28, Zheng Yang a écrit :
>>> Hi guys,
>>>
>>>>> I've briefly gone through the slides. Regarding the 6 callbacks, is
>>>>> that correct to say that a full table scan will always be performed
>>>>> irregardless of the sql statement,
>>>>> the FDW is blind to the sql query performed, right?
>>>> Yes, fairly much. If the feed is large you need some way to pass a
>>>> limit to the foreign side, possibly via table options. I'm fairly
>>>> sure you won't be able to get it via the SELECT statement.
>>>>
>>>
>>> Regarding the previous flickr example, I'm wondering how this 'free
>>> text search' function can be done if the FDW is blind to the SELECT
>>> statement.
>>>
>>> For instance, the following query is to retrieve a photo relevant to
>>> 'panda':
>>>
>>>     SELECT photo FROM flickr_table WHERE search LIKE '%panda%';
>>>
>>> In this case, the FDW can only open a connection to flickr web
>>> service and return the next 'row' .
>>> The problem is that there are a huge number of photos in flickr
>>> server and retrieving them sequentially is not realistic.
>>> Any ideas on how this can be done?
>>>
>> It probably means that flickr is not a good example of a nice fdw.
> 
> 
> Neither of you are being very creative. As I mentioned above, you need
> to embed this sort of stuff in table options.
> 
> so you would have something like:
> 
>    create foreign table panda_flickr (photo bytea, ...)
>         server flickr_server
>         options (searchterm 'panda', maxrows '50');
>    select photo from panda_flickr;
> 
This would work but means you need to create a new foreign table to
search something else.
So, yeah, it works, but it's not convenient.
-- 
Guillaume
 http://www.postgresql.fr
 http://dalibo.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andrew Dunstan | 2011-03-29 16:51:53 | Re: foreign data wrappers | 
| Previous Message | Andrew Dunstan | 2011-03-29 16:32:13 | Re: foreign data wrappers | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andrew Dunstan | 2011-03-29 16:51:53 | Re: foreign data wrappers | 
| Previous Message | Andrew Dunstan | 2011-03-29 16:32:13 | Re: foreign data wrappers |