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 #if !defined(RDMCURSORAPI_H_INCLUDED_)
18 #define RDMCURSORAPI_H_INCLUDED_
19 
20 #if defined(__cplusplus) && !defined(CPP_HEADER_INCLUDED)
21 #error rdmcursorapi.h is only for C applications. Do not include it directly in C++ applications. Use cpp-rdmcursorapi.h instead
22 #endif
23 
24 #include "rdmtypes.h"
25 #include "rdmrowidtypes.h"
26 
139 #if !defined(RDM_NO_UNICODE)
140 #define rdm_cursorReadColumnIntoString RDM_T_FUNC(rdm_cursorReadColumnIntoString)
141 #define rdm_cursorUpdateColumnByString RDM_T_FUNC(rdm_cursorUpdateColumnByString)
142 #endif
143 
185 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorAddMember (
186  RDM_CURSOR setCursor,
187  RDM_CURSOR memberCursor
188  );
189 
213 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorClose (
214  RDM_CURSOR cursor
215  );
216 
276 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorComparePosition (
277  RDM_CURSOR cursorPrimary,
279  RDM_CURSOR cursorSecondary,
281  RDM_CURSOR_COMPARE *comparison
283  );
284 
332 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorDeleteRow (
333  RDM_CURSOR cursor
334  );
335 
336 
351 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorFree (
352  RDM_CURSOR cursor
353  );
354 
386 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetBlobSize (
387  RDM_CURSOR cursor,
388  RDM_COLUMN_ID columnId,
389  uint64_t *size
390  );
391 
425 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetClobSize (
426  RDM_CURSOR cursor,
427  RDM_COLUMN_ID columnId,
428  uint64_t *numCharacters
429  );
430 
464 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetClone (
465  RDM_CURSOR sourceCursor,
466  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
515  );
516 
543 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetLockStatus (
544  RDM_CURSOR cursor,
545  RDM_LOCK_STATUS *status
547  );
548 
577 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetMemberCount (
578  RDM_CURSOR cursor,
579  RDM_REF_ID refId,
580  uint64_t *memberCount
581  );
582 
631 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetMemberRows (
632  RDM_CURSOR ownerCursor,
633  RDM_REF_ID refId,
634  RDM_CURSOR *pCursor
635  );
636 
681 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetOwnerRow (
682  RDM_CURSOR memberCursor,
683  RDM_REF_ID refId,
684  RDM_CURSOR *pCursor
685  );
686 
717 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetOwnerRowId (
718  RDM_CURSOR cursor,
719  RDM_REF_ID refId,
720  RDM_ROWID_T *rowid
721  );
722 
723 
758 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetOwnerTableId (
759  RDM_CURSOR cursor,
760  RDM_REF_ID refId,
761  RDM_TABLE_ID *tableId
762  );
763 
792 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetRowId (
793  RDM_CURSOR cursor,
794  RDM_ROWID_T *rowid
795  );
796 
823 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetRowStatus (
824  RDM_CURSOR cursor,
825  RDM_ROW_STATUS_INFO *rowStat
826  );
827 
869 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetRowsAtPosition (
870  RDM_CURSOR sourceCursor,
871  RDM_CURSOR *pCursor
872  );
873 
920 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetRowsByKeyAtPosition (
921  RDM_CURSOR sourceCursor,
922  RDM_KEY_ID keyId,
923  RDM_CURSOR *pCursor
924  );
925 
963 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetRowsInReverseOrder (
964  RDM_CURSOR sourceCursor,
965  RDM_CURSOR *pCursor
966  );
967 
1009 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetSelf (
1010  RDM_CURSOR sourceCursor,
1011  RDM_CURSOR *pCursor
1012  );
1013 
1061 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetSiblingRows (
1062  RDM_CURSOR memberCursor,
1063  RDM_REF_ID refId,
1064  RDM_CURSOR *pCursor
1065  );
1066 
1116 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetSiblingRowsAtPosition (
1117  RDM_CURSOR memberCursor,
1118  RDM_REF_ID refId,
1119  RDM_CURSOR *pCursor
1120  );
1121 
1151 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetStatus (
1152  RDM_CURSOR cursor,
1153  RDM_CURSOR_STATUS *position
1154  );
1155 
1179 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetTableId (
1180  RDM_CURSOR cursor,
1181  RDM_TABLE_ID *tableId
1182  );
1183 
1184 
1201 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorGetType (
1202  RDM_CURSOR cursor,
1203  RDM_CURSOR_TYPE *type
1204  );
1205 
1239 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorHasMembers (
1240  RDM_CURSOR cursor,
1241  RDM_REF_ID refId,
1242  RDM_BOOL_T *hasMembers
1243  );
1244 
1278 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorHasOwner (
1279  RDM_CURSOR cursor,
1280  RDM_REF_ID refId,
1281  RDM_BOOL_T *hasOwner
1282  );
1283 
1284 
1308 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorIsAfterLast (
1309  RDM_CURSOR cursor,
1310  RDM_BOOL_T *isAfterLast
1311  );
1312 
1313 
1337 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorIsBeforeFirst (
1338  RDM_CURSOR cursor,
1339  RDM_BOOL_T *isBeforeFirst
1340  );
1341 
1383 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorLinkRow (
1384  RDM_CURSOR cursor,
1385  RDM_REF_ID refId,
1386  RDM_CURSOR cursorOwner
1387  );
1388 
1425 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToAfterLast (
1426  RDM_CURSOR cursor
1427  );
1428 
1465 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToBeforeFirst (
1466  RDM_CURSOR cursor
1467  );
1468 
1469 
1510 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToFirst (
1511  RDM_CURSOR cursor
1512  );
1513 
1576 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToKey (
1577  RDM_CURSOR cursor,
1578  RDM_KEY_ID keyId,
1579  const void *keyValue,
1580  size_t bytesIn
1581  );
1582 
1622 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToLast (
1623  RDM_CURSOR cursor
1624  );
1625 
1626 
1672 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToNext (
1673  RDM_CURSOR cursor
1674  );
1675 
1720 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToPosition (
1721  RDM_CURSOR cursor1,
1722  RDM_CURSOR cursor2
1723  );
1724 
1770 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToPrevious (
1771  RDM_CURSOR cursor
1772  );
1773 
1827 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToRowId (
1828  RDM_CURSOR cursor,
1829  RDM_ROWID_T rowid
1830  );
1831 
1832 
1896 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorMoveToSearchKey (
1897  RDM_CURSOR cursor,
1898  RDM_KEY_ID keyId,
1899  const RDM_SEARCH_KEY *keyValue
1900  );
1901 
1945 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadBlob (
1946  RDM_CURSOR cursor,
1947  RDM_COLUMN_ID columnId,
1948  uint64_t offset,
1949  void *value,
1950  size_t bytesIn,
1951  size_t *bytesOut
1952  );
1953 
2007 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadClob (
2008  RDM_CURSOR cursor,
2009  RDM_COLUMN_ID columnId,
2010  uint64_t offset,
2011  char *value,
2012  size_t bytesIn,
2013  size_t *bytesOut,
2014  size_t *charactersOut
2015  );
2016 
2077 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadColumn (
2078  RDM_CURSOR cursor,
2079  RDM_COLUMN_ID columnId,
2080  void *columnValue,
2082  size_t bytesIn,
2083  size_t *bytesOut
2085  );
2086 
2087 
2141 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadColumnIntoString (
2142  RDM_CURSOR cursor,
2143  RDM_COLUMN_ID columnId,
2144  RDM_TCHAR_T *columnValue,
2146  size_t inBytes,
2147  size_t *bytesOut
2149  );
2150 
2201 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadKey (
2202  RDM_CURSOR cursor,
2203  RDM_KEY_ID keyId,
2204  void *keyValue,
2206  size_t bytesIn,
2207  size_t *bytesOut
2209  );
2210 
2211 
2261 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorReadRow (
2262  RDM_CURSOR cursor,
2263  void *colValues,
2264  size_t bytesIn,
2265  size_t *bytesOut
2266  );
2267 
2318 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorRelinkRow (
2319  RDM_CURSOR cursor,
2320  RDM_REF_ID refId,
2321  RDM_CURSOR cursorOwner
2322  );
2323 
2365 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorRemoveMember (
2366  RDM_CURSOR setCursor
2367  );
2368 
2408 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorSetBlobSize (
2409  RDM_CURSOR cursor,
2410  RDM_COLUMN_ID columnId,
2411  uint64_t size
2412  );
2413 
2455 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorSetClobSize (
2456  RDM_CURSOR cursor,
2457  RDM_COLUMN_ID columnId,
2458  uint64_t size
2459  );
2460 
2500 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUnlinkAndDeleteRow (
2501  RDM_CURSOR cursor
2502  );
2503 
2545 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUnlinkRow (
2546  RDM_CURSOR cursor,
2547  RDM_REF_ID refId
2548  );
2549 
2587 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUpdateBlob (
2588  RDM_CURSOR cursor,
2589  RDM_COLUMN_ID columnId,
2590  uint64_t offset,
2591  const void *value,
2592  size_t bytesIn
2593  );
2594 
2595 
2633 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUpdateClob (
2634  RDM_CURSOR cursor,
2635  RDM_COLUMN_ID columnId,
2636  uint64_t offset,
2637  const char *value,
2638  size_t charactersIn
2639  );
2640 
2693 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUpdateColumn (
2694  RDM_CURSOR cursor,
2695  RDM_COLUMN_ID columnId,
2696  const void *columnValue,
2697  size_t bytesIn
2698  );
2699 
2700 
2755 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUpdateColumnByString (
2756  RDM_CURSOR cursor,
2757  RDM_COLUMN_ID columnId,
2758  const RDM_TCHAR_T *columnValue,
2759  size_t bytesIn
2760  );
2761 
2816 RDM_EXPORT RDM_RETCODE EXTERNAL_FCN rdm_cursorUpdateRow (
2817  RDM_CURSOR cursor,
2818  const void *colValues,
2824  size_t bytesIn
2826  );
2827 
2828 #endif /* RDMAPI_H */
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:114
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:241
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:217
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:32
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:26
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:257
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:28
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:153
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:175
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:240
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:27
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:29
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.