home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OpenStep (Enterprise)
/
OpenStepENTCD.toast
/
OEDEV
/
DEV.Z
/
SybaseColumn.h
< prev
next >
Wrap
Text File
|
1996-09-09
|
2KB
|
57 lines
// 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