int main(int argc, char **argv) { char *queryp; int bool_balance; sanitize_input(&argc, argv); if (argv[1][0] == 's') { print_summary(argv[2]); exit(0); } mysql_start(); bool_balance = check_balance(&argc, argv); queryp = forge_query(&argc, argv); mysql_insert(queryp); if (bool_balance) calculate_balance(&argc, argv); 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; }
void cal_mysql( struct node_occupy *node_data ) { struct mysql_occupy mysql_occupy; mysql_occupy_init(&mysql_occupy,node_data); mysql_insert(&mysql_occupy, node_data); mysql_occupy_close(&mysql_occupy); }
int check_balance(int *argc, char **argv) { MYSQL_RES *result; unsigned long long num_rows; long long amount; if (mysql_query(con, "select amount from balance")) finish_with_error(con); if ((result = mysql_store_result(con)) == 0) finish_with_error(con); if ((num_rows = mysql_num_rows(result)) == 0) { if (strchr("ibefm", (*argv[1])) != NULL) { amount = atoi(argv[2]); snprintf(query, BUFSIZE, "insert into balance values (CURDATE(), %lld)", amount); mysql_insert(query); } return 0; } return 1; }
int calculate_balance(int *argc, char **argv) { MYSQL_RES *result; MYSQL_ROW row; my_ulonglong num_rows; unsigned long long balance_amount = 0, amount = 0; char * date; date = mysql_date(); snprintf(query, BUFSIZE, "select amount from balance where day='%s'", date); if (mysql_query(con, query)) finish_with_error(con); if ((result = mysql_store_result(con)) == 0) finish_with_error(con); num_rows = mysql_num_rows(result); mysql_data_seek(result, num_rows - 1); if ((row = mysql_fetch_row(result)) == NULL) { fprintf(stderr, "error from fetch\n"); finish_with_error(con); } balance_amount = atoll(row[0]); mysql_free_result(result); switch(*argv[1]) { case 'i': amount = atoll(argv[2]); snprintf(query, BUFSIZE, "insert into balance values (CURDATE(), %lld)", balance_amount + amount); mysql_insert(query); break; case 'b': amount = atoll(argv[2]); snprintf(query, BUFSIZE, "insert into balance values (CURDATE(), %lld)", balance_amount - amount); mysql_insert(query); break; case 'e': amount = atoll(argv[2]); snprintf(query, BUFSIZE, "insert into balance values (CURDATE(), %lld)", balance_amount - amount); mysql_insert(query); break; case 'f': amount = atoll(argv[2]); snprintf(query, BUFSIZE, "insert into balance values (CURDATE(), %lld)", balance_amount - amount); mysql_insert(query); break; case 'm': amount = atoll(argv[2]); snprintf(query, BUFSIZE, "insert into balance values (CURDATE(), %lld)", balance_amount - amount); mysql_insert(query); break; default: break; } }