Обсуждение: PQexecParams question

Поиск
Список
Период
Сортировка

PQexecParams question

От
"Grzegorz Jaśkiewicz"
Дата:
Hey folks,

I have here piece of code, that I wrote some time ago - works fine, but I was wondering - if it can be improved. 
This is used to grab id list, not present on submited list. Query usually looks like that;
select id from foo where id not in ($1, $2, $3...);

and I was wondering, is it possible to call PQexecParams with query, that doesn't have a longish list of dollar params (in my case up to 200), but instead uses some other syntax, such as:
select id from foo where id not in ($1...$200);

If not, to guys hacking libpq and area, would it be possible to request such a nice and neat feature ?

ta

--
GJ

Re: PQexecParams question

От
"Pavel Stehule"
Дата:
2008/10/11 Grzegorz Jaśkiewicz <gryzman@gmail.com>:
> Hey folks,
> I have here piece of code, that I wrote some time ago - works fine, but I
> was wondering - if it can be improved.
> This is used to grab id list, not present on submited list. Query usually
> looks like that;
> select id from foo where id not in ($1, $2, $3...);
> and I was wondering, is it possible to call PQexecParams with query, that
> doesn't have a longish list of dollar params (in my case up to 200), but
> instead uses some other syntax, such as:
> select id from foo where id not in ($1...$200);
> If not, to guys hacking libpq and area, would it be possible to request such
> a nice and neat feature ?

why you don't use array?

regards
Pavel Stehule

> ta
>
> --
> GJ
>

Re: PQexecParams question

От
"Grzegorz Jaśkiewicz"
Дата:
I don't see that working using arrays here. Can you elaborate please ?

Re: PQexecParams question

От
"Pavel Stehule"
Дата:
Hello

2008/10/12 Grzegorz Jaśkiewicz <gryzman@gmail.com>:
> I don't see that working using arrays here. Can you elaborate please ?
>

select * from foo where a = any ($1)

postgres=# select 1 = any(array[1,2,3]);
 ?column?
----------
 t
(1 row)

regards
Pavel Stehule

Re: PQexecParams question

От
"Grzegorz Jaśkiewicz"
Дата:
that would be a type mismatch, heh.

Re: PQexecParams question

От
Gregory Stark
Дата:
"Grzegorz Jaśkiewicz" <gryzman@gmail.com> writes:

> that would be a type mismatch, heh.

prepare "select * from foo where a = any($1::int[])"

then pass "{1,2,3}"

--
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com
  Get trained by Bruce Momjian - ask me about EnterpriseDB's PostgreSQL training!