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

Method GetColumnSpecification

IO/MySQL/vtkMySQLDatabase.cxx:356–498  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

354
355//------------------------------------------------------------------------------
356vtkStdString vtkMySQLDatabase::GetColumnSpecification(
357 vtkSQLDatabaseSchema* schema, int tblHandle, int colHandle)
358{
359 // With MySQL, the column name must be enclosed between backquotes
360 std::ostringstream queryStr;
361 queryStr << "`" << schema->GetColumnNameFromHandle(tblHandle, colHandle) << "` ";
362
363 // Figure out column type
364 int colType = schema->GetColumnTypeFromHandle(tblHandle, colHandle);
365 std::string colTypeStr;
366
367 switch (static_cast<vtkSQLDatabaseSchema::DatabaseColumnType>(colType))
368 {
369 case vtkSQLDatabaseSchema::SERIAL:
370 colTypeStr = "INT NOT nullptr AUTO_INCREMENT";
371 break;
372 case vtkSQLDatabaseSchema::SMALLINT:
373 colTypeStr = "SMALLINT";
374 break;
375 case vtkSQLDatabaseSchema::INTEGER:
376 colTypeStr = "INT";
377 break;
378 case vtkSQLDatabaseSchema::BIGINT:
379 colTypeStr = "BIGINT";
380 break;
381 case vtkSQLDatabaseSchema::VARCHAR:
382 colTypeStr = "VARCHAR";
383 break;
384 case vtkSQLDatabaseSchema::TEXT:
385 colTypeStr = "TEXT";
386 break;
387 case vtkSQLDatabaseSchema::REAL:
388 colTypeStr = "FLOAT";
389 break;
390 case vtkSQLDatabaseSchema::DOUBLE:
391 colTypeStr = "DOUBLE PRECISION";
392 break;
393 case vtkSQLDatabaseSchema::BLOB:
394 colTypeStr = "BLOB";
395 break;
396 case vtkSQLDatabaseSchema::TIME:
397 colTypeStr = "TIME";
398 break;
399 case vtkSQLDatabaseSchema::DATE:
400 colTypeStr = "DATE";
401 break;
402 case vtkSQLDatabaseSchema::TIMESTAMP:
403 colTypeStr = "TIMESTAMP";
404 break;
405 }
406
407 if (!colTypeStr.empty())
408 {
409 queryStr << " " << colTypeStr;
410 }
411 else // if ( !colTypeStr.empty() )
412 {
413 vtkGenericWarningMacro("Unable to get column specification: unsupported data type " << colType);

Callers

nothing calls this directly

Calls 6

emptyMethod · 0.45
strMethod · 0.45

Tested by

no test coverage detected