Products Support Documentation Download
rdmcursorapi.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2  * Raima Database Manager
3  *
4  * Copyright (c) 2017 Raima Inc., All rights reserved.
5  *
6  * Use of this software, whether in source code format, or in executable,
7  * binary object code form, is governed by the Raima LICENSE which
8  * is fully described in the LICENSE.TXT file, included within this
9  * distribution of files.
10  * ----------------------------------------------------------------------------
11  */
12 
17 #include "rdmtypes.h"
18 #include "rdmrowidtypes.h"
19 
132 #if defined(RDM_UNICODE)
133 #define rdm_cursorReadColumnIntoString \
134  RDM_T_FUNC (rdm_cursorReadColumnIntoString)
135 #define rdm_cursorUpdateColumnByString \
136  RDM_T_FUNC (rdm_cursorUpdateColumnByString)
137 #endif
138 
139 #if defined(__cplusplus)
140 extern "C" {
141 #endif
142 
184 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorAddMember (
185  RDM_CURSOR setCursor,
186  RDM_CURSOR memberCursor
187 );
188 
212 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorClose (
213  RDM_CURSOR cursor
214 );
215 
275 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorComparePosition (
276  RDM_CURSOR cursorPrimary,
278  RDM_CURSOR cursorSecondary,
280  RDM_CURSOR_COMPARE *comparison
282 );
283 
331 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorDeleteRow (
332  RDM_CURSOR cursor
333 );
334 
349 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorFree (
350  RDM_CURSOR cursor
351 );
352 
384 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetBlobSize (
385  RDM_CURSOR cursor,
386  RDM_COLUMN_ID columnId,
387  uint64_t *size
388 );
389 
423 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetClobSize (
424  RDM_CURSOR cursor,
425  RDM_COLUMN_ID columnId,
426  uint64_t *numCharacters
427 );
428 
462 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetClone (
463  RDM_CURSOR sourceCursor,
464  RDM_CURSOR *pCursor
467 );
468 
491 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetCount (
492  RDM_CURSOR cursor,
493  uint64_t *count
494 );
495 
512 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetDatabase (
513  RDM_CURSOR cursor,
514  RDM_DB *pDb
516 );
517 
544 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetLockStatus (
545  RDM_CURSOR cursor,
546  RDM_LOCK_STATUS *status
548 );
549 
579 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetMemberCount (
580  RDM_CURSOR cursor,
581  RDM_REF_ID refId,
582  uint64_t *memberCount
583 );
584 
633 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetMemberRows (
634  RDM_CURSOR ownerCursor,
635  RDM_REF_ID refId,
636  RDM_CURSOR *pCursor
638 );
639 
685 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetOwnerRow (
686  RDM_CURSOR memberCursor,
687  RDM_REF_ID refId,
688  RDM_CURSOR *pCursor
690 );
691 
722 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetOwnerRowId (
723  RDM_CURSOR cursor,
724  RDM_REF_ID refId,
725  RDM_ROWID_T *rowid
726 );
727 
762 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetOwnerTableId (
763  RDM_CURSOR cursor,
764  RDM_REF_ID refId,
765  RDM_TABLE_ID *tableId
766 );
767 
796 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetRowId (
797  RDM_CURSOR cursor,
798  RDM_ROWID_T *rowid
799 );
800 
827 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetRowStatus (
828  RDM_CURSOR cursor,
829  RDM_ROW_STATUS_INFO *rowStat
830 );
831 
873 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetRowsAtPosition (
874  RDM_CURSOR sourceCursor,
876  RDM_CURSOR *pCursor
878 );
879 
926 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetRowsByKeyAtPosition (
927  RDM_CURSOR sourceCursor,
929  RDM_KEY_ID keyId,
930  RDM_CURSOR *pCursor
932 );
933 
971 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetRowsInReverseOrder (
972  RDM_CURSOR sourceCursor,
973  RDM_CURSOR *pCursor
975 );
976 
1018 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetSelf (
1019  RDM_CURSOR sourceCursor,
1020  RDM_CURSOR *pCursor
1022 );
1023 
1071 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetSiblingRows (
1072  RDM_CURSOR memberCursor,
1073  RDM_REF_ID
1074  refId,
1075  RDM_CURSOR *pCursor
1077 );
1078 
1128 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetSiblingRowsAtPosition (
1129  RDM_CURSOR memberCursor,
1130  RDM_REF_ID
1131  refId,
1132  RDM_CURSOR *pCursor
1134 );
1135 
1165 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetStatus (
1166  RDM_CURSOR cursor,
1167  RDM_CURSOR_STATUS *position
1168 );
1169 
1193 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetTableId (
1194  RDM_CURSOR cursor,
1195  RDM_TABLE_ID *tableId
1196 );
1197 
1214 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetType (
1215  RDM_CURSOR cursor,
1216  RDM_CURSOR_TYPE *type
1217 );
1218 
1252 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorHasMembers (
1253  RDM_CURSOR cursor,
1254  RDM_REF_ID refId,
1255  RDM_BOOL_T *hasMembers
1256 );
1257 
1291 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorHasOwner (
1292  RDM_CURSOR cursor,
1293  RDM_REF_ID refId,
1294  RDM_BOOL_T *hasOwner
1295 );
1296 
1320 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorIsAfterLast (
1321  RDM_CURSOR cursor,
1322  RDM_BOOL_T *isAfterLast
1323 );
1324 
1348 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorIsBeforeFirst (
1349  RDM_CURSOR cursor,
1350  RDM_BOOL_T *isBeforeFirst
1351 );
1352 
1394 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorLinkRow (
1395  RDM_CURSOR cursor,
1396  RDM_REF_ID refId,
1397  RDM_CURSOR cursorOwner
1398 );
1399 
1436 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToAfterLast (
1437  RDM_CURSOR cursor
1438 );
1439 
1476 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToBeforeFirst (
1477  RDM_CURSOR cursor
1478 );
1479 
1520 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToFirst (
1521  RDM_CURSOR cursor
1522 );
1523 
1587 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToKey (
1588  RDM_CURSOR cursor,
1589  RDM_KEY_ID keyId,
1590  const void *keyValue,
1591  size_t bytesIn
1592 );
1593 
1633 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToLast (
1634  RDM_CURSOR cursor
1635 );
1636 
1682 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToNext (
1683  RDM_CURSOR cursor
1684 );
1685 
1730 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToPosition (
1731  RDM_CURSOR cursor1,
1732  RDM_CURSOR cursor2
1733 );
1734 
1780 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToPrevious (
1781  RDM_CURSOR cursor
1782 );
1783 
1837 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToRowId (
1838  RDM_CURSOR cursor,
1839  RDM_ROWID_T rowid
1840 );
1841 
1904 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToSearchKey (
1905  RDM_CURSOR cursor,
1906  RDM_KEY_ID keyId,
1907  const RDM_SEARCH_KEY *keyValue
1908 );
1909 
1953 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadBlob (
1954  RDM_CURSOR cursor,
1955  RDM_COLUMN_ID columnId,
1956  uint64_t offset,
1957  void *value,
1958  size_t bytesIn,
1959  size_t *bytesOut
1960 );
1961 
2015 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadClob (
2016  RDM_CURSOR cursor,
2017  RDM_COLUMN_ID columnId,
2018  uint64_t offset,
2019  char *value,
2020  size_t bytesIn,
2021  size_t *bytesOut,
2022  size_t *charactersOut
2023 );
2024 
2085 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadColumn (
2086  RDM_CURSOR cursor,
2087  RDM_COLUMN_ID columnId,
2088  void *columnValue,
2090  size_t bytesIn,
2091  size_t *bytesOut
2093 );
2094 
2148 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadColumnIntoString (
2149  RDM_CURSOR cursor,
2150  RDM_COLUMN_ID columnId,
2151  RDM_TCHAR_T *columnValue,
2153  size_t inBytes,
2154  size_t *bytesOut
2156 );
2157 
2208 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadKey (
2209  RDM_CURSOR cursor,
2210  RDM_KEY_ID keyId,
2211  void *keyValue,
2213  size_t bytesIn,
2214  size_t *bytesOut
2216 );
2217 
2266 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadRow (
2267  RDM_CURSOR cursor,
2268  void *colValues,
2269  size_t bytesIn,
2270  size_t *bytesOut
2271 );
2272 
2323 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorRelinkRow (
2324  RDM_CURSOR cursor,
2325  RDM_REF_ID refId,
2326  RDM_CURSOR cursorOwner
2327 );
2328 
2370 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorRemoveMember (
2371  RDM_CURSOR setCursor
2372 );
2373 
2413 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorSetBlobSize (
2414  RDM_CURSOR cursor,
2415  RDM_COLUMN_ID columnId,
2416  uint64_t size
2417 );
2418 
2460 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorSetClobSize (
2461  RDM_CURSOR cursor,
2462  RDM_COLUMN_ID columnId,
2463  uint64_t size
2464 );
2465 
2505 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUnlinkAndDeleteRow (
2506  RDM_CURSOR cursor
2507 );
2508 
2550 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUnlinkRow (
2551  RDM_CURSOR cursor,
2552  RDM_REF_ID refId
2553 );
2554 
2592 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUpdateBlob (
2593  RDM_CURSOR cursor,
2594  RDM_COLUMN_ID columnId,
2595  uint64_t offset,
2596  const void *value,
2597  size_t bytesIn
2598 );
2599 
2637 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUpdateClob (
2638  RDM_CURSOR cursor,
2639  RDM_COLUMN_ID columnId,
2640  uint64_t offset,
2641  const char *value,
2642  size_t charactersIn
2643 );
2644 
2697 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUpdateColumn (
2698  RDM_CURSOR cursor,
2699  RDM_COLUMN_ID columnId,
2700  const void *columnValue,
2701  size_t bytesIn
2702 );
2703 
2758 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUpdateColumnByString (
2759  RDM_CURSOR cursor,
2760  RDM_COLUMN_ID columnId,
2761  const RDM_TCHAR_T *
2762  columnValue,
2763  size_t bytesIn
2764 );
2765 
2819 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUpdateRow (
2820  RDM_CURSOR cursor,
2821  const void *colValues,
2827  size_t bytesIn
2829 );
2830 
2831 #if defined(__cplusplus)
2832 }
2833 #endif
RDM_RETCODE rdm_cursorUpdateColumn(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, const void *columnValue, size_t bytesIn)
Update a single column in a row.
RDM_RETCODE rdm_cursorGetDatabase(RDM_CURSOR cursor, RDM_DB *pDb)
Get the RDM_DB handle associated with a cursor.
RDM_RETCODE rdm_cursorAddMember(RDM_CURSOR setCursor, RDM_CURSOR memberCursor)
Add a row to a set cursor (link)
RDM_RETCODE rdm_cursorGetSelf(RDM_CURSOR sourceCursor, RDM_CURSOR *pCursor)
Associate an RDM_CURSOR with the current row of the sourceCursor.
RDM_RETCODE rdm_cursorReadColumn(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, void *columnValue, size_t bytesIn, size_t *bytesOut)
Read a single column from a table row.
RDM_RETCODE rdm_cursorGetType(RDM_CURSOR cursor, RDM_CURSOR_TYPE *type)
Get the cursor type.
RDM_RETCODE rdm_cursorMoveToPrevious(RDM_CURSOR cursor)
Position a cursor to the previous row in the collection.
RDM_RETCODE rdm_cursorIsAfterLast(RDM_CURSOR cursor, RDM_BOOL_T *isAfterLast)
Check to see if a cursor is positioned after the last row in a collection.
RDM_RETCODE rdm_cursorMoveToPosition(RDM_CURSOR cursor1, RDM_CURSOR cursor2)
Position a cursor based on the currow row of another cursor.
RDM_LOCK_STATUS
Enumeration for RDM table lock status.
Definition: rdmtypes.h:115
RDM_BOOL_T
Definition: psptypes.h:62
RDM_RETCODE rdm_cursorReadBlob(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, uint64_t offset, void *value, size_t bytesIn, size_t *bytesOut)
Read data from a blob column.
struct RDM_CURSOR_S * RDM_CURSOR
Definition: rdmtypes.h:266
RDM_RETCODE rdm_cursorGetSiblingRowsAtPosition(RDM_CURSOR memberCursor, RDM_REF_ID refId, RDM_CURSOR *pCursor)
Associate an RDM_CURSOR with siblings.
RDM_RETCODE rdm_cursorReadClob(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, uint64_t offset, char *value, size_t bytesIn, size_t *bytesOut, size_t *charactersOut)
Read data from a clob column as UTF-8.
RDM_RETCODE rdm_cursorUpdateClob(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, uint64_t offset, const char *value, size_t charactersIn)
Update a clob column.
RDM_RETCODE rdm_cursorGetRowsAtPosition(RDM_CURSOR sourceCursor, RDM_CURSOR *pCursor)
Associate an RDM_CURSOR with rows from a table ordered by rowid and positioned to the same row as the...
Header for the native RDM Runtime types.
RDM_CURSOR_TYPE
Enumeration for cursor types.
Definition: rdmtypes.h:241
RDM_RETCODE rdm_cursorComparePosition(RDM_CURSOR cursorPrimary, RDM_CURSOR cursorSecondary, RDM_CURSOR_COMPARE *comparison)
compare the position of a cursor relative to another cursor
RDM_RETCODE rdm_cursorUpdateColumnByString(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, const RDM_TCHAR_T *columnValue, size_t bytesIn)
Update a single column in a row from a string.
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.
RDM_RETCODE rdm_cursorGetOwnerTableId(RDM_CURSOR cursor, RDM_REF_ID refId, RDM_TABLE_ID *tableId)
Get the table id for the refId owner for the current row of a cursor.
The RDM Partial Key data structure.
Definition: rdmtypes.h:33
RDM_RETCODE rdm_cursorUpdateBlob(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, uint64_t offset, const void *value, size_t bytesIn)
Update a blob column.
RDM_RETCODE rdm_cursorSetClobSize(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, uint64_t size)
Set the size of a clob column.
RDM_RETCODE rdm_cursorGetSiblingRows(RDM_CURSOR memberCursor, RDM_REF_ID refId, RDM_CURSOR *pCursor)
Associate an RDM_CURSOR with siblings.
RDM_RETCODE rdm_cursorMoveToSearchKey(RDM_CURSOR cursor, RDM_KEY_ID keyId, const RDM_SEARCH_KEY *keyValue)
Position a cursor based on a key value.
RDM_RETCODE rdm_cursorGetTableId(RDM_CURSOR cursor, RDM_TABLE_ID *tableId)
Get the table id for the current row of the cursor.
RDM_RETCODE rdm_cursorRemoveMember(RDM_CURSOR setCursor)
Remove a row from a set cursor (unlink)
RDM_RETCODE rdm_cursorReadRow(RDM_CURSOR cursor, void *colValues, size_t bytesIn, size_t *bytesOut)
Read all columns from a row.
uint32_t RDM_TABLE_ID
Definition: rdmtypes.h:27
RDM_RETCODE rdm_cursorGetRowsInReverseOrder(RDM_CURSOR sourceCursor, RDM_CURSOR *pCursor)
Associate an RDM_CURSOR as a copy of an existing RDM_CURSOR with the rows in reverse order...
RDM_RETCODE rdm_cursorGetRowStatus(RDM_CURSOR cursor, RDM_ROW_STATUS_INFO *rowStat)
Get the row status information for a status cursor.
RDM_RETCODE rdm_cursorMoveToAfterLast(RDM_CURSOR cursor)
Position a cursor to the AfterLast position.
RDM_RETCODE rdm_cursorFree(RDM_CURSOR cursor)
Free an RDM_CURSOR.
RDM_RETCODE rdm_cursorGetClone(RDM_CURSOR sourceCursor, RDM_CURSOR *pCursor)
Associate an RDM_CURSOR as a clone of an existing RDM_CURSOR.
RDM Rows status info.
Definition: rdmtypes.h:285
RDM_RETCODE rdm_cursorGetClobSize(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, uint64_t *numCharacters)
Get the current size of a clob column.
RDM_RETCODE rdm_cursorMoveToBeforeFirst(RDM_CURSOR cursor)
Position a cursor to the BeforeFirst position.
RDM_RETCODE rdm_cursorMoveToLast(RDM_CURSOR cursor)
Position a cursor to the last row in the collection.
RDM_RETCODE rdm_cursorHasMembers(RDM_CURSOR cursor, RDM_REF_ID refId, RDM_BOOL_T *hasMembers)
Check to see if a row has members for the specified set.
RDM_RETCODE
RDM status and error return codes.
RDM_RETCODE rdm_cursorHasOwner(RDM_CURSOR cursor, RDM_REF_ID refId, RDM_BOOL_T *hasOwner)
Check to see if a row is a member for the specified set.
RDM_RETCODE rdm_cursorGetLockStatus(RDM_CURSOR cursor, RDM_LOCK_STATUS *status)
Get the lock status of a table.
RDM_RETCODE rdm_cursorGetRowsByKeyAtPosition(RDM_CURSOR sourceCursor, RDM_KEY_ID keyId, RDM_CURSOR *pCursor)
Associate an RDM_CURSOR with a row set based on a key and positioned to the same row as the source cu...
RDM_RETCODE rdm_cursorMoveToRowId(RDM_CURSOR cursor, RDM_ROWID_T rowid)
Position a cursor based on a rowid.
RDM_RETCODE rdm_cursorUnlinkAndDeleteRow(RDM_CURSOR cursor)
Unlink a row from all sets and delete it.
RDM_RETCODE rdm_cursorSetBlobSize(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, uint64_t size)
Set the size of a blob column.
RDM_RETCODE rdm_cursorReadKey(RDM_CURSOR cursor, RDM_KEY_ID keyId, void *keyValue, size_t bytesIn, size_t *bytesOut)
Read the columns for a key from a table row.
uint32_t RDM_KEY_ID
Definition: rdmtypes.h:29
RDM_RETCODE rdm_cursorGetStatus(RDM_CURSOR cursor, RDM_CURSOR_STATUS *position)
Check a cursor for special conditions.
RDM_RETCODE rdm_cursorLinkRow(RDM_CURSOR cursor, RDM_REF_ID refId, RDM_CURSOR cursorOwner)
Link a row to an owner.
RDM_RETCODE rdm_cursorGetOwnerRow(RDM_CURSOR memberCursor, RDM_REF_ID refId, RDM_CURSOR *pCursor)
Associate an RDM_CURSOR with a set owner.
RDM_RETCODE rdm_cursorRelinkRow(RDM_CURSOR cursor, RDM_REF_ID refId, RDM_CURSOR cursorOwner)
Unlink a row from one owner and link to another.
RDM_RETCODE rdm_cursorClose(RDM_CURSOR cursor)
Close an RDM_CURSOR.
RDM_CURSOR_STATUS
Enumeration for RDM cursor positions / statuses.
Definition: rdmtypes.h:164
RDM_RETCODE rdm_cursorGetRowId(RDM_CURSOR cursor, RDM_ROWID_T *rowid)
Get the rowid for the current row of the cursor.
RDM_RETCODE rdm_cursorMoveToNext(RDM_CURSOR cursor)
Position a cursor to the next row in the collection.
RDM_CURSOR_COMPARE
Enumeration for RDM cursor comparisons.
Definition: rdmtypes.h:186
RDM_RETCODE rdm_cursorGetMemberCount(RDM_CURSOR cursor, RDM_REF_ID refId, uint64_t *memberCount)
Get the member count for a set owner row.
RDM_RETCODE rdm_cursorGetOwnerRowId(RDM_CURSOR cursor, RDM_REF_ID refId, RDM_ROWID_T *rowid)
Get the rowid of a set owner.
struct RDM_DB_S * RDM_DB
Definition: rdmtypes.h:265
RDM_RETCODE rdm_cursorUnlinkRow(RDM_CURSOR cursor, RDM_REF_ID refId)
Unlink a row from its owner.
uint32_t RDM_COLUMN_ID
Definition: rdmtypes.h:28
RDM_RETCODE rdm_cursorGetBlobSize(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, uint64_t *size)
Get the current size of a blob column.
uint64_t RDM_ROWID_T
Definition: rdmrowidtypes.h:21
#define RDM_TCHAR_T
Definition: psptypes.h:134
RDM_RETCODE rdm_cursorDeleteRow(RDM_CURSOR cursor)
Delete a row from a table.
Header for row ID types.
uint32_t RDM_REF_ID
Definition: rdmtypes.h:30
RDM_RETCODE rdm_cursorIsBeforeFirst(RDM_CURSOR cursor, RDM_BOOL_T *isBeforeFirst)
Check to see if a cursor is positioned before the first row in a collection.
RDM_RETCODE rdm_cursorReadColumnIntoString(RDM_CURSOR cursor, RDM_COLUMN_ID columnId, RDM_TCHAR_T *columnValue, size_t inBytes, size_t *bytesOut)
Read and convert a single column to a string.
RDM_RETCODE rdm_cursorUpdateRow(RDM_CURSOR cursor, const void *colValues, size_t bytesIn)
Update all columns in a row.
RDM_RETCODE rdm_cursorMoveToFirst(RDM_CURSOR cursor)
Position a cursor to the first row in the collection.
RDM_RETCODE rdm_cursorGetCount(RDM_CURSOR cursor, uint64_t *count)
Get the row count for a cursor.
RDM_RETCODE rdm_cursorGetMemberRows(RDM_CURSOR ownerCursor, RDM_REF_ID refId, RDM_CURSOR *pCursor)
Associate an RDM_CURSOR with members.