home *** CD-ROM | disk | FTP | other *** search
- // SybaseColumn.h
- // Copyright (c) 1994, NeXT Software, Inc. All rights reserved.
-
- #import <EOAccess/EOAccess.h>
- #import "SybaseAdaptor.h"
-
- @class SybaseChannel;
-
- // This class is used internally by the Sybase adaptor to maintain state
- // needed to fetch data.
-
- @interface SybaseColumn : NSObject
- {
- long _dataType;
- long _format;
- long _columnSize;
- void *_buffer;
- long *_copied;
- short *_indicator;
- EOAttribute *_attribute;
- NSStringEncoding _encoding;
- EOAdaptorValueType _adaptorValueType;
- }
-
- + columnClassForAttribute:(EOAttribute*)attribute;
- // Return the class for representing the [attribute externalType]
- + columnForAttribute:(EOAttribute *)att channel:(SybaseChannel *)channel;
- // returns nil if column could not be created to map between sourceType
- // and attribute type. Caller should log error.
-
- - initWithAttribute:(EOAttribute*)attribute channel:(SybaseChannel *)channel;
- // Create a SybaseColumn for the specified attribute
-
- - bindAt:(int)columnIndex rowCapacity:(unsigned)rowCapacity withCmd:(void*)cmd;
- // Bind this column into the select list at position "columnIndex"
-
- - (long)getDataAt:(int)columnIndex withCmd:(void*)cmd;
- // Get the next value for this column using the ct_get_data() call.
- // This method must be used if the list of selected attributes includes
- // a column of type TEXT or IMAGE.
- - fetchFromIndex:(unsigned)rowIndex withZone:(NSZone *)zone;
- // Extract the next value and create the objective-c object for it.
-
- - (long)dataType;
- // Return the type code for this column.
- - (unsigned)columnSize;
- // Return the size of an individual item for this column.
- - (EOAttribute *)attribute;
- // Return the EOAttribute for which this column was created.
-
- - (BOOL)sendParameter:(id)value withCmd:(void*)cmd;
- // Used by the SybaseStoredProcedure implementation.
- // Take the given value, and using the type mapping information in the
- // column and attribute, pass the appropriate set of bytes to the
- // server using the ct_param() call in the sybase client library.
- @end
-