Re: Invalid statement name (null) in line ## - what am I doing wrong ? - Mailing list pgsql-general
From | leif@crysberg.dk |
---|---|
Subject | Re: Invalid statement name (null) in line ## - what am I doing wrong ? |
Date | |
Msg-id | 12815829.73081245377348781.JavaMail.root@quick Whole thread Raw |
List | pgsql-general |
Oops, forgot to include that, sorry. This is from a log output since it is dynamically generated: stmt= SELECT groupid, dg.ctrlid, userid, description, phoneno, ipaddr, online, active, dt.typename, null FROM devicegroupdg, device d, devtype dt WHERE userid = 23 AND typename = 'adm' AND dg.ctrlid = d.id AND dt.id = d.devtypeid ORDER BY d.id; Running this (copy/paste) in psql gives me the expected result as well as when using the 8.2.4 compiled version. I don't think I would be able to do what you suggests, since both fields, tables and where are dynamically generated basedon many things. Leif ----- "Martin Gainty" <mgainty@hotmail.com> wrote: > can we see the original statement ? > > can you combine the 2 statements to produce the necessary cursor > OPEN curs1 FOR EXECUTE 'SELECT * FROM ' || quote_ident($1); > http://www.postgresql.org/docs/8.1/interactive/plpgsql-cursors.html > > takk > Martin > ______________________________________________ > Verzicht und Vertraulichkeitanmerkung > > > Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene > Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede > unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. > Diese Nachricht dient lediglich dem Austausch von Informationen und > entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten > Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den > Inhalt uebernehmen. > > > > > > > Date: Fri, 19 Jun 2009 03:08:35 +0200 > > From: leif@crysberg.dk > > To: pgsql-general@postgresql.org > > Subject: [GENERAL] Invalid statement name (null) in line ## - what > am I doing wrong ? > > > > Hi, > > > > I have a problem when upgrading from 8.2.4 to 8.3/8.4 using ecpg > with a prepare statement: > > > > EXEC SQL PREPARE execquery FROM :stmt; line = __LINE__; > > EXEC SQL AT :_thisDbConn DECLARE execcurs CURSOR FOR execquery; line > = __LINE__; > > EXEC SQL AT :_thisDbConn OPEN execcurs; line = __LINE__; > > EXEC SQL ALLOCATE DESCRIPTOR execdesc; line = __LINE__; > > > > I get an "SQL error: invalid statement name "(null)" on line ##" > (3rd line above) on the OPEN cursor statement. I have been digging a > little in the ecpg output and noticed that the format of the > ECPGprepare() function call has changed between 8.2.4 and 8.3++. Also > the ecpg library has changed version libecpg.so.5 -> libecpg.so.6. > > > > I am compiling my program on an (older) system with 8.2.4 installed > and I need have my program running on a production system running > 8.3.5 or higher. This seems to work fine, but for other reasons I > wanted to upgrade my "compile system" with 8.3.5 and this started to > give me the error mentioned above. > > > > An ldd on the program gives: > > > > libecpg.so.6 => /usr/local/Packages/pgsql-8.3.5/lib/libecpg.so.6 > (0xb7ed8000) > > libpq.so.5 => /usr/local/Packages/pgsql-8.3.5/lib/libpq.so.5 > (0xb7ebc000) > > > > which looks to be ok. (The 8.2.4 compiled program was using > libecpg.so.5.) > > > > It seems to me that somehow the prepare statement (first line above) > is compiled into a ECPGprepare() call with 5 parameters, but using a > library function with only 3 parameters, even though it points to the > libecpg.so.6, which includes code having the 5 parameter ECPGprepare() > function. > > > > All PostgreSQL systems are natively installed from source on the > various systems, i.e. compiled individually on each system. All my > systems are running Linux, but with different versions of Linux. > > > > I have also tried the very newest version 8.4rc1, but with same > result, the error above. > > > > Please help, > > > > Leif > > > > -- > > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > > To make changes to your subscription: > > http://www.postgresql.org/mailpref/pgsql-general > > > Microsoft brings you a new way to search the web. Try Bing™ now
pgsql-general by date: