From: Michael Meskes <meskes@postgresql.org>
Date: Wed, 20 Mar 2002 21:00:24 +0000 (+0000)
Subject: Just one more test case.
X-Git-Tag: REL7_3~1860
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8e9b215fdf7117d8b2ba27649554b2ca22b823f9;p=postgresql

Just one more test case.
---

diff --git a/src/interfaces/ecpg/test/test1.pgc b/src/interfaces/ecpg/test/test1.pgc
index a539c72a9e..0c23f240f6 100644
--- a/src/interfaces/ecpg/test/test1.pgc
+++ b/src/interfaces/ecpg/test/test1.pgc
@@ -45,6 +45,7 @@ exec sql begin declare section;
         } ind[AMOUNT];
 	char command[128];
 	char *connection="pm";
+	int how_many;
 exec sql end declare section;
 	exec sql var name is string(AMOUNT);
 	char msg[128];
@@ -107,7 +108,7 @@ exec sql end declare section;
         exec sql select * into :name, :amount, :letter from "Test";
 
 	printf("Database: mm\n");
-        for (i=0, j=sqlca.sqlerrd[2]; i<j; i++)
+        for (i=0, how_many=j=sqlca.sqlerrd[2]; i<j; i++)
 	{
 	    exec sql begin declare section;
 	    char n[8], l = letter[i][0];
@@ -125,6 +126,31 @@ exec sql end declare section;
 	strcpy(msg, "commit");
 	exec sql at pm commit;
 
+	sprintf (command, "select * from \"Test\"");
+
+	exec sql prepare F from :command;
+	exec sql declare CUR cursor for F;
+
+	strcpy(msg, "open");
+	exec sql open CUR;
+
+	strcpy(msg, "fetch");
+        exec sql fetch :how_many in CUR into :name, :amount, :letter;
+
+	printf("Database: mm\n");
+        for (i=0, j=sqlca.sqlerrd[2]; i<j; i++)
+	{
+	    exec sql begin declare section;
+	    char n[8], l = letter[i][0];
+	    int a = amount[i];
+	    exec sql end declare section;
+
+	    strncpy(n, name[i], 8);
+            printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l);
+	}
+
+	exec sql close CUR;
+	
         strcpy(msg, "select");
         exec sql at :connection select name, amount, letter into :name, :amount, :letter from "Test";