libdrizzle Developer Documentation

Data Structures | Enumerations | Functions
Query Declarations
Drizzle Client Interface

Data Structures

struct  drizzle_query_st

Enumerations

enum  drizzle_query_options_t { DRIZZLE_QUERY_ALLOCATED = (1 << 0) }
enum  drizzle_query_state_t { DRIZZLE_QUERY_STATE_INIT, DRIZZLE_QUERY_STATE_QUERY, DRIZZLE_QUERY_STATE_RESULT, DRIZZLE_QUERY_STATE_DONE }

Functions

drizzle_result_stdrizzle_query (drizzle_con_st *con, drizzle_result_st *result, const char *query, size_t size, drizzle_return_t *ret_ptr)
drizzle_result_stdrizzle_query_str (drizzle_con_st *con, drizzle_result_st *result, const char *query, drizzle_return_t *ret_ptr)
drizzle_result_stdrizzle_query_inc (drizzle_con_st *con, drizzle_result_st *result, const char *query, size_t size, size_t total, drizzle_return_t *ret_ptr)
drizzle_query_stdrizzle_query_add (drizzle_st *drizzle, drizzle_query_st *query, drizzle_con_st *con, drizzle_result_st *result, const char *query_string, size_t size, drizzle_query_options_t options, void *context)
drizzle_query_stdrizzle_query_create (drizzle_st *drizzle, drizzle_query_st *query)
void drizzle_query_free (drizzle_query_st *query)
void drizzle_query_free_all (drizzle_st *drizzle)
drizzle_con_stdrizzle_query_con (drizzle_query_st *query)
void drizzle_query_set_con (drizzle_query_st *query, drizzle_con_st *con)
drizzle_result_stdrizzle_query_result (drizzle_query_st *query)
void drizzle_query_set_result (drizzle_query_st *query, drizzle_result_st *result)
char * drizzle_query_string (drizzle_query_st *query, size_t *size)
void drizzle_query_set_string (drizzle_query_st *query, const char *string, size_t size)
drizzle_query_options_t drizzle_query_options (drizzle_query_st *query)
void drizzle_query_set_options (drizzle_query_st *query, drizzle_query_options_t options)
void drizzle_query_add_options (drizzle_query_st *query, drizzle_query_options_t options)
void drizzle_query_remove_options (drizzle_query_st *query, drizzle_query_options_t options)
void * drizzle_query_context (drizzle_query_st *query)
void drizzle_query_set_context (drizzle_query_st *query, void *context)
void drizzle_query_set_context_free_fn (drizzle_query_st *query, drizzle_query_context_free_fn *function)
drizzle_query_stdrizzle_query_run (drizzle_st *drizzle, drizzle_return_t *ret_ptr)
drizzle_return_t drizzle_query_run_all (drizzle_st *drizzle)
size_t drizzle_escape_string (char *to, const char *from, size_t from_size)
size_t drizzle_hex_string (char *to, const char *from, size_t from_size)

Detailed Description

These functions are used to issue queries on a connection. Single queries are made using the drizzle_query function, or you can queue multiple queries and run them concurrently using the other query functions.


Enumeration Type Documentation

Options for drizzle_query_st.

Enumerator:
DRIZZLE_QUERY_ALLOCATED 

Definition at line 268 of file constants.h.

States for drizle_query_st.

Enumerator:
DRIZZLE_QUERY_STATE_INIT 
DRIZZLE_QUERY_STATE_QUERY 
DRIZZLE_QUERY_STATE_RESULT 
DRIZZLE_QUERY_STATE_DONE 

Definition at line 277 of file constants.h.


Function Documentation

drizzle_result_st* drizzle_query ( drizzle_con_st con,
drizzle_result_st result,
const char *  query,
size_t  size,
drizzle_return_t ret_ptr 
)

Send query to server. A drizzle_result_st will be created for the results.

Parameters:
[in]conconnection to use to send the query.
[in,out]resultpointer to an unused structure that will be used for the results, or NULL to allocate a new structure.
[in]queryquery string to send.
[in]sizelength of the query string in bytes.
[out]ret_ptrpointer to the result code.
Returns:
result, a pointer to the newly allocated result structure, or NULL if the allocation failed.

Definition at line 18 of file query.c.

drizzle_result_st* drizzle_query_str ( drizzle_con_st con,
drizzle_result_st result,
const char *  query,
drizzle_return_t ret_ptr 
)

Send query to server, using strlen to get the size of query buffer..

Definition at line 26 of file query.c.

drizzle_result_st* drizzle_query_inc ( drizzle_con_st con,
drizzle_result_st result,
const char *  query,
size_t  size,
size_t  total,
drizzle_return_t ret_ptr 
)

Send query incrementally.

Definition at line 39 of file query.c.

drizzle_query_st* drizzle_query_add ( drizzle_st drizzle,
drizzle_query_st query,
drizzle_con_st con,
drizzle_result_st result,
const char *  query_string,
size_t  size,
drizzle_query_options_t  options,
void *  context 
)

Add a query to be run concurrently.

Definition at line 48 of file query.c.

Initialize a query structure.

Definition at line 69 of file query.c.

Free a query structure.

Definition at line 99 of file query.c.

void drizzle_query_free_all ( drizzle_st drizzle)

Free a query structure.

Definition at line 116 of file query.c.

Get connection struct for a query.

Definition at line 122 of file query.c.

void drizzle_query_set_con ( drizzle_query_st query,
drizzle_con_st con 
)

Set connection struct for a query.

Definition at line 127 of file query.c.

Get result struct for a query.

Definition at line 132 of file query.c.

Set result struct for a query.

Definition at line 137 of file query.c.

char* drizzle_query_string ( drizzle_query_st query,
size_t *  size 
)

Get query string for a query.

Definition at line 143 of file query.c.

void drizzle_query_set_string ( drizzle_query_st query,
const char *  string,
size_t  size 
)

Set query string for a query.

Definition at line 149 of file query.c.

Get options for a query.

Definition at line 156 of file query.c.

Set options for a query.

Definition at line 161 of file query.c.

Add options for a query.

Definition at line 167 of file query.c.

Remove options for a query.

Definition at line 173 of file query.c.

Get application context for a query.

Definition at line 179 of file query.c.

void drizzle_query_set_context ( drizzle_query_st query,
void *  context 
)

Set application context for a query.

Definition at line 184 of file query.c.

Set callback function when the context pointer should be freed.

Definition at line 189 of file query.c.

Run queries concurrently, returning when one is complete.

Definition at line 233 of file query.c.

Run queries until they are all complete. Returns DRIZZLE_RETURN_OK if all queries complete, even if some return errors. This returns immediately if some other error occurs, leaving some queries unprocessed. You must call drizzle_result_error_code() to check if each query succeeded.

Definition at line 311 of file query.c.

size_t drizzle_escape_string ( char *  to,
const char *  from,
size_t  from_size 
)

Definition at line 325 of file query.c.

size_t drizzle_hex_string ( char *  to,
const char *  from,
size_t  from_size 
)

Definition at line 360 of file query.c.