Functions | |
RDM_RETCODE | rdm_cursorMoveToAfterLast (RDM_CURSOR cursor) |
Position a cursor to the AfterLast position. More... | |
RDM_RETCODE | rdm_cursorMoveToBeforeFirst (RDM_CURSOR cursor) |
Position a cursor to the BeforeFirst position. More... | |
RDM_RETCODE | rdm_cursorMoveToFirst (RDM_CURSOR cursor) |
Position a cursor to the first row in the collection. More... | |
RDM_RETCODE | rdm_cursorMoveToKey (RDM_CURSOR cursor, RDM_KEY_ID keyId, const void *keyValue, size_t bytesIn) |
Position a cursor based on a key value. More... | |
RDM_RETCODE | rdm_cursorMoveToLast (RDM_CURSOR cursor) |
Position a cursor to the last row in the collection. More... | |
RDM_RETCODE | rdm_cursorMoveToNext (RDM_CURSOR cursor) |
Position a cursor to the next row in the collection. More... | |
RDM_RETCODE | rdm_cursorMoveToPosition (RDM_CURSOR cursor1, RDM_CURSOR cursor2) |
Position a cursor based on the currow row of another cursor. More... | |
RDM_RETCODE | rdm_cursorMoveToPrevious (RDM_CURSOR cursor) |
Position a cursor to the previous row in the collection. More... | |
RDM_RETCODE | rdm_cursorMoveToRowId (RDM_CURSOR cursor, RDM_ROWID_T rowid) |
Position a cursor based on a rowid. More... | |
RDM_RETCODE | rdm_cursorMoveToSearchKey (RDM_CURSOR cursor, RDM_KEY_ID keyId, const RDM_SEARCH_KEY *keyValue) |
Position a cursor based on a key value. More... | |
API for navigating a core cursor. All the functions here are located in RDM DB Engine Library. Linker option:
-lrdmrdm
See RDM Cursor APIs for a more detailed description of a cursor.
RDM_RETCODE rdm_cursorMoveToAfterLast | ( | RDM_CURSOR | cursor | ) |
#include <rdmcursorapi.h>
Position a cursor to the AfterLast position.
This function will position a cursor to the AfterLast position.
sOKAY | Normal, successful return. |
eDBNOTOPEN | Database not open. |
eNOSTARTREAD | A read operation was attempted when no rdm_dbStartSnapshot(), rdm_dbStartRead(), or rdm_dbStartUpdate() is active. |
eNOTLOCKED | Attempt to access a table for reading or update without proper locks. |
eOWNERDELETED | The owner row for a set cursor has been deleted. |
eSINGLETONDELETED | The row for a singleton cursor has been deleted. |
[in] | cursor | The cursor to be positioned |
RDM_RETCODE rdm_cursorMoveToBeforeFirst | ( | RDM_CURSOR | cursor | ) |
#include <rdmcursorapi.h>
Position a cursor to the BeforeFirst position.
This function will position a cursor to the BeforeFirst position.
sOKAY | Normal, successful return. |
eDBNOTOPEN | Database not open. |
eNOSTARTREAD | A read operation was attempted when no rdm_dbStartSnapshot(), rdm_dbStartRead(), or rdm_dbStartUpdate() is active. |
eNOTLOCKED | Attempt to access a table for reading or update without proper locks. |
eOWNERDELETED | The owner row for a set cursor has been deleted. |
eSINGLETONDELETED | The row for a singleton cursor has been deleted. |
[in] | cursor | The cursor to be positioned |
RDM_RETCODE rdm_cursorMoveToFirst | ( | RDM_CURSOR | cursor | ) |
#include <rdmcursorapi.h>
Position a cursor to the first row in the collection.
This function will position a cursor to the first row in the collection. If there are no rows in the collection then the cursor will be positioned to AfterLast and the function will return sENDOFCURSOR.
sOKAY | Normal, successful return. |
eNOSTARTREAD | A read operation was attempted when no rdm_dbStartSnapshot(), rdm_dbStartRead(), or rdm_dbStartUpdate() is active. |
eNOTLOCKED | Attempt to access a table for reading or update without proper locks. |
eDBNOTOPEN | Database not open. |
sENDOFCURSOR | Reached the end of the cursor collection. No rows in the collection. |
eOWNERDELETED | The owner row for a set cursor has been deleted. |
eSINGLETONDELETED | The row for a singleton cursor has been deleted. |
[in] | cursor | The cursor to be positioned |
RDM_RETCODE rdm_cursorMoveToKey | ( | RDM_CURSOR | cursor, |
RDM_KEY_ID | keyId, | ||
const void * | keyValue, | ||
size_t | bytesIn | ||
) |
#include <rdmcursorapi.h>
Position a cursor based on a key value.
This function will position a cursor to the first row in the row set that has the specified key value. The cursor to be positioned can be any type of cursor and does not need to be a key scan cursor based on keyId. Using the partial key allows a subset of the columns in a compound key to be considered in the search.
If there is no exact match then:
The engine validates the size of the buffers prior to accessing them.
sOKAY | Normal, successful return. |
eNOSTARTREAD | A read operation was attempted when no rdm_dbStartSnapshot(), rdm_dbStartRead(), or rdm_dbStartUpdate() is active. |
eNOTLOCKED | Attempt to access a table for reading or update without proper locks. |
eDBNOTOPEN | Database not open. |
eOWNERDELETED | The owner row for a set cursor has been deleted. |
eSINGLETONDELETED | The row for a singleton cursor has been deleted. |
sNOTFOUND | Requested item not found. Did not find an exact match, but positioned cursor between keys. |
eNOTINCURSOR | The row is not in the cursor. |
[in] | cursor | The cursor to be positioned |
[in] | keyId | The key id |
[in] | keyValue | The key value to position to |
[in] | bytesIn | The length of keyValue in bytes |
Referenced by RDM::TIME_SERIES::restore_aggregate< TIME_STAMP_KEY_T, SOURCE_TIME_STAMP_KEY, AGGREGATE_TIME_STAMP_KEY, AGGREGATE_T, NEXT >::put_range(), RDM::TIME_SERIES::restore_aggregate< TIME_STAMP_KEY_T, SOURCE_TIME_STAMP_KEY, AGGREGATE_TIME_STAMP_KEY, AGGREGATE_T, NEXT >::put_stat(), and RDM::TIME_SERIES::restore_aggregate< TIME_STAMP_KEY_T, SOURCE_TIME_STAMP_KEY, AGGREGATE_TIME_STAMP_KEY, AGGREGATE_T, NEXT >::put_value().
RDM_RETCODE rdm_cursorMoveToLast | ( | RDM_CURSOR | cursor | ) |
#include <rdmcursorapi.h>
Position a cursor to the last row in the collection.
This function will position a cursor to the last row in the collection. If there are no rows in the collection then the cursor will be positioned to BeforeFirst and the function will return sENDOFCURSOR.
sOKAY | Normal, successful return. |
eNOSTARTREAD | A read operation was attempted when no rdm_dbStartSnapshot(), rdm_dbStartRead(), or rdm_dbStartUpdate() is active. |
eNOTLOCKED | Attempt to access a table for reading or update without proper locks. |
eDBNOTOPEN | Database not open. |
eOWNERDELETED | The owner row for a set cursor has been deleted. |
eSINGLETONDELETED | The row for a singleton cursor has been deleted. |
sENDOFCURSOR | Reached the end of the cursor collection. No rows in the collection. |
[in] | cursor | The cursor to be positioned |
Referenced by RDM::TIME_SERIES::restore_aggregate< TIME_STAMP_KEY_T, SOURCE_TIME_STAMP_KEY, AGGREGATE_TIME_STAMP_KEY, AGGREGATE_T, NEXT >::put_range(), RDM::TIME_SERIES::restore_aggregate< TIME_STAMP_KEY_T, SOURCE_TIME_STAMP_KEY, AGGREGATE_TIME_STAMP_KEY, AGGREGATE_T, NEXT >::put_stat(), and RDM::TIME_SERIES::restore_aggregate< TIME_STAMP_KEY_T, SOURCE_TIME_STAMP_KEY, AGGREGATE_TIME_STAMP_KEY, AGGREGATE_T, NEXT >::put_value().
RDM_RETCODE rdm_cursorMoveToNext | ( | RDM_CURSOR | cursor | ) |
#include <rdmcursorapi.h>
Position a cursor to the next row in the collection.
This function will position a cursor to the next row in the collection.
If cursor was positioned to the last row in the collection then the cursor will be positioned to AfterLast and the function will return the status sENDOFCURSOR.
If cursor was positioned to AfterLast then the function will return the error eINVITERATION.
sOKAY | Normal, successful return. |
eNOSTARTREAD | A read operation was attempted when no rdm_dbStartSnapshot(), rdm_dbStartRead(), or rdm_dbStartUpdate() is active. |
eNOTLOCKED | Attempt to access a table for reading or update without proper locks. |
eDBNOTOPEN | Database not open. |
eOWNERDELETED | The owner row for a set cursor has been deleted. |
eSINGLETONDELETED | The row for a singleton cursor has been deleted. |
sENDOFCURSOR | Reached the end of the cursor collection. Reached the end of the collection. |
eINVITERATION | Invalid attempt to move cursor before 'BeforeFirst' or past 'AfterLast'. |
[in] | cursor | The cursor to be positioned |
Referenced by RDM::TIME_SERIES::restore_aggregate< TIME_STAMP_KEY_T, SOURCE_TIME_STAMP_KEY, AGGREGATE_TIME_STAMP_KEY, AGGREGATE_T, NEXT >::put_range(), RDM::TIME_SERIES::restore_aggregate< TIME_STAMP_KEY_T, SOURCE_TIME_STAMP_KEY, AGGREGATE_TIME_STAMP_KEY, AGGREGATE_T, NEXT >::put_stat(), and RDM::TIME_SERIES::restore_aggregate< TIME_STAMP_KEY_T, SOURCE_TIME_STAMP_KEY, AGGREGATE_TIME_STAMP_KEY, AGGREGATE_T, NEXT >::put_value().
RDM_RETCODE rdm_cursorMoveToPosition | ( | RDM_CURSOR | cursor1, |
RDM_CURSOR | cursor2 | ||
) |
#include <rdmcursorapi.h>
Position a cursor based on the currow row of another cursor.
This function will position a cursor to the current row of another cursor. If the row is not in the row set an error (eNOTINCURSOR) will be returned and the cursor position will be left unchanged.
sOKAY | Normal, successful return. |
eNOSTARTREAD | A read operation was attempted when no rdm_dbStartSnapshot(), rdm_dbStartRead(), or rdm_dbStartUpdate() is active. |
eNOTLOCKED | Attempt to access a table for reading or update without proper locks. |
eDBNOTOPEN | Database not open. |
eOWNERDELETED | The owner row for a set cursor has been deleted. |
eSINGLETONDELETED | The row for a singleton cursor has been deleted. |
sNOTFOUND | Requested item not found. Did not find an exact match, but positioned cursor between records. |
eNOTINCURSOR | The row is not in the cursor. |
[in] | cursor1 | The cursor to be positioned |
[in] | cursor2 | The cursor whose current row cursor1 will be positioned to |
RDM_RETCODE rdm_cursorMoveToPrevious | ( | RDM_CURSOR | cursor | ) |
#include <rdmcursorapi.h>
Position a cursor to the previous row in the collection.
This function will position a cursor to the previous row in the collection.
If cursor was positioned to the first row in the collection then the cursor will be positioned to BeforeFirst and the function will return the status sENDOFCURSOR.
If cursor was positioned to BeforeFirst then the function will return the error eINVITERATION.
sOKAY | Normal, successful return. |
eNOSTARTREAD | A read operation was attempted when no rdm_dbStartSnapshot(), rdm_dbStartRead(), or rdm_dbStartUpdate() is active. |
eNOTLOCKED | Attempt to access a table for reading or update without proper locks. |
eDBNOTOPEN | Database not open. |
eOWNERDELETED | The owner row for a set cursor has been deleted. |
eSINGLETONDELETED | The row for a singleton cursor has been deleted. |
sENDOFCURSOR | Reached the end of the cursor collection. Reached the end of the collection. |
eINVITERATION | Invalid attempt to move cursor before 'BeforeFirst' or past 'AfterLast'. |
[in] | cursor | The cursor to be positioned |
RDM_RETCODE rdm_cursorMoveToRowId | ( | RDM_CURSOR | cursor, |
RDM_ROWID_T | rowid | ||
) |
#include <rdmcursorapi.h>
Position a cursor based on a rowid.
This function will position a cursor to the row at specified rowid. The cursor can be any type of cursor and does not need to be a table scan cursor.
If there is no exact match found then:
sOKAY | Normal, successful return. |
eNOSTARTREAD | A read operation was attempted when no rdm_dbStartSnapshot(), rdm_dbStartRead(), or rdm_dbStartUpdate() is active. |
eNOTLOCKED | Attempt to access a table for reading or update without proper locks. |
eDBNOTOPEN | Database not open. |
eOWNERDELETED | The owner row for a set cursor has been deleted. |
eSINGLETONDELETED | The row for a singleton cursor has been deleted. |
eNOTINCURSOR | The row is not in the cursor. |
sNOTFOUND | Requested item not found. |
[in] | cursor | The cursor to be positioned |
[in] | rowid | The rowid to position the cursor to |
RDM_RETCODE rdm_cursorMoveToSearchKey | ( | RDM_CURSOR | cursor, |
RDM_KEY_ID | keyId, | ||
const RDM_SEARCH_KEY * | keyValue | ||
) |
#include <rdmcursorapi.h>
Position a cursor based on a key value.
This function will position a cursor to the first row in the row set that has the specified key value. The cursor to be positioned can be any type of cursor and does not need to be a key scan cursor based on keyId. Using the partial key allows a subset of the columns in a compound key to be considered in the search.
If there is no exact match then:
The engine validates the size of the buffers prior to accessing them.
keyValue.value
buffer is smaller than the size required to fully define the key then the remainder of the full buffer will be padded with NULL bytes and the search will be performed using that value.keyValue.value
buffer is larger than the size required to fully define the key then the extra bytes will be ignored and the search will be performed using the truncated value.sOKAY | Normal, successful return. |
eNOSTARTREAD | A read operation was attempted when no rdm_dbStartSnapshot(), rdm_dbStartRead(), or rdm_dbStartUpdate() is active. |
eNOTLOCKED | Attempt to access a table for reading or update without proper locks. |
eDBNOTOPEN | Database not open. |
eOWNERDELETED | The owner row for a set cursor has been deleted. |
eSINGLETONDELETED | The row for a singleton cursor has been deleted. |
sNOTFOUND | Requested item not found. Did not find an exact match, but positioned cursor between keys. |
eNOTINCURSOR | The row is not in the cursor. |
[in] | cursor | The cursor to be positioned |
[in] | keyId | The key id |
[in] | keyValue | The key value to position to |