Re: sqlstate 02000 while declaring cursor/freeing statement

From: andy rost <andy(dot)rost(at)noaa(dot)gov>
To: Michael Fuhr <mike(at)fuhr(dot)org>
Cc: "Thomas F(dot) O'Connell" <tfo(at)sitening(dot)com>, pgsql-admin(at)postgresql(dot)org
Subject: Re: sqlstate 02000 while declaring cursor/freeing statement
Date: 2005-08-30 20:10:37
Message-ID: 4314BD3D.9030104@noaa.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)nohrsc(dot)nws(dot)gov
http://www.nohrsc.nws.gov
--------------------------------------------------------------------------------

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Jim C. Nasby 2005-08-30 20:17:38 Re: Hash index
Previous Message David Durham 2005-08-30 19:41:34 Re: First mail after registration