Up: GEOS SDK TechDocs| Up | Prev: DataStoreCreate() ... | Next: DataStoreGetFieldChunk() ...

DataStoreDiscardRecord()

DataStoreDataError	DataStoreDiscardRecord(
        word		dsToken);	/* session token to opened datastore */

Flushes the current record from the record buffer (without saving any changes). Returns a DataStoreDataError value (DSDE_NO_ERROR if successful).

Include: datastor.h

See Also: DataStoreSaveRecord().

DataStoreFieldEnum()

DataStoreError	DataStoreFieldEnum(
        word		dsToken,
        RecordHeader		*recordPtr,
        void		*enumDataPtr,
        Boolean _pascal (*CallbackRoutine) (
        	void		*fieldDataPtr,
        	word		fieldDataSize,
        	FieldType		fieldType,
        	FieldCategory		fieldCat,
        	FieldID		fieldID,
        	FieldFlags		flags,
        	void		*enumDataPtr));

Enumerates through the fields in the passed record. When the callback returns TRUE, stops enumeration and returns DSE_NO_ERROR. Takes the following arguments:recordPtr

dsToken
Session token to the opened datastore.
recordPtr
Pointer to a RecordHeader structure.
		typedef struct {
			RecordID		RH_id;
			word		RH_size;
			byte		RH_fieldCount;
		} RecordHeader;
enumDataPtr
Pointer to data that caller passes to the callback.
CallbackRoutine
Boolean subroutine to determine when enumeration should end.

Be Sure To: Lock the record first with DataStoreLockRecord() before calling this routine.

Warnings: Callback can modify data passed in enumDataPtr but cannot modify any actual field data.

Include: datastor.h

See Also: DataStoreRecordEnum().

DataStoreFieldIDToName()

DataStoreStructureError	DataStoreFieldIDToName(
        word		dsToken,	/* session token to opened datastore */
        FieldID		fieldID,
        TCHAR		*fieldNamePtr,
        word		*nameSizePtr);

Writes the field name corresponding to the passed FieldID ( fieldID ) to fieldNamePtr . Copies no more than nameSizePtr bytes and overwrites this same parameter with the number of bytes actually copied. Returns a DataStoreStructureError value (DSSE_NO_ERROR if successful).

Include: datastor.h

See Also: DataStoreFieldNameToID().

DataStoreFieldNameToID()

DataStoreStructureError	DataStoreFieldNameToID(
        word		dsToken,	/* session token to opened datastore */
        TCHAR		*fieldNamePtr,
        FieldID		*fieldIDPtr);

Writes the FieldID corresponding to the passed field name (fieldNamePtr ) to fieldIDPtr . Returns a DataStoreStructureError value (DSSE_NO_ERROR if successful).

Include: datastor.h

See Also: DataStoreFieldIDToName().

DataStoreGetExtraData()

DataStoreError	DataStoreGetExtraData(
        word		dsToken,	/* session token to opened datastore */
        void		*dataPtr, /* data read from file header */
        word		*dataSizePtr);

Writes any extra data for this datastore to dataPtr . Writes the number of bytes copied to dataSizePtr . Returns a DataStoreError value (DSE_NO_ERROR if successful).

Include: datastor.h

DataStoreGetField()

DataStoreDataError	DataStoreGetField(
        word		dsToken,	/* session token to opened datastore */
        TCHAR		*fieldNamePtr,
        FieldID		fieldID,
        void		**blockPtrPtr,
        word		*blockSizePtr,
        MemHandle		*blockHanPtr);

Writes contents of the passed field to a block. If blockPtrPtr is NULL, allocates a block and writes its handle to blockHanPtr and its size to blockSizePtr . If blockPtrPtr is not NULL and field data exceeds block size, copies blockSizePtr bytes to the block and returns DSDE_EXCEEDS_BUFFER_SIZE. Returns a DataStoreDataError value (DSDE_NO_ERROR if successful).

If referencing field by name, pass "0" in fieldID ; if referencing field by FieldID , pass NULL in fieldNamePtr .

Warnings: If the passed field is not present, writes "0" to blockSizePtr and returns DSDE_NO_ERROR.

Include: datastor.h

See Also: DataStoreGetFieldChunk().


Up: GEOS SDK TechDocs| Up | Prev: DataStoreCreate() ... | Next: DataStoreGetFieldChunk() ...