4 Copyright (C) 1999 MDlink online service center GmbH and Helge Hess
5 Copyright (C) 2000-2004 SKYRIX Software AG and Helge Hess
7 Author: Helge Hess (helge.hess@opengroupware.org)
9 This file is part of the PostgreSQL72 Adaptor Library
11 This library is free software; you can redistribute it and/or
12 modify it under the terms of the GNU Library General Public
13 License as published by the Free Software Foundation; either
14 version 2 of the License, or (at your option) any later version.
16 This library is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 Library General Public License for more details.
21 You should have received a copy of the GNU Library General Public
22 License along with this library; see the file COPYING.LIB.
23 If not, write to the Free Software Foundation,
24 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
27 #ifndef ___PostgreSQL72_Channel_H___
28 #define ___PostgreSQL72_Channel_H___
30 #import <GDLAccess/EOAdaptorChannel.h>
33 @class NSArray, NSString, NSMutableDictionary;
34 @class PGConnection, PGResultSet;
41 } PostgreSQL72FieldInfo;
43 @interface PostgreSQL72Channel : EOAdaptorChannel
45 // connection is valid after an openChannel call
46 PGConnection *connection;
48 // valid during -evaluateExpression:
49 PGResultSet *resultSet;
52 BOOL containsBinaryData;
53 PostgreSQL72FieldInfo *fieldInfo;
58 // turns on/off channel debugging
59 BOOL isDebuggingEnabled;
61 NSMutableDictionary *_attributesForTableName;
62 NSMutableDictionary *_primaryKeysNamesForTableName;
69 - (void)setDebugEnabled:(BOOL)_flag;
70 - (BOOL)isDebugEnabled;
76 - (NSMutableDictionary *)primaryFetchAttributes:(NSArray *)_attributes
77 withZone:(NSZone *)_zone;
79 - (BOOL)evaluateExpression:(NSString *)_expression;
81 // cancelFetch is always called to terminate a fetch
82 // (even by primaryFetchAttributes)
83 // it frees all fetch-local variables
86 // uses dataFormat type information to create EOAttribute objects
87 - (NSArray *)describeResults;
91 @interface NSObject(Sybase10ChannelDelegate)
93 - (NSArray*)postgreSQLChannel:(PostgreSQL72Channel *)channel
94 willFetchAttributes:(NSArray *)attributes;
96 - (BOOL)postgreSQLChannel:(PostgreSQL72Channel *)channel
97 willReturnRow:(NSDictionary *)row;