]> granicus.if.org Git - postgresql/commitdiff
Just one more test case.
authorMichael Meskes <meskes@postgresql.org>
Wed, 20 Mar 2002 21:00:24 +0000 (21:00 +0000)
committerMichael Meskes <meskes@postgresql.org>
Wed, 20 Mar 2002 21:00:24 +0000 (21:00 +0000)
src/interfaces/ecpg/test/test1.pgc

index a539c72a9eed4f927c192e6170182babd09a50cd..0c23f240f60edfedc96031ef7716e8131e94e150 100644 (file)
@@ -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";