]> granicus.if.org Git - postgresql/blob - src/interfaces/ecpg/test/sql/quote.pgc
25aca500caa023fc77ba55856a345c9fb6745660
[postgresql] / src / interfaces / ecpg / test / sql / quote.pgc
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 EXEC SQL INCLUDE ../regression;
6
7 int main(int argc, char* argv[]) {
8   EXEC SQL BEGIN DECLARE SECTION;
9     char var[25];
10     int i;
11   EXEC SQL END DECLARE SECTION;
12
13   ECPGdebug(1, stderr);
14   EXEC SQL CONNECT TO REGRESSDB1;
15
16   EXEC SQL SET AUTOCOMMIT TO ON;
17   EXEC SQL WHENEVER SQLWARNING SQLPRINT;
18   EXEC SQL WHENEVER SQLERROR SQLPRINT;
19
20   EXEC SQL CREATE TABLE "My_Table" ( Item1 int, Item2 text );
21
22   EXEC SQL SHOW standard_conforming_strings INTO :var;
23   printf("Standard conforming strings: %s\n", var);
24
25   /* this is a\\b actually */
26   EXEC SQL INSERT INTO "My_Table" VALUES ( 1, 'a\\\\b' );
27   /* this is a\\b */
28   EXEC SQL INSERT INTO "My_Table" VALUES ( 1, E'a\\\\b' );
29
30   EXEC SQL SET standard_conforming_strings TO on;
31
32   /* this is a\\\\b actually */
33   EXEC SQL INSERT INTO "My_Table" VALUES ( 2, 'a\\\\b' );
34   /* this is a\\b */
35   EXEC SQL INSERT INTO "My_Table" VALUES ( 2, E'a\\\\b' );
36
37   EXEC SQL BEGIN;
38   EXEC SQL DECLARE C CURSOR FOR SELECT * FROM "My_Table";
39
40   EXEC SQL OPEN C;
41
42   EXEC SQL WHENEVER NOT FOUND DO BREAK;
43
44   while (true)
45   {
46         EXEC SQL FETCH C INTO :i, :var;
47         printf("value: %d %s\n", i, var);
48   }
49
50   EXEC SQL ROLLBACK;
51   EXEC SQL DROP TABLE "My_Table";
52
53   EXEC SQL DISCONNECT ALL;
54
55   return 0;
56 }