18#define DRIZZLE_FIELD_MAX 32
19#define DRIZZLE_RESULT_ROWS 20
21#define DRIZZLE_RETURN_CHECK(__ret, __function, __drizzle) \
23 if ((__ret) != DRIZZLE_RETURN_OK) \
24 DRIZZLE_RETURN_ERROR(__function, __drizzle) \
27#define DRIZZLE_RETURN_ERROR(__function, __drizzle) \
29 printf(__function ":%s\n", drizzle_error(__drizzle)); \
36int main(
int argc,
char *argv[])
40 const char *host= NULL;
51 while((c = getopt(argc, argv,
"c:h:mp:v")) != -1)
56 count= (uint32_t)atoi(optarg);
68 port= (in_port_t)atoi(optarg);
76 printf(
"\nusage: %s [-c <count>] [-h <host>] [-m] [-p <port>] [-v]\n",
78 printf(
"\t-c <count> - Number of connections to accept before exiting\n");
79 printf(
"\t-h <host> - Host to listen on\n");
80 printf(
"\t-m - Use the MySQL protocol\n");
81 printf(
"\t-p <port> - Port to listen on\n");
82 printf(
"\t-v - Increase verbosity level\n");
89 printf(
"drizzle_create:NULL\n");
98 printf(
"drizzle_con_create:NULL\n");
123 server(&drizzle, &con, &result, &column);
246 "field %" PRIu64
"-1", x);
251 "field %" PRIu64
"-2", x);
Drizzle Declarations for Servers.
void drizzle_column_set_orig_table(drizzle_column_st *column, const char *orig_table)
void drizzle_column_set_charset(drizzle_column_st *column, drizzle_charset_t charset)
void drizzle_column_set_size(drizzle_column_st *column, uint32_t size)
drizzle_return_t drizzle_column_write(drizzle_result_st *result, drizzle_column_st *column)
void drizzle_column_set_db(drizzle_column_st *column, const char *db)
void drizzle_column_set_type(drizzle_column_st *column, drizzle_column_type_t type)
void drizzle_column_set_name(drizzle_column_st *column, const char *name)
void drizzle_column_set_table(drizzle_column_st *column, const char *table)
void drizzle_column_set_catalog(drizzle_column_st *column, const char *catalog)
void drizzle_column_set_orig_name(drizzle_column_st *column, const char *orig_name)
void drizzle_column_free(drizzle_column_st *column)
drizzle_column_st * drizzle_column_create(drizzle_result_st *result, drizzle_column_st *column)
@ DRIZZLE_COLUMN_TYPE_VARCHAR
void drizzle_con_set_status(drizzle_con_st *con, drizzle_con_status_t status)
void drizzle_con_set_server_version(drizzle_con_st *con, const char *server_version)
void drizzle_con_set_scramble(drizzle_con_st *con, const uint8_t *scramble)
drizzle_return_t drizzle_con_listen(drizzle_con_st *con)
void drizzle_con_set_max_packet_size(drizzle_con_st *con, uint32_t max_packet_size)
void drizzle_con_set_capabilities(drizzle_con_st *con, drizzle_capabilities_t capabilities)
void drizzle_con_set_charset(drizzle_con_st *con, drizzle_charset_t charset)
void * drizzle_con_command_buffer(drizzle_con_st *con, drizzle_command_t *command, size_t *total, drizzle_return_t *ret_ptr)
void drizzle_con_set_thread_id(drizzle_con_st *con, uint32_t thread_id)
void drizzle_con_set_protocol_version(drizzle_con_st *con, uint8_t protocol_version)
void drizzle_con_set_tcp(drizzle_con_st *con, const char *host, in_port_t port)
void drizzle_con_add_options(drizzle_con_st *con, drizzle_con_options_t options)
@ DRIZZLE_CON_STATUS_NONE
@ DRIZZLE_CAPABILITIES_NONE
#define DRIZZLE_MAX_PACKET_SIZE
@ DRIZZLE_RETURN_LOST_CONNECTION
drizzle_return_t drizzle_field_write(drizzle_result_st *result, const drizzle_field_t field, size_t size, size_t total)
drizzle_return_t drizzle_handshake_client_read(drizzle_con_st *con)
drizzle_return_t drizzle_handshake_server_write(drizzle_con_st *con)
void drizzle_result_set_eof(drizzle_result_st *result, bool eof)
drizzle_return_t drizzle_result_write(drizzle_con_st *con, drizzle_result_st *result, bool flush)
void drizzle_result_calc_row_size(drizzle_result_st *result, const drizzle_field_t *field, const size_t *size)
void drizzle_result_set_column_count(drizzle_result_st *result, uint16_t column_count)
drizzle_result_st * drizzle_result_create(drizzle_con_st *con, drizzle_result_st *result)
void drizzle_result_free(drizzle_result_st *result)
drizzle_return_t drizzle_row_write(drizzle_result_st *result)
drizzle_con_st * drizzle_con_accept(drizzle_st *drizzle, drizzle_con_st *con, drizzle_return_t *ret_ptr)
struct drizzle_result_st drizzle_result_st
struct drizzle_con_st drizzle_con_st
struct drizzle_st drizzle_st
struct drizzle_column_st drizzle_column_st
drizzle_con_st * drizzle_con_create(drizzle_st *drizzle, drizzle_con_st *con)
const char * drizzle_error(const drizzle_st *drizzle)
void drizzle_set_verbose(drizzle_st *drizzle, drizzle_verbose_t verbose)
void drizzle_free(drizzle_st *drizzle)
void drizzle_add_options(drizzle_st *drizzle, drizzle_options_t options)
drizzle_st * drizzle_create(drizzle_st *drizzle)
void drizzle_con_free(drizzle_con_st *con)
#define DRIZZLE_RETURN_CHECK(__ret, __function, __drizzle)
int main(int argc, char *argv[])
static void server(drizzle_st *drizzle, drizzle_con_st *con, drizzle_result_st *result, drizzle_column_st *column)
#define DRIZZLE_RETURN_ERROR(__function, __drizzle)
#define DRIZZLE_FIELD_MAX
#define DRIZZLE_RESULT_ROWS