Re: Add dblink function to check if a named connection exists

Поиск
Список
Период
Сортировка
От Tommy Gildseth
Тема Re: Add dblink function to check if a named connection exists
Дата
Msg-id 484506AD.7050102@usit.uio.no
обсуждение исходный текст
Ответ на Re: Add dblink function to check if a named connection exists  (Joe Conway <mail@joeconway.com>)
Список pgsql-hackers
Joe Conway wrote:
> Tom Lane wrote:
>> Tommy Gildseth <tommy.gildseth@usit.uio.no> writes:
>>> One obvious disadvantage of this approach, is that I need to connect 
>>> and disconnect in every function. A possible solution to this, would 
>>> be having a function f.ex dblink_exists('connection_name') that 
>>> returns true/false depending on whether the  connection already exists.
>>
>> Can't you do this already?
>>
>>     SELECT 'myconn' = ANY (dblink_get_connections());
>>
>> A dedicated function might be a tad faster, but it probably isn't going
>> to matter compared to the overhead of sending a remote query.
> 
> I agree. The above is about as simple as
>   SELECT dblink_exists('dtest1');
> and probably not measurably slower. If you still think a dedicated 
> function is needed, please send the output of some performance testing 
> to justify it.
> 
> If you really want the notational simplicity, you could use an SQL 
> function to wrap it:
> 
> CREATE OR REPLACE FUNCTION dblink_exists(text)
> RETURNS bool AS $$
>   SELECT $1 = ANY (dblink_get_connections())
> $$ LANGUAGE sql;



dblink_get_connections() returns null if there are no connections 
though, so the above will fail if you haven't already established a 
connection, unless you also check for null, and not just false.

I guess you could rewrite the above function to something like:

CREATE OR REPLACE FUNCTION dblink_exists(text)
RETURNS bool AS $$  SELECT COALESCE($1 = ANY (dblink_get_connections()), false)
$$ LANGUAGE sql;



-- 
Tommy Gildseth



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Hannu Krosing
Дата:
Сообщение: Re: Core team statement on replication in PostgreSQL
Следующее
От: Zdenek Kotala
Дата:
Сообщение: Re: Case-Insensitve Text Comparison