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, TDSCOLUMN *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)
TDSCONNECTION * tds_alloc_connection (TDSLOCALE *locale)
 Allocate space for configure structure and initialize with default values.

TDSCURSOR * tds_alloc_cursor (TDSSOCKET *tds, const char *name, TDS_INT namelen, const char *query, TDS_INT querylen)
void tds_free_cursor (TDSSOCKET *tds, TDS_INT client_cursor_id)
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_connection (TDSCONNECTION *connection)
void tds_free_msg (TDSMESSAGE *message)
char * tds_alloc_client_sqlstate (int msgnum)
char * tds_alloc_lookup_sqlstate (TDSSOCKET *tds, int msgnum)
BCPCOLDATA * tds_alloc_bcp_column_data (int column_size)
void tds_free_bcp_column_data (BCPCOLDATA *coldata)

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

TDSCONNECTION* tds_alloc_connection 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,
TDSCOLUMN curparam
 

Add another field to row.

Is assumed that last TDSCOLUMN 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 Tue Mar 29 19:52:37 2005 for FreeTDS API by doxygen1.3