------------------------------------------------------------------------------
| 100 | |
| 101 | //------------------------------------------------------------------------------ |
| 102 | vtkStdString 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 | } |
no test coverage detected