9.16. ODPI-C SODA Collection Cursor Functions

SODA collection cursor handles are used to represent SODA collection cursors. They are created by calling the function dpiSodaDb_getCollections() and are destroyed when the last reference is released by calling the function dpiSodaCollCursor_release().

See this tracking issue for known issues with SODA.

int dpiSodaCollCursor_addRef(dpiSodaCollCursor *cursor)

Adds a reference to the SODA collection cursor. This is intended for situations where a reference to the cursor needs to be maintained independently of the reference returned when the cursor was created.

The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.

Parameter

Mode

Description

cursor

IN

The cursor to which a reference is to be added. If the reference is NULL or invalid, an error is returned.

int dpiSodaCollCursor_close(dpiSodaCollCursor *cursor)

Closes the cursor and makes it unusable for further work immediately, rather than when the reference count reaches zero.

The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.

Parameter

Mode

Description

cursor

IN

A reference to the cursor which is to be closed. If the reference is NULL or invalid, an error is returned.

int dpiSodaCollCursor_getNext(dpiSodaCollCursor *cursor, uint32_t flags, dpiSodaColl **coll)

Gets the next collection from the cursor, if there is one.

The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.

Parameter

Mode

Description

cursor

IN

The cursor from which the next collection is to be retrieved. The reference is NULL or invalid, an error is returned.

flags

IN

One or more of the values from the enumeration dpiSodaFlags, OR’ed together. Only the value DPI_SODA_FLAGS_DEFAULT is currently supported.

coll

OUT

A pointer to a reference to the next collection in the cursor, if one exists. If no further collections are available from the cursor, NULL is returned instead. The function dpiSodaColl_release() should be called when the collection is no longer required.

int dpiSodaCollCursor_release(dpiSodaCollCursor *cursor)

Releases a reference to the SODA collection cursor. A count of the references to the cursor is maintained and when this count reaches zero, the memory associated with the cursor is freed.

The function returns DPI_SUCCESS for success and DPI_FAILURE for failure.

Parameter

Mode

Description

cursor

IN

The cursor from which a reference is to be released. If the reference is NULL or invalid, an error is returned.