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.
26 // $Id: PostgreSQL72Channel.h 1 2004-08-20 10:38:46Z znek $
28 #ifndef ___PostgreSQL72_Channel_H___
29 #define ___PostgreSQL72_Channel_H___
31 #import <GDLAccess/EOAdaptorChannel.h>
34 @class NSArray, NSString, NSMutableDictionary;
35 @class PGConnection, PGResultSet;
42 } PostgreSQL72FieldInfo;
44 @interface PostgreSQL72Channel : EOAdaptorChannel
46 // connection is valid after an openChannel call
47 PGConnection *connection;
49 // valid during -evaluateExpression:
50 PGResultSet *resultSet;
53 BOOL containsBinaryData;
54 PostgreSQL72FieldInfo *fieldInfo;
59 // turns on/off channel debugging
60 BOOL isDebuggingEnabled;
62 NSMutableDictionary *_attributesForTableName;
63 NSMutableDictionary *_primaryKeysNamesForTableName;
70 - (void)setDebugEnabled:(BOOL)_flag;
71 - (BOOL)isDebugEnabled;
77 - (NSMutableDictionary *)primaryFetchAttributes:(NSArray *)_attributes
78 withZone:(NSZone *)_zone;
80 - (BOOL)evaluateExpression:(NSString *)_expression;
82 // cancelFetch is always called to terminate a fetch
83 // (even by primaryFetchAttributes)
84 // it frees all fetch-local variables
87 // uses dataFormat type information to create EOAttribute objects
88 - (NSArray *)describeResults;
92 @interface NSObject(Sybase10ChannelDelegate)
94 - (NSArray*)postgreSQLChannel:(PostgreSQL72Channel *)channel
95 willFetchAttributes:(NSArray *)attributes;
97 - (BOOL)postgreSQLChannel:(PostgreSQL72Channel *)channel
98 willReturnRow:(NSDictionary *)row;