MCPcopy Create free account
hub / github.com/Kitware/VTK / SetQuery

Method SetQuery

IO/MySQL/vtkMySQLQuery.cxx:316–347  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

314//------------------------------------------------------------------------------
315
316bool vtkMySQLQueryInternals::SetQuery(
317 const char* queryString, MYSQL* db, std::string& error_message)
318{
319 this->FreeStatement();
320 this->FreeUserParameterList();
321 this->FreeBoundParameters();
322
323 if (!this->ValidPreparedStatementSQL(queryString))
324 {
325 return true; // we'll have to handle this query in immediate mode
326 }
327
328 this->Statement = mysql_stmt_init(db);
329 if (this->Statement == nullptr)
330 {
331 error_message = "vtkMySQLQuery: mysql_stmt_init returned out of memory error";
332 return false;
333 }
334
335 int status = mysql_stmt_prepare(this->Statement, queryString, strlen(queryString));
336
337 if (status == 0)
338 {
339 this->UserParameterList.resize(mysql_stmt_param_count(this->Statement), nullptr);
340 return true;
341 }
342 else
343 {
344 error_message = mysql_stmt_error(this->Statement);
345 return false;
346 }
347}
348
349//------------------------------------------------------------------------------
350

Callers 9

WriteDataMethod · 0.45
CreateDatabaseMethod · 0.45
DropDatabaseMethod · 0.45
BeginTransactionMethod · 0.45
CommitTransactionMethod · 0.45
RollbackTransactionMethod · 0.45
RequestDataMethod · 0.45
TestMySQLTableReadWriteFunction · 0.45
TestMySQLDatabaseFunction · 0.45

Calls 8

FreeStatementMethod · 0.95
FreeUserParameterListMethod · 0.95
FreeBoundParametersMethod · 0.95
assertFunction · 0.50
resizeMethod · 0.45
GetClassNameMethod · 0.45
c_strMethod · 0.45

Tested by 2

TestMySQLTableReadWriteFunction · 0.36
TestMySQLDatabaseFunction · 0.36