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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-odbc by date

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