Skip site navigation (1) Skip section navigation (2)

Problem with Use Declare/Fetch

From: Alexandre - Aldeia Digital <alepaes(at)aldeiadigital(dot)com(dot)br>
To: "pgsql-odbc(at)postgresql(dot)org" <pgsql-odbc(at)postgresql(dot)org>
Subject: Problem with Use Declare/Fetch
Date: 2012-03-15 20:09:01
Message-ID: 4F624C5D.1010809@aldeiadigital.com.br (view raw or flat)
Thread:
Lists: pgsql-odbc
Hi,

Some time ago, We start to update our ODBC version.
We are using Post 9.0.4(UTF) and ODBC Unicode (psqlodbc_09_01_0100-1) 
with use declare/fetch enable.

One of my customeres have a routine thats reads from some tables and 
inserts in anoter. Bellow, some statements:

{snip}

<192.168.1.160# 2012-03-15 16:09:09 BRT 3117>LOG:  statement: 
BEGIN;declare "P01303" cursor for SELECT PC33Codigo, PC33Emp08, 
PC33FatArr, PC33QtdPte, PC33CodInd FROM PC33T WHERE PC33Emp08 = '17' and 
PC33Codigo = E'DECLARE F ' ORDER BY PC33Emp08, PC33Codigo ;fetch 100 in 
"P01303"
<192.168.1.160# 2012-03-15 16:09:09 BRT 3118>LOG:  statement: close "P01303"

<192.168.1.160# 2012-03-15 16:09:09 BRT 3119>LOG:  statement: declare 
"P01304" cursor for SELECT PC01CodEmp, PC01UsaCom, PC01TabRel FROM PC01T 
WHERE PC01CodEmp = '17' ORDER BY PC01CodEmp ;fetch 100 in "P01304"
<192.168.1.160# 2012-03-15 16:09:09 BRT 3120>LOG:  statement: close "P01304"

---- PROBLEM HERE ---

<192.168.1.160# 2012-03-15 16:09:09 BRT 3121>LOG:  statement: declare 
"P01305" cursor for SELECT Pc13Item, PC13CodPed, PC13AnoPed, PC13Emp08P, 
PC13VlrEst, PC13VrUnit, PC13Cor, PC13Codigo, PC13Emp08, PC13Produ, 
PC13Linha FROM PC13T WHERE (PC13Emp08 = '17' and PC13Codigo >= E' 
              ') AND (PC13Linha >= '0' and PC13Linha <= '99999') AND 
(PC13CodPed = '0') AND (PC13AnoPed = 0) AND (PC13Produ = E'S') AND 
(PC13Codigo <= E'zzzzz               ') ORDER BY PC13Emp08, PC13Codigo, 
PC13Cor, PC13AnoPed ;fetch 100 in "P01305"

---- PROBLEM HERE ---

<192.168.1.160# 2012-03-15 16:09:09 BRT 3122>LOG:  statement: declare 
"P36492" cursor with hold for SELECT cf25item, cf25objeto, cf02login, 
cf25conteu FROM CF25T WHERE cf02login = E'ADMINISTRADOR       ' and 
cf25objeto = E'PC0295PC0208   ' and cf25item = '1' ORDER BY cf02login, 
cf25objeto, cf25item ;fetch 100 in "P36492"
<192.168.1.160# 2012-03-15 16:09:09 BRT 3123>LOG:  statement: close "P36492"

{snip}


The problem is in table PC13T, that have more than 100 tuples. The 
cursor "P01305" was executed once, instead of loop until the end of 
resultset.
The strange is that this cursor is not CLOSED anymore:

postgres(at)vm002:~/data_90$ grep P01305 fetch_problem.log

<192.168.1.160# 2012-03-15 16:09:09 BRT 3121>LOG:  statement: declare 
"P01305" cursor for SELECT Pc13Item, PC13CodPed, PC13AnoPed, PC13Emp08P, 
PC13VlrEst, PC13VrUnit, PC13Cor, PC13Codigo, PC13Emp08, PC13Produ, 
PC13Linha FROM PC13T WHERE (PC13Emp08 = '17' and PC13Codigo >= E' 
              ') AND (PC13Linha >= '0' and PC13Linha <= '99999') AND 
(PC13CodPed = '0') AND (PC13AnoPed = 0) AND (PC13Produ = E'S') AND 
(PC13Codigo <= E'zzzzz               ') ORDER BY PC13Emp08, PC13Codigo, 
PC13Cor, PC13AnoPed ;fetch 100 in "P01305"

postgres(at)vm002:~/data_90$


Best regards,


Alexandre

Responses

pgsql-odbc by date

Next:From: Hiroshi InoueDate: 2012-03-15 23:33:17
Subject: Re: Problem with Use Declare/Fetch
Previous:From: Hiroshi InoueDate: 2012-03-15 06:15:12
Subject: Re: using pgsql-odbc using client certificate auth

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group