Main Page   Modules   Compound List   File List   Compound Members   File Members   Related Pages  

Memory allocation
[LibTDS API]

Allocate or free resources. More...

Defines

#define SQLS_ENTRY(number, state)   case number: p = state; break

Functions

TDSDYNAMIC * tds_alloc_dynamic (TDSSOCKET *tds, const char *id)
 Allocate a dynamic statement.

void tds_free_input_params (TDSDYNAMIC *dyn)
 Frees all allocated input parameters of a dynamic statement.

void tds_free_dynamic (TDSSOCKET *tds, TDSDYNAMIC *dyn)
 Frees dynamic statement and remove from TDS.

void tds_free_all_dynamic (TDSSOCKET *tds)
 Frees all dynamic statements for a given connection.

TDSPARAMINFOtds_alloc_param_result (TDSPARAMINFO *old_param)
 Adds a output parameter to TDSPARAMINFO.

unsigned char * tds_alloc_param_row (TDSPARAMINFO *info, TDSCOLINFO *curparam)
 Add another field to row.

TDSCOMPUTEINFO ** tds_alloc_compute_results (TDS_INT *num_comp_results, TDSCOMPUTEINFO **ci, int num_cols, int by_cols)
TDSRESULTINFOtds_alloc_results (int num_cols)
unsigned char * tds_alloc_row (TDSRESULTINFO *res_info)
 Allocate space for row store return NULL on out of memory.

unsigned char * tds_alloc_compute_row (TDSCOMPUTEINFO *res_info)
void tds_free_param_results (TDSPARAMINFO *param_info)
void tds_free_compute_result (TDSCOMPUTEINFO *comp_info)
void tds_free_compute_results (TDSCOMPUTEINFO **comp_info, TDS_INT num_comp)
void tds_free_results (TDSRESULTINFO *res_info)
void tds_free_all_results (TDSSOCKET *tds)
TDSCONTEXT * tds_alloc_context (void)
void tds_free_context (TDSCONTEXT *context)
TDSLOCALE * tds_alloc_locale (void)
TDSCONNECTINFO * tds_alloc_connect (TDSLOCALE *locale)
 Allocate space for configure structure and initialize with default values.

TDS_CURSOR * tds_alloc_cursor (char *name, TDS_INT namelen, char *query, TDS_INT querylen)
void tds_free_cursor (TDS_CURSOR *cursor)
TDSLOGIN * tds_alloc_login (void)
void tds_free_login (TDSLOGIN *login)
TDSSOCKET * tds_alloc_socket (TDSCONTEXT *context, int bufsize)
TDSSOCKET * tds_realloc_socket (TDSSOCKET *tds, int bufsize)
void tds_free_socket (TDSSOCKET *tds)
void tds_free_locale (TDSLOCALE *locale)
void tds_free_connect (TDSCONNECTINFO *connect_info)
void tds_free_msg (TDSMSGINFO *msg_info)
char * tds_alloc_client_sqlstate (int msgnum)
char * tds_alloc_lookup_sqlstate (TDSSOCKET *tds, int msgnum)

Detailed Description

Allocate or free resources.

Allocation can fail only on out of memory. In such case they return NULL and leave the state as before call.


Function Documentation

TDSCONNECTINFO* tds_alloc_connect TDSLOCALE *  locale  ) 
 

Allocate space for configure structure and initialize with default values.

Parameters:
locale locale information (copied to configuration information)
Returns:
allocated structure or NULL if out of memory

TDSDYNAMIC * tds_alloc_dynamic TDSSOCKET *  tds,
const char *  id
 

Allocate a dynamic statement.

Parameters:
tds the connection within which to allocate the statement.
id a character label identifying the statement.
Returns:
a pointer to the allocated structure (NULL on failure).
tds_alloc_dynamic is used to implement placeholder code under TDS 5.0

TDSPARAMINFO * tds_alloc_param_result TDSPARAMINFO old_param  ) 
 

Adds a output parameter to TDSPARAMINFO.

Parameters:
old_param a pointer to the TDSPARAMINFO structure containing the current set of output parameter, or NULL if none exists.
Returns:
a pointer to the new TDSPARAMINFO structure.
tds_alloc_param_result() works a bit differently than the other alloc result functions. Output parameters come in individually with no total number given in advance, so we simply call this func every time with get a TDS_PARAM_TOKEN and let it realloc the columns struct one bigger. tds_free_all_results() usually cleans up after us.

unsigned char* tds_alloc_param_row TDSPARAMINFO info,
TDSCOLINFO curparam
 

Add another field to row.

Is assumed that last TDSCOLINFO contain information about this. Update also info structure.

Parameters:
info parameters info where is contained row
curparam parameter to retrieve size information
Returns:
NULL on failure or new row

void tds_free_all_dynamic TDSSOCKET *  tds  ) 
 

Frees all dynamic statements for a given connection.

Parameters:
tds the connection containing the dynamic statements to be freed.
tds_free_all_dynamic frees all dynamic statements for the given TDS socket and then zeros tds->dyns.

void tds_free_dynamic TDSSOCKET *  tds,
TDSDYNAMIC *  dyn
 

Frees dynamic statement and remove from TDS.

Parameters:
dyn dynamic statement to be freed.

void tds_free_input_params TDSDYNAMIC *  dyn  ) 
 

Frees all allocated input parameters of a dynamic statement.

Parameters:
dyn the dynamic statement whose input parameter are to be freed
tds_free_input_params frees all parameters for the give dynamic statement


Generated on Mon Mar 22 21:57:17 2004 for FreeTDS API by doxygen1.3