psqlodbc crashes while collecting diagnostic records with SQLGetDiagRecW - Mailing list pgsql-odbc

From Andrey Sukhanov
Subject psqlodbc crashes while collecting diagnostic records with SQLGetDiagRecW
Date
Msg-id 112f6883-34e4-4372-8bda-d04f45ee31bf@gmail.com
Whole thread Raw
Responses Re: psqlodbc crashes while collecting diagnostic records with SQLGetDiagRecW
List pgsql-odbc
Dear pgsql-odbc developers,

Windows 10,  psqlodbc 16 (psqlodbc35w.dll), postgresql 11.
Getting certain amount of diagnostic records with SQLGetDiagRecW crashes 
the application with memory access violation.

Steps to reproduce:
1. Create procedure:
CREATE OR REPLACE PROCEDURE crashme()
LANGUAGE plpgsql
AS $$
BEGIN
FOR i IN 1..841 LOOP
         RAISE NOTICE 'msgmsgmsgmsg (%)', i;
END LOOP;
END; $$;

2. Use example code in attachments.
3. Application crashes with memory access violation after calling 
SQLGetDiagRecW function, with iRecord = 332.
Application doesn't crash if number of iterations in  procedure's for 
loop is changed.
Expected outcome: SQLGetDiagRecW would return SQL_NO_DATA when there's 
no more diagnostic records.

Regards,
Andrey

Attachment

pgsql-odbc by date:

Previous
From: "Sugimoto, Haku"
Date:
Subject: Inquiry about EOL information for psqlODBC driver
Next
From: Alexander Yi
Date:
Subject: Use Postgres ODBC in MacOS's Microsoft Office Excel