# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
# http:# www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

{
  map: [
    {
      hiveType: "BOOLEAN",
      hiveOI: "BooleanObjectInspector",
      javaType: "boolean",
      drillType: "Bit",
      needOIForDrillType: true
    },
    {
      hiveType: "BYTE",
      hiveOI: "ByteObjectInspector",
      javaType: "byte",
      drillType: "TinyInt",
      needOIForDrillType: true
    },
    {
      hiveType: "SHORT",
      hiveOI: "ShortObjectInspector",
      javaType: "short",
      drillType: "SmallInt",
      needOIForDrillType: true
    },
    {
      hiveType: "INT",
      hiveOI: "IntObjectInspector",
      javaType: "int",
      drillType: "Int",
      needOIForDrillType: true
    },
    {
      hiveType: "LONG",
      hiveOI: "LongObjectInspector",
      javaType: "long",
      drillType: "BigInt",
      needOIForDrillType: true
    },
    {
      hiveType: "FLOAT",
      hiveOI: "FloatObjectInspector",
      javaType: "float",
      drillType: "Float4",
      needOIForDrillType: true
    },
    {
      hiveType: "DOUBLE",
      hiveOI: "DoubleObjectInspector",
      javaType: "double",
      drillType: "Float8",
      needOIForDrillType: true
    },
    {
      hiveType: "VARCHAR",
      hiveOI: "HiveVarcharObjectInspector",
      javaType: "",
      drillType: "VarChar",
      needOIForDrillType: true
    },
    {
      hiveType: "CHAR",
      hiveOI: "HiveCharObjectInspector",
      javaType: "",
      drillType: "VarChar",
      needOIForDrillType: false
    },
    {
      hiveType: "STRING",
      hiveOI: "StringObjectInspector",
      javaType: "",
      drillType: "VarChar",
      needOIForDrillType: true
    },
    {
      hiveType: "BINARY",
      hiveOI: "BinaryObjectInspector",
      javaType: "",
      drillType: "VarBinary",
      needOIForDrillType: true
    },
    {
      hiveType: "TIMESTAMP",
      hiveOI: "TimestampObjectInspector",
      javaType: "java.sql.Timestamp",
      drillType: "TimeStamp",
      needOIForDrillType: true
    },
    {
      hiveType: "DECIMAL",
      hiveOI: "HiveDecimalObjectInspector",
      javaType: "org.apache.hadoop.hive.common.type.HiveDecimal",
      drillType: "VarDecimal",
      needOIForDrillType: true
    },
    {
      hiveType: "DATE",
      hiveOI: "DateObjectInspector",
      javaType: "java.sql.Date",
      drillType: "Date",
      needOIForDrillType: true
    }
  ]
}
