void free_condition(condition *condition) { if (condition->is_bool_expression) { free_bool_expression((bool_expression*) condition->left); } else { free_condition(condition->left); free_condition(condition->right); } free(condition); }
void close_query (query *q) { if (q->error) { free_error(q->error); } if (q->c) { // free the columns free_value_array(q->c); } if (q->where_condition) { free_condition(q->where_condition); } if (q->group_by) { free_value_array(q->group_by); } if (q->from_clause) { // free the from clause free_from_clause(q->from_clause); } }
void free_select_statement(select_statement_t* i){ if(!i) return; free_id_list(i->fields); free(i->table); free_condition(i->conditions); free(i); }
void free_select_query (select_query *q) { if (q->c) { // free the columns free_value_array(q->c); } if (q->where_condition) { free_condition(q->where_condition); } if (q->group_by) { free_groupby_clause(q->group_by); } if (q->into_clause) { free_value(q->into_clause->target); free(q->into_clause); } if (q->from_clause) { // free the from clause free_from_clause(q->from_clause); } }
static void free_state(struct state *s) { int i; free(s->name); free(s->emit_name); for (i = 0; i < s->conds.count; i++) free_condition(s->conds.ptrs[i]); free(s->conds.ptrs); free(s->a.emit_name); free(s); }
void free_delete_query (delete_query *q) { if (q->where_condition) { free_condition(q->where_condition); } if (q->from_clause) { // free the from clause free_from_clause(q->from_clause); } }