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

Method GetColumnSpecification

IO/SQL/vtkSQLDatabase.cxx:102–230  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

100
101//------------------------------------------------------------------------------
102vtkStdString vtkSQLDatabase::GetColumnSpecification(
103 vtkSQLDatabaseSchema* schema, int tblHandle, int colHandle)
104{
105 std::ostringstream queryStr;
106 queryStr << schema->GetColumnNameFromHandle(tblHandle, colHandle);
107
108 // Figure out column type
109 int colType = schema->GetColumnTypeFromHandle(tblHandle, colHandle);
110 std::string colTypeStr;
111 switch (static_cast<vtkSQLDatabaseSchema::DatabaseColumnType>(colType))
112 {
113 case vtkSQLDatabaseSchema::SERIAL:
114 colTypeStr = "INTEGER";
115 break;
116 case vtkSQLDatabaseSchema::SMALLINT:
117 colTypeStr = "INTEGER";
118 break;
119 case vtkSQLDatabaseSchema::INTEGER:
120 colTypeStr = "INTEGER";
121 break;
122 case vtkSQLDatabaseSchema::BIGINT:
123 colTypeStr = "INTEGER";
124 break;
125 case vtkSQLDatabaseSchema::VARCHAR:
126 colTypeStr = "VARCHAR";
127 break;
128 case vtkSQLDatabaseSchema::TEXT:
129 colTypeStr = "VARCHAR";
130 break;
131 case vtkSQLDatabaseSchema::REAL:
132 colTypeStr = "FLOAT";
133 break;
134 case vtkSQLDatabaseSchema::DOUBLE:
135 colTypeStr = "DOUBLE";
136 break;
137 case vtkSQLDatabaseSchema::BLOB:
138 colTypeStr = "";
139 break;
140 case vtkSQLDatabaseSchema::TIME:
141 colTypeStr = "TIME";
142 break;
143 case vtkSQLDatabaseSchema::DATE:
144 colTypeStr = "DATE";
145 break;
146 case vtkSQLDatabaseSchema::TIMESTAMP:
147 colTypeStr = "TIMESTAMP";
148 break;
149 }
150
151 if (!colTypeStr.empty())
152 {
153 queryStr << " " << colTypeStr;
154 }
155 else // if ( colTypeStr.size() )
156 {
157 vtkGenericWarningMacro("Unable to get column specification: unsupported data type " << colType);
158 return {};
159 }

Callers 1

EffectSchemaMethod · 0.95

Calls 6

emptyMethod · 0.45
strMethod · 0.45

Tested by

no test coverage detected