1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
/* Processed by ecpg (4.2.1) */
/* These include files are added by the preprocessor */
#include <ecpgtype.h>
#include <ecpglib.h>
#include <ecpgerrno.h>
#include <sqlca.h>
/* End of automatic include section */
#line 1 "test2.pgc"
/*
* this file tests multiple connections to databases and switches
* between them.
*/
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#line 1 "regression.h"
#line 11 "test2.pgc"
int
main(void)
{
/* exec sql begin declare section */
#line 17 "test2.pgc"
char id[200];
#line 18 "test2.pgc"
char res[200];
/* exec sql end declare section */
#line 19 "test2.pgc"
ECPGdebug(1, stderr);
strcpy(id, "first");
{
ECPGconnect(__LINE__, 0, "connectdb", NULL, NULL, id, 0);
}
#line 24 "test2.pgc"
{
ECPGconnect(__LINE__, 0, "regress1", NULL, NULL, "second", 0);
}
#line 25 "test2.pgc"
/* this selects from "second" which was opened last */
{
ECPGdo(__LINE__, 0, 1, NULL, "select current_database () ", ECPGt_EOIT,
ECPGt_char, (res), (long) 200, (long) 1, (200) * sizeof(char),
ECPGt_NO_INDICATOR, NULL, 0L, 0L, 0L, ECPGt_EORT);
}
#line 28 "test2.pgc"
{
ECPGdo(__LINE__, 0, 1, "first", "select current_database () ", ECPGt_EOIT,
ECPGt_char, (res), (long) 200, (long) 1, (200) * sizeof(char),
ECPGt_NO_INDICATOR, NULL, 0L, 0L, 0L, ECPGt_EORT);
}
#line 29 "test2.pgc"
{
ECPGdo(__LINE__, 0, 1, "second", "select current_database () ", ECPGt_EOIT,
ECPGt_char, (res), (long) 200, (long) 1, (200) * sizeof(char),
ECPGt_NO_INDICATOR, NULL, 0L, 0L, 0L, ECPGt_EORT);
}
#line 30 "test2.pgc"
{
ECPGsetconn(__LINE__, "first");
}
#line 32 "test2.pgc"
{
ECPGdo(__LINE__, 0, 1, NULL, "select current_database () ", ECPGt_EOIT,
ECPGt_char, (res), (long) 200, (long) 1, (200) * sizeof(char),
ECPGt_NO_INDICATOR, NULL, 0L, 0L, 0L, ECPGt_EORT);
}
#line 33 "test2.pgc"
/* this will disconnect from "first" */
{
ECPGdisconnect(__LINE__, "CURRENT");
}
#line 36 "test2.pgc"
{
ECPGdo(__LINE__, 0, 1, NULL, "select current_database () ", ECPGt_EOIT,
ECPGt_char, (res), (long) 200, (long) 1, (200) * sizeof(char),
ECPGt_NO_INDICATOR, NULL, 0L, 0L, 0L, ECPGt_EORT);
}
#line 37 "test2.pgc"
/* error here since "first" is already disconnected */
{
ECPGdisconnect(__LINE__, id);
}
#line 40 "test2.pgc"
/* disconnect from "second" */
{
ECPGdisconnect(__LINE__, "CURRENT");
}
#line 43 "test2.pgc"
return (0);
}
|