Main Page | Modules | Class List | Directories | File List | Class 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

BCPCOLDATA * tds_alloc_bcp_column_data (int column_size)
char * tds_alloc_client_sqlstate (int msgno)
static TDSCOMPUTEINFOtds_alloc_compute_result (int num_cols, int by_cols)
 Allocate memory for storing compute info return NULL on out of memory.
TDSCOMPUTEINFO ** tds_alloc_compute_results (TDSSOCKET *tds, int num_cols, int by_cols)
unsigned char * tds_alloc_compute_row (TDSCOMPUTEINFO *res_info)
TDSCONNECTION * tds_alloc_connection (TDSLOCALE *locale)
 Allocate space for configure structure and initialize with default values.
TDSCONTEXT * tds_alloc_context (void *parent)
TDSCURSOR * tds_alloc_cursor (TDSSOCKET *tds, const char *name, TDS_INT namelen, const char *query, TDS_INT querylen)
TDSDYNAMIC * tds_alloc_dynamic (TDSSOCKET *tds, const char *id)
 Allocate a dynamic statement.
TDSLOCALE * tds_alloc_locale (void)
TDSLOGIN * tds_alloc_login (void)
char * tds_alloc_lookup_sqlstate (TDSSOCKET *tds, int msgno)
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.
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.
TDSSOCKET * tds_alloc_socket (TDSCONTEXT *context, int bufsize)
void tds_free_all_results (TDSSOCKET *tds)
void tds_free_bcp_column_data (BCPCOLDATA *coldata)
static void tds_free_compute_result (TDSCOMPUTEINFO *comp_info)
static void tds_free_compute_results (TDSSOCKET *tds)
void tds_free_connection (TDSCONNECTION *connection)
void tds_free_context (TDSCONTEXT *context)
void tds_free_cursor (TDSSOCKET *tds, TDSCURSOR *cursor)
void tds_free_dynamic (TDSSOCKET *tds, TDSDYNAMIC *dyn)
 Frees dynamic statement and remove from TDS.
static void tds_free_env (TDSSOCKET *tds)
void tds_free_input_params (TDSDYNAMIC *dyn)
 Frees all allocated input parameters of a dynamic statement.
void tds_free_locale (TDSLOCALE *locale)
void tds_free_login (TDSLOGIN *login)
void tds_free_msg (TDSMESSAGE *message)
void tds_free_param_result (TDSPARAMINFO *param_info)
 Delete latest parameter.
void tds_free_param_results (TDSPARAMINFO *param_info)
void tds_free_results (TDSRESULTINFO *res_info)
void tds_free_row (const TDSRESULTINFO *res_info, unsigned char *row)
void tds_free_socket (TDSSOCKET *tds)
TDSSOCKET * tds_realloc_socket (TDSSOCKET *tds, int bufsize)

Variables

static const unsigned char defaultcaps []

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_dynamic TDSSOCKET *  tds,
TDSDYNAMIC *  dyn
 

Frees dynamic statement and remove from TDS.

Parameters:
tds state information for the socket and the TDS protocol
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


Variable Documentation

const unsigned char defaultcaps[] [static]
 

Initial value:

 { 0x01, 0x09, 0x00, 0x00, 0x06, 0x6D, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE,
        0x02, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x68, 0x00, 0x00, 0x00
}


Generated on Sat Jul 1 11:11:46 2006 for FreeTDS API by  doxygen 1.4.1