1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4
5EXEC SQL INCLUDE ../regression;
6
7int main() {
8  EXEC SQL BEGIN DECLARE SECTION;
9    char var[25];
10    int i, loopcount;
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 SET standard_conforming_strings TO off;
23
24  EXEC SQL SHOW standard_conforming_strings INTO :var;
25  printf("Standard conforming strings: %s\n", var);
26
27  /* this is a\\b actually */
28  EXEC SQL INSERT INTO "My_Table" VALUES ( 1, 'a\\\\b' );
29  /* this is a\\b */
30  EXEC SQL INSERT INTO "My_Table" VALUES ( 1, E'a\\\\b' );
31
32  EXEC SQL SET standard_conforming_strings TO on;
33
34  EXEC SQL SHOW standard_conforming_strings INTO :var;
35  printf("Standard conforming strings: %s\n", var);
36
37  /* this is a\\\\b actually */
38  EXEC SQL INSERT INTO "My_Table" VALUES ( 2, 'a\\\\b' );
39  /* this is a\\b */
40  EXEC SQL INSERT INTO "My_Table" VALUES ( 2, E'a\\\\b' );
41
42  EXEC SQL BEGIN;
43  EXEC SQL DECLARE C CURSOR FOR SELECT * FROM "My_Table";
44
45  EXEC SQL OPEN C;
46
47  EXEC SQL WHENEVER NOT FOUND DO BREAK;
48
49  for (loopcount = 0; loopcount < 100; loopcount++)
50  {
51	EXEC SQL FETCH C INTO :i, :var;
52	printf("value: %d %s\n", i, var);
53  }
54
55  EXEC SQL ROLLBACK;
56  EXEC SQL DROP TABLE "My_Table";
57
58  EXEC SQL DISCONNECT ALL;
59
60  return 0;
61}
62