HDFql Reference Manual v2.6.0

5.2.53hdfql_variable_unregister

Syntax

int hdfql_variable_unregister(const void *variable)

Description

Unregister a variable named variable. In other words, HDFql will free up any memory that may have been allocated to manage the variable, as well as the number assigned to it (the number may then be assigned to a new variable registered subsequently). In general, it is advisable to unregister a variable as soon as it is no longer used by HDFql (this is especially relevant in C#, as variables are unpinned when unregistered and thus may again be moved by the Garbage Collector). If variable has never been registered or has already been unregistered, an error is returned.

Parameter(s)

variable – pointer to a variable to unregister.

Return

int – depending on the success in unregistering the variable, it can be HDFQL_SUCCESS, HDFQL_ERROR_NO_ADDRESS, or HDFQL_ERROR_NOT_REGISTERED.

Example(s)

// declare variables 
char script[1024];
short data[3]; 
int number;

// create an HDF5 dataset named "my_dataset" of data type short of one dimension (size 3) 
hdfql_execute("CREATE DATASET my_dataset AS SMALLINT(3)");

// populate variable "data" with certain values 
data[0] = 21; 
data[1] = 18;
data[2] = 75;

// register variable "data" for subsequent use (by HDFql) 
number = hdfql_variable_register(data);

// prepare script to insert (i.e. write) values from variable "data" into dataset "my_dataset"
sprintf(script, "INSERT INTO my_dataset VALUES FROM MEMORY %d", number);

// execute script 
hdfql_execute(script);

// unregister variable "data" as it is no longer used/needed (by HDFql) 
hdfql_variable_unregister(data);