Re: BUG #3706: ecpg regression: "MOVE FORWARD"
От | Michael Meskes |
---|---|
Тема | Re: BUG #3706: ecpg regression: "MOVE FORWARD" |
Дата | |
Msg-id | 20071104123638.GA21084@feivel.credativ.de обсуждение исходный текст |
Ответ на | BUG #3706: ecpg regression: "MOVE FORWARD" ("Scott Bailey" <scott.bailey@eds.com>) |
Список | pgsql-bugs |
[Sorry for the late reply, but I've been on two business trips last week without internet access.] > The following statement: > > exec sql MOVE FORWARD :RowMove IN Sniffer; > > which worked correctly in 8.2.4 and previous versions, now fails to compile > in 8.3beta1; I receive the following error message: > > ERROR: fetch/move count must not be a variable. > > This sucks and I couldn't find anything about it in the TODO list or Release > Notes. Is this unintentional, or should I be recoding my program to use a > loop to move forward 1 row at a time? I'm not sure whether this has been a documented feature at all, but yes, it got removed during the rewrite because the backend doesn't accept a variable in this position. Also I vaguely remember not finding this feature in the standard. The standard way of doing this kind of statement is to write the whole statement into a string and then "execute immediate" it. However, I'd be willing to put this back in but fail to see how atm. The problem is that the statement is created as a string that then gets send to the backend. As I said putting a variable in here isn't allowed on the backend side. Older versions of ecpg created the statement by replacing the variables on the client side, so this didn't matter at all. Michael -- Michael Meskes Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!
В списке pgsql-bugs по дате отправления: