MCPcopy Create free account
hub / github.com/apache/impala / TypeToOdbcString

Function TypeToOdbcString

be/src/runtime/types.cc:178–218  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

176}
177
178string TypeToOdbcString(const TColumnType& type) {
179 DCHECK_EQ(1, type.types.size());
180 DCHECK_EQ(TTypeNodeType::SCALAR, type.types[0].type);
181 DCHECK(type.types[0].__isset.scalar_type);
182 TPrimitiveType::type col_type = type.types[0].scalar_type.type;
183 PrimitiveType primitive_type = ThriftToType(col_type);
184 // ODBC driver requires types in lower case
185 switch (primitive_type) {
186 case INVALID_TYPE: return "invalid";
187 case TYPE_NULL: return "null";
188 case TYPE_BOOLEAN: return "boolean";
189 case TYPE_TINYINT: return "tinyint";
190 case TYPE_SMALLINT: return "smallint";
191 case TYPE_INT: return "int";
192 case TYPE_BIGINT: return "bigint";
193 case TYPE_FLOAT: return "float";
194 case TYPE_DOUBLE: return "double";
195 case TYPE_DATE: return "date";
196 case TYPE_DATETIME: return "datetime";
197 case TYPE_TIMESTAMP: return "timestamp";
198 case TYPE_STRING:
199 if(col_type == TPrimitiveType::BINARY) {
200 return "binary";
201 } else {
202 return "string";
203 }
204 case TYPE_VARCHAR: return "string";
205
206 case TYPE_DECIMAL: return "decimal";
207 case TYPE_CHAR: return "char";
208 case TYPE_STRUCT: return "struct";
209 case TYPE_ARRAY: return "array";
210 case TYPE_MAP: return "map";
211 case TYPE_BINARY:
212 case TYPE_FIXED_UDA_INTERMEDIATE:
213 // This type is not exposed to clients and should not be returned.
214 DCHECK(false);
215 break;
216 };
217 return "unknown";
218}
219
220void ColumnType::ToThrift(TColumnType* thrift_type) const {
221 thrift_type->types.push_back(TTypeNode());

Callers 2

GetValueMethod · 0.85

Calls 2

ThriftToTypeFunction · 0.85
sizeMethod · 0.45

Tested by 1

GetValueMethod · 0.68