|
Lines 145-164
Link Here
|
| 145 |
} |
145 |
} |
| 146 |
|
146 |
|
| 147 |
int mysql_connection::run(const string &sql, |
147 |
int mysql_connection::run(const string &sql, |
| 148 |
const vector<shared_ptr<sql_value> > &args) |
148 |
const vector<pfi::lang::shared_ptr<sql_value> > &args) |
| 149 |
{ |
149 |
{ |
| 150 |
if (conn->get() == NULL) reconnect(); |
150 |
if (conn->get() == NULL) reconnect(); |
| 151 |
|
151 |
|
| 152 |
// TODO: optimize |
152 |
// TODO: optimize |
| 153 |
try { |
153 |
try { |
| 154 |
shared_ptr<statement> stat(prepare(sql)); |
154 |
pfi::lang::shared_ptr<statement> stat(prepare(sql)); |
| 155 |
return stat->execute(args); |
155 |
return stat->execute(args); |
| 156 |
} |
156 |
} |
| 157 |
catch (const connection_error &e) { |
157 |
catch (const connection_error &e) { |
| 158 |
reconnect(); // this function rethrows an exception if necessary |
158 |
reconnect(); // this function rethrows an exception if necessary |
| 159 |
} |
159 |
} |
| 160 |
|
160 |
|
| 161 |
shared_ptr<statement> stat(prepare(sql)); |
161 |
pfi::lang::shared_ptr<statement> stat(prepare(sql)); |
| 162 |
return stat->execute(args); |
162 |
return stat->execute(args); |
| 163 |
} |
163 |
} |
| 164 |
|
164 |
|