1
2
3
4
5
6
7
8
9
10
11
|
1
2
3
4
5
6
7
8
9
10
11
|
-
+
|
#import "PGResultRow.h"
static id
convert_type(PGresult *res, int column, OFString *string)
convertType(PGresult *res, int column, OFString *string)
{
switch (PQftype(res, column)) {
case 16: /* BOOLOID */
if ([string isEqual: @"t"])
return [OFNumber numberWithBool: YES];
else
return [OFNumber numberWithBool: NO];
|
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
-
+
|
column = [key intValue];
else
column = PQfnumber(_res, [key UTF8String]);
if (PQgetisnull(_res, _row, column))
return nil;
return convert_type(_res, column,
return convertType(_res, column,
[OFString stringWithUTF8String: PQgetvalue(_res, _row, column)]);
}
- (OFEnumerator*)keyEnumerator
{
return [[[PGResultRowKeyEnumerator alloc]
initWithResult: _result
|
196
197
198
199
200
201
202
203
204
205
206
|
196
197
198
199
200
201
202
203
204
205
206
|
-
+
|
while (_pos < _count && PQgetisnull(_res, _row, _pos))
_pos++;
if (_pos >= _count)
return nil;
return convert_type(_res, _pos,
return convertType(_res, _pos,
[OFString stringWithUTF8String: PQgetvalue(_res, _row, _pos++)]);
}
@end
|