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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
/*-------------------------------------------------------------------------
*
* FILE
* pgdatabase.cpp
*
* DESCRIPTION
* implementation of the PgDatabase class.
* PgDatabase encapsulates some utility routines
*
* Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgdatabase.cc,v 1.9 2000/01/29 16:58:52 petere Exp $
*
*-------------------------------------------------------------------------
*/
#include "pgdatabase.h"
void PgDatabase::DisplayTuples(FILE *out, int fillAlign,
const char* fieldSep, int printHeader,
int /* quiet */)
{
PQprintOpt po;
memset(&po,0,sizeof(po));
po.align = fillAlign;
po.fieldSep = (char *)fieldSep;
po.header = printHeader;
PQprint(out,pgResult,&po);
}
void PgDatabase::PrintTuples(FILE *out, int printAttName, int terseOutput,
int width)
{
PQprintOpt po;
memset(&po,0,sizeof(po));
po.align = width;
if(terseOutput) po.fieldSep = strdup("|");
else po.fieldSep = "";
po.header = printAttName;
PQprint(out,pgResult,&po);
}
int PgDatabase::Tuples()
{
return PQntuples(pgResult);
}
int PgDatabase::CmdTuples()
{
char *a;
a = (char *)PQcmdTuples(pgResult);
if(!a[0]) return -1;
return atoi(a);
}
int PgDatabase::Fields()
{
return PQnfields(pgResult);
}
const char* PgDatabase::FieldName(int field_num)
{
return PQfname(pgResult, field_num);
}
int PgDatabase::FieldNum(const char* field_name)
{
return PQfnumber(pgResult, field_name);
}
Oid PgDatabase::FieldType(int field_num)
{
return PQftype(pgResult, field_num);
}
Oid PgDatabase::FieldType(const char* field_name)
{
return PQftype(pgResult, FieldNum(field_name));
}
short PgDatabase::FieldSize(int field_num)
{
return PQfsize(pgResult, field_num);
}
short PgDatabase::FieldSize(const char* field_name)
{
return PQfsize(pgResult, FieldNum(field_name));
}
const char* PgDatabase::GetValue(int tup_num, int field_num)
{
return PQgetvalue(pgResult, tup_num, field_num);
}
const char* PgDatabase::GetValue(int tup_num, const char* field_name)
{
return PQgetvalue(pgResult, tup_num, FieldNum(field_name));
}
int PgDatabase::GetIsNull(int tup_num, int field_num)
{
return PQgetisnull(pgResult, tup_num, field_num);
}
int PgDatabase::GetIsNull(int tup_num, const char* field_name)
{
return PQgetisnull(pgResult, tup_num, FieldNum(field_name));
}
int PgDatabase::GetLength(int tup_num, int field_num)
{
return PQgetlength(pgResult, tup_num, field_num);
}
int PgDatabase::GetLength(int tup_num, const char* field_name)
{
return PQgetlength(pgResult, tup_num, FieldNum(field_name));
}
int PgDatabase::GetLine(char* string, int length)
{
return PQgetline(pgConn, string, length);
}
void PgDatabase::PutLine(const char* string)
{
PQputline(pgConn, string);
}
const char* PgDatabase::OidStatus()
{
return PQoidStatus(pgResult);
}
int PgDatabase::EndCopy()
{
return PQendcopy(pgConn);
}
|