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

Method GetColumnSpecification

IO/PostgreSQL/vtkPostgreSQLDatabase.cxx:90–218  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

88
89//------------------------------------------------------------------------------
90vtkStdString vtkPostgreSQLDatabase::GetColumnSpecification(
91 vtkSQLDatabaseSchema* schema, int tblHandle, int colHandle)
92{
93 std::ostringstream queryStr;
94 queryStr << schema->GetColumnNameFromHandle(tblHandle, colHandle);
95
96 // Figure out column type
97 int colType = schema->GetColumnTypeFromHandle(tblHandle, colHandle);
98 std::string colTypeStr;
99 switch (static_cast<vtkSQLDatabaseSchema::DatabaseColumnType>(colType))
100 {
101 case vtkSQLDatabaseSchema::SERIAL:
102 colTypeStr = "SERIAL";
103 break;
104 case vtkSQLDatabaseSchema::SMALLINT:
105 colTypeStr = "SMALLINT";
106 break;
107 case vtkSQLDatabaseSchema::INTEGER:
108 colTypeStr = "INTEGER";
109 break;
110 case vtkSQLDatabaseSchema::BIGINT:
111 colTypeStr = "BIGINT";
112 break;
113 case vtkSQLDatabaseSchema::VARCHAR:
114 colTypeStr = "VARCHAR";
115 break;
116 case vtkSQLDatabaseSchema::TEXT:
117 colTypeStr = "TEXT";
118 break;
119 case vtkSQLDatabaseSchema::REAL:
120 colTypeStr = "REAL";
121 break;
122 case vtkSQLDatabaseSchema::DOUBLE:
123 colTypeStr = "DOUBLE PRECISION";
124 break;
125 case vtkSQLDatabaseSchema::BLOB:
126 colTypeStr = "BYTEA";
127 break;
128 case vtkSQLDatabaseSchema::TIME:
129 colTypeStr = "TIME";
130 break;
131 case vtkSQLDatabaseSchema::DATE:
132 colTypeStr = "DATE";
133 break;
134 case vtkSQLDatabaseSchema::TIMESTAMP:
135 colTypeStr = "TIMESTAMP WITH TIME ZONE";
136 break;
137 }
138
139 if (!colTypeStr.empty())
140 {
141 queryStr << " " << colTypeStr;
142 }
143 else // if ( !colTypeStr.empty() )
144 {
145 vtkGenericWarningMacro("Unable to get column specification: unsupported data type " << colType);
146 return {};
147 }

Callers

nothing calls this directly

Calls 6

emptyMethod · 0.45
strMethod · 0.45

Tested by

no test coverage detected