50 statement_t *statement = (statement_t *)luaL_checkudata(L, 1, DBD_DB2_STATEMENT); |
50 statement_t *statement = (statement_t *)luaL_checkudata(L, 1, DBD_DB2_STATEMENT); |
51 |
51 |
52 if (statement->stmt) { |
52 if (statement->stmt) { |
53 SQLFreeStmt(statement->stmt, SQL_CLOSE); |
53 SQLFreeStmt(statement->stmt, SQL_CLOSE); |
54 |
54 |
55 if (statement->resultset) |
55 if (statement->resultset) { |
56 free(statement->resultset); |
56 free(statement->resultset); |
|
57 statement->resultset = NULL; |
|
58 } |
57 |
59 |
58 if (statement->bind) { |
60 if (statement->bind) { |
59 int i; |
61 int i; |
60 |
62 |
61 for (i = 0; i < statement->num_result_columns; i++) { |
63 for (i = 0; i < statement->num_result_columns; i++) { |
62 free(statement->bind[i].buffer); |
64 free(statement->bind[i].buffer); |
63 } |
65 } |
64 |
66 |
65 free(statement->bind); |
67 free(statement->bind); |
|
68 statement->bind = NULL; |
66 } |
69 } |
67 |
70 |
68 statement->num_result_columns = 0; |
71 statement->num_result_columns = 0; |
69 } |
72 } |
70 |
73 |