MCPcopy Create free account
hub / github.com/apache/arrow / GetDefaultDataTypeForTypeId

Function GetDefaultDataTypeForTypeId

cpp/src/arrow/flight/sql/odbc/odbc_impl/util.cc:771–812  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

769}
770
771std::shared_ptr<DataType> GetDefaultDataTypeForTypeId(Type::type type_id) {
772 switch (type_id) {
773 case Type::STRING:
774 return arrow::utf8();
775 case Type::INT16:
776 return arrow::int16();
777 case Type::UINT16:
778 return arrow::uint16();
779 case Type::INT32:
780 return arrow::int32();
781 case Type::UINT32:
782 return arrow::uint32();
783 case Type::FLOAT:
784 return arrow::float32();
785 case Type::DOUBLE:
786 return arrow::float64();
787 case Type::BOOL:
788 return arrow::boolean();
789 case Type::INT8:
790 return arrow::int8();
791 case Type::UINT8:
792 return arrow::uint8();
793 case Type::INT64:
794 return arrow::int64();
795 case Type::UINT64:
796 return arrow::uint64();
797 case Type::BINARY:
798 return arrow::binary();
799 case Type::DECIMAL128:
800 return arrow::decimal128(Decimal128Type::kMaxPrecision, 0);
801 case Type::DATE64:
802 return arrow::date64();
803 case Type::TIME64:
804 return arrow::time64(TimeUnit::MICRO);
805 case Type::TIMESTAMP:
806 return arrow::timestamp(TimeUnit::SECOND);
807 default:
808 break;
809 }
810
811 throw DriverException(std::string("Invalid type id: ") + std::to_string(type_id));
812}
813
814Type::type ConvertCToArrowType(CDataType data_type) {
815 switch (data_type) {

Callers 1

GetConverterFunction · 0.85

Calls 5

DriverExceptionClass · 0.85
to_stringFunction · 0.85
decimal128Function · 0.50
time64Function · 0.50
timestampFunction · 0.50

Tested by

no test coverage detected