Re: sqlstate 02000 while declaring cursor/freeing statement - Mailing list pgsql-admin

From andy rost
Subject Re: sqlstate 02000 while declaring cursor/freeing statement
Date
Msg-id 4314BD3D.9030104@noaa.gov
Whole thread Raw
In response to Re: sqlstate 02000 while declaring cursor/freeing statement  (Michael Fuhr <mike@fuhr.org>)
List pgsql-admin
Just so that we can snip this thread, we've confirmed that free cursor
and free statement do not affect sqlca structure elements sqlcode and
sqlstate.

Michael Fuhr wrote:
> On Tue, Aug 30, 2005 at 09:01:36AM -0500, Thomas F. O'Connell wrote:
>
>>On Aug 29, 2005, at 2:19 PM, andy rost wrote:
>>
>>>   $declare loop1 cursor with hold for
>>>   select distinct ( tabname )
>>>   from meta ;
>>>
>>>results in sqlca.sqlcode = 100 and sqlca.sqlstate = '02000'
>>
>>[snip]
>>
>>I don't see anything wrong with your cursor declaration, so this just
>>looks like it's indicating that no rows were returned.
>
>
> See my response to the same thread in pgsql-sql about what's
> happening:
>
> http://archives.postgresql.org/pgsql-sql/2005-08/msg00274.php
>
> The ECPG code generator doesn't issue the DECLARE statement until
> the cursor is opened, so checking sqlcode/sqlstate immediately after
> DECLARE but before OPEN will get the error code values from a
> previous command.
>
> Here's an excerpt from the DECLARE documentation:
>
>   The PostgreSQL  server does not implement an OPEN statement for
>   cursors; a cursor is considered to be open when it is declared.
>   However, ECPG, the embedded SQL preprocessor for PostgreSQL,
>   supports the standard SQL cursor conventions, including those
>   involving DECLARE and OPEN statements.
>
> Since declaring a cursor in PostgreSQL also opens it, ECPG apparently
> defers doing anything with the cursor until it finds the OPEN
> statement (i.e., EXEC SQL DECLARE generates no code, and EXEC SQL
> OPEN generates a DECLARE).
>

--
--------------------------------------------------------------------------------
Andrew Rost
National Operational Hydrologic Remote Sensing Center (NOHRSC)
National Weather Service, NOAA
1735 Lake Dr. West, Chanhassen, MN 55317-8582
Voice: (952)361-6610 x 234
Fax: (952)361-6634
arost@nohrsc.nws.gov
http://www.nohrsc.nws.gov
--------------------------------------------------------------------------------



pgsql-admin by date:

Previous
From: David Durham
Date:
Subject: Re: First mail after registration
Next
From: "Jim C. Nasby"
Date:
Subject: Re: Hash index