int print_summary(char *category) { printf("Printing Summary\n"); mysql_start(); if (category) { snprintf(query, BUFSIZE, "select id, day, upper(category), format(amount/100,2), description from acct where" " category = '%s'", category); mysql_select(query); printf("Total: $"); snprintf(query, BUFSIZE, "select sum(format(amount/100,2)) from acct where" " category = '%s'", category); mysql_select(query); } else { mysql_select("select id, day, upper(category), format(amount/100,2), description from acct"); printf("Balance: $"); mysql_select_last("select format(amount/100,2) from balance"); printf("\n"); } mysql_stop(); return 0; }
static void travel_command_list(eng_ctx_t* eng_ctx) { cmd_list_t* cmd_list = eng_ctx->cmd_list; cmd_t* cmd = get_first_cmd(cmd_list); set_seed(eng_ctx); while (cmd != cmd_list->tail) { switch (cmd->type) { case INSERT: mysql_insert(eng_ctx); break; case DELETE: mysql_delete(eng_ctx); break; case UPDATE: mysql_update(eng_ctx); break; case SELECT: mysql_select(eng_ctx); break; default: break; } cmd = cmd->next; } return; }
bool cWorkerThread::_haveSendInfo() { bool haveSendInfo = false; result_data_t result_data; mysql_field_value_t *pointer = NULL; MYSQL conn; int retCode = -1; retCode = mysql_user_connect(&conn, &mysql_connect_info); assert(retCode == 0); retCode = mysql_select_db(&conn, mysql_connect_info.db); assert(retCode == 0); char select_sql[200] = {0}; snprintf(select_sql, sizeof(select_sql), "select cout(`to`) from send_email where status = 1 and from = '%s' group by `to` limit %d", emailFromAddr, PULL_SENT_MAIL_UNIT); retCode = mysql_select(&conn, select_sql, &result_data); log("rows:%d, cols:%d\n", result_data.rows, result_data.columns); mysql_close(&conn); if (result_data.rows > 0) { pointer = *(result_data.data); haveSendInfo = pointer->next->fieldValue; } free_result_data(&result_data); return haveSendInfo; }
void cChildProcess::pullSentInfoFromMysql() { result_data_t result_data; MYSQL conn; int retCode = -1; retCode = mysql_user_connect(&conn, &mysql_connect_info); assert(retCode == 0); retCode = mysql_select_db(&conn, mysql_connect_info.db); assert(retCode == 0); char select_sql[200] = {0}; snprintf(select_sql, sizeof(select_sql), "select * from send_email where status = 1 and from = '%s' group by `to` limit %d", emailFromAddr, PULL_SENT_MAIL_UNIT); retCode = mysql_select(&conn, select_sql, &result_data); log("rows:%d, cols:%d\n", result_data.rows, result_data.columns); mysql_close(&conn); unsigned int i = 0, j = 0; mysql_field_value_t *pointer; mail_info_t *mail_info_ptr = NULL; for (i = 0; i < result_data.rows; i++) { mail_info_ptr = (mail_info_t *)calloc(1, sizeof(mail_info_t)); pointer = *(result_data.data + i); for (j = 0; j < result_data.columns; j++) { if (!strncasecmp(pointer->next->fieldName, "to", sizeof("to")) && pointer->next->fieldValue) { mail_info_ptr->to = strdup(pointer->next->fieldValue); } else if (!strncasecmp(pointer->next->fieldName, "cc", sizeof("cc")) && pointer->next->fieldValue) { mail_info_ptr->cc = strdup(pointer->next->fieldValue); } else if (!strncasecmp(pointer->next->fieldName, "subject", sizeof("subject")) && pointer->next->fieldValue) { mail_info_ptr->subject = strdup(pointer->next->fieldValue); }else if (!strncasecmp(pointer->next->fieldName, "content", sizeof("content")) && pointer->next->fieldValue) { mail_info_ptr->content = strdup(pointer->next->fieldValue); }else if (!strncasecmp(pointer->next->fieldName, "sender", sizeof("sender")) && pointer->next->fieldValue) { mail_info_ptr->sender = strdup(pointer->next->fieldValue); }else if (!strncasecmp(pointer->next->fieldName, "from", sizeof("from")) && pointer->next->fieldValue) { mail_info_ptr->from = strdup(pointer->next->fieldValue); } pointer = pointer->next; } send_mail_queue.push(mail_info_ptr); } free_result_data(&result_data); }
int readQueueMessages() { int ret; MYSQL_RES *result = NULL; MYSQL_ROW row = NULL; int send; result = mysql_select(octstr_format(SQL_SELECT_MO, octstr_get_cstr(integratorQueueId))); int num_rows = mysql_num_rows(result); debug("httpClient", 0, "%i messages in the queue", num_rows); if (num_rows == 0) { mysql_free_result(result); return 0; } while ((row = mysql_fetch_row(result))) { SMSmsg msg; //initRowMO(msg); int ret; strcpy(msg.id, row[0]); strcpy(msg.phone, row[1]); strcpy(msg.shortNumber, row[2]); strcpy(msg.text, row[7]); strcpy(msg.carrier, row[17]); debug("httpClient", 0, "processing MT msg id %s phone=%s text=%s", msg.id, msg.phone, msg.text); ret = sendMT(&msg, row[16]); debug("httpClient", 0, "Return Processing code = %d - %d - %s", ret, msg.errCode, msg.errText); if(ret==0) { mysql_update(octstr_format(SQL_UPDATE_MO_STATUS, "DISPATCHED", row[0])); }else{ mysql_update(octstr_format(SQL_UPDATE_MO_STATUS_ERROR, "NOTDISPATCHED",msg.errCode,msg.errText,row[0])); } } mysql_free_result(result); return 0; }
int main(int argc, char *argv[]) { if ( argc < 2 ) /* argc should be 2 for correct execution */ { printf( "Missing config file path argument \n" ); } if(read_config_file(argv[1])) { printf("Error Loading Configuration File\n"); printf("Exiting Mydombox .... By !\n"); exit(1); } log_INFO("--------- Starting Mydombox Server ---------"); log_INFO("MySQL client version: %s", mysql_get_client_info()); log_INFO("Loglevel: %s",LOG_LEVEL); log_INFO("Learn Mode: %d",RECORD); conn = mysql_connection(); result = mysql_select(conn,"SELECT * FROM devices;"); mysql_free_result(result); mysql_close(conn); if ( file_exists(PORT_RFXTRX433) ){ // On crée un thread pthread_t thread_rfxtrx433; // Permet d'exécuter le fonction thread_rfxtrx433 en parallèle pthread_create(&thread_rfxtrx433, NULL, rfxtrx433, NULL); log_INFO("Module RFXTRX433 Detected & Started"); } sleep(5); if ( file_exists(PORT_ENOUSB300) ){ // On crée un thread pthread_t thread_enusb300; // Permet d'exécuter le fonction thread_enusb300 en parallèle pthread_create(&thread_enusb300, NULL, enusb300, NULL); log_INFO("Module USB300 Detected & Started"); } sleep(10); if ( MODULE_SOAP == 1){ // On crée un thread pthread_t thread_soapserver; // Permet d'exécuter le fonction thread_soapserver en parallèle pthread_create(&thread_soapserver, NULL, soapserver, NULL); log_INFO("Module SOAP Started"); } sleep(5); if ( MODULE_RPIDOM == 1){ // On crée un thread pthread_t thread_rpidom; // Permet d'exécuter le fonction thread_rpidom en parallèle pthread_create(&thread_rpidom, NULL, rpidom, NULL); log_INFO("Module RPIDOM Started"); } while(1){ read_config_file(argv[1]); scheduler(); thermostat(); sleep (60); } return 0; }
Msg *mysql_fetch_msg() { Msg *msg = NULL; Octstr *sql, *delet, *id; MYSQL_RES *res; MYSQL_ROW row; sql = octstr_format(SQLBOX_MYSQL_SELECT_QUERY, sqlbox_insert_table); #if defined(SQLBOX_TRACE) debug("SQLBOX", 0, "sql: %s", octstr_get_cstr(sql)); #endif res = mysql_select(sql); if (res == NULL) { debug("sqlbox", 0, "SQL statement failed: %s", octstr_get_cstr(sql)); } else { if (mysql_num_rows(res) >= 1) { row = mysql_fetch_row(res); id = octstr_null_create(row[0]); /* save fields in this row as msg struct */ msg = msg_create(sms); msg->sms.sender = octstr_null_create(row[2]); msg->sms.receiver = octstr_null_create(row[3]); msg->sms.udhdata = octstr_null_create(row[4]); msg->sms.msgdata = octstr_null_create(row[5]); msg->sms.time = atol_null(row[6]); msg->sms.smsc_id = octstr_null_create(row[7]); msg->sms.service = octstr_null_create(row[8]); msg->sms.account = octstr_null_create(row[9]); /* msg->sms.id = atol_null(row[10]); */ msg->sms.sms_type = atol_null(row[11]); msg->sms.mclass = atol_null(row[12]); msg->sms.mwi = atol_null(row[13]); msg->sms.coding = atol_null(row[14]); msg->sms.compress = atol_null(row[15]); msg->sms.validity = atol_null(row[16]); msg->sms.deferred = atol_null(row[17]); msg->sms.dlr_mask = atol_null(row[18]); msg->sms.dlr_url = octstr_null_create(row[19]); msg->sms.pid = atol_null(row[20]); msg->sms.alt_dcs = atol_null(row[21]); msg->sms.rpi = atol_null(row[22]); msg->sms.charset = octstr_null_create(row[23]); msg->sms.binfo = octstr_null_create(row[25]); msg->sms.meta_data = octstr_null_create(row[26]); if (row[24] == NULL) { msg->sms.boxc_id= octstr_duplicate(sqlbox_id); } else { msg->sms.boxc_id= octstr_null_create(row[24]); } /* delete current row */ delet = octstr_format(SQLBOX_MYSQL_DELETE_QUERY, sqlbox_insert_table, id); #if defined(SQLBOX_TRACE) debug("SQLBOX", 0, "sql: %s", octstr_get_cstr(delet)); #endif mysql_update(delet); octstr_destroy(id); octstr_destroy(delet); } mysql_free_result(res); } octstr_destroy(sql); return msg; }