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

Method GetColumnSpecification

IO/SQL/vtkSQLiteDatabase.cxx:79–206  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

77
78//------------------------------------------------------------------------------
79vtkStdString vtkSQLiteDatabase::GetColumnSpecification(
80 vtkSQLDatabaseSchema* schema, int tblHandle, int colHandle)
81{
82 std::ostringstream queryStr;
83 queryStr << schema->GetColumnNameFromHandle(tblHandle, colHandle);
84
85 // Figure out column type
86 int colType = schema->GetColumnTypeFromHandle(tblHandle, colHandle);
87 std::string colTypeStr;
88 switch (static_cast<vtkSQLDatabaseSchema::DatabaseColumnType>(colType))
89 {
90 case vtkSQLDatabaseSchema::SERIAL:
91 colTypeStr = "INTEGER NOT NULL";
92 break;
93 case vtkSQLDatabaseSchema::SMALLINT:
94 colTypeStr = "SMALLINT";
95 break;
96 case vtkSQLDatabaseSchema::INTEGER:
97 colTypeStr = "INTEGER";
98 break;
99 case vtkSQLDatabaseSchema::BIGINT:
100 colTypeStr = "BIGINT";
101 break;
102 case vtkSQLDatabaseSchema::VARCHAR:
103 colTypeStr = "VARCHAR";
104 break;
105 case vtkSQLDatabaseSchema::TEXT:
106 colTypeStr = "TEXT";
107 break;
108 case vtkSQLDatabaseSchema::REAL:
109 colTypeStr = "REAL";
110 break;
111 case vtkSQLDatabaseSchema::DOUBLE:
112 colTypeStr = "DOUBLE";
113 break;
114 case vtkSQLDatabaseSchema::BLOB:
115 colTypeStr = "BLOB";
116 break;
117 case vtkSQLDatabaseSchema::TIME:
118 colTypeStr = "TIME";
119 break;
120 case vtkSQLDatabaseSchema::DATE:
121 colTypeStr = "DATE";
122 break;
123 case vtkSQLDatabaseSchema::TIMESTAMP:
124 colTypeStr = "TIMESTAMP";
125 }
126
127 if (!colTypeStr.empty())
128 {
129 queryStr << " " << colTypeStr;
130 }
131 else // if ( colTypeStr.size() )
132 {
133 vtkGenericWarningMacro("Unable to get column specification: unsupported data type " << colType);
134 return {};
135 }
136

Callers

nothing calls this directly

Calls 6

emptyMethod · 0.45
strMethod · 0.45

Tested by

no test coverage detected