Re: the IN clause saga
От | Dmitry Tkach |
---|---|
Тема | Re: the IN clause saga |
Дата | |
Msg-id | 3F1D4A71.8050400@openratings.com обсуждение исходный текст |
Ответ на | Re: the IN clause saga (Fernando Nasser <fnasser@redhat.com>) |
Ответы |
Re: the IN clause saga
|
Список | pgsql-jdbc |
Fernando Nasser wrote: > Thanks for summarizing it Oliver. > > I've asked Tom Lane about the backend behavior and he informed me that: > > 1) 7.4 backends do support parameters in the IN predicate, as ($1, $2, > $3) (i.e., our (?, ?, ?) syntax). > > 2) 7.4 backends have a PostgreSQL specific extension that allows you > to fill the IN predicate with a list: ($1) (i.e., our (?) ). One has > to pass a PostgreSQL array, like integer[] to fill the list. Note > that the parenthesis is already in place, it is not generated by the ? > expansion. > > The feature 2 in 7.4 backends is of limited use as the planner does > not know about the list, so the generated plan will not be as good as > if you pass the list with fixed values since the beginning. This is the same problem, as it generally exists with x=? - the query plan is generally not as good as x=1, because the planner doesn't know the value to use with statistics. Are you saying that #2 only works with integers? Or can you give it any array? Dima
В списке pgsql-jdbc по дате отправления: