Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
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;
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 5
0
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;
	}
}