The mi_row_desc_free() function

The mi_row_desc_free() routine frees a row descriptor.

Syntax

void mi_row_desc_free(row_desc)
   MI_ROW_DESC *row_desc;
row_desc
A pointer to the row descriptor to be freed.
Valid in client LIBMI application? Valid in user-defined routine?
No Yes

Usage

The mi_row_desc_free() function frees the row descriptor that row_desc references. The mi_row_desc_free() function is the destructor function for the row descriptor. However, only use mi_row_desc_free() to free a row descriptor that was created with the mi_row_desc_create() function. Do not use it to free a row descriptor that a DataBlade® API function allocates. For example, do not use mi_row_desc_free() to free the row descriptor for the current statement, which the mi_get_row_desc_without_row() function allocates.

Server only: In a C UDR, the row structure and row descriptor are part of the same data structure. The row structure is just a data buffer in the row descriptor that holds copies of the column values of a row. Therefore, the mi_row_desc_free() function automatically frees both the row descriptor and the associated row structure. Examine the contents of a row structure before you deallocate the associated row descriptor with mi_row_desc_free().
Client only: In a client LIBMI application, the row structure and row descriptor are separate data structures. The mi_row_desc_free() function only frees a row descriptor. It does not affect the associated row structure.

In a client LIBMI application, a row structure and a row descriptor are separate data structures. There can be a one-to-many correspondence between a row descriptor and its associated row structures. When you call mi_row_desc_free(), you free only the specified row descriptor.

Return values

None.