#
# 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.
#

{
    {dates: ["Date", "TimeStamp", "Time"] },
    {intervals: ["Interval", "IntervalDay", "IntervalYear", "Int", "BigInt"] },
    {truncInputTypes: ["Date", "TimeStamp", "Time", "Interval", "IntervalDay", "IntervalYear"] },
    {truncUnits : ["Second", "Minute", "Hour", "Day", "Month", "Year", "Week", "Quarter", "Decade", "Century", "Millennium" ] },
    {timestampDiffUnits : ["Nanosecond", "Microsecond", "Millisecond", "Second", "Minute", "Hour", "Day", "Month", "Year", "Week", "Quarter"] },
    {timestampAddUnits : ["Nanosecond", "Microsecond", "Millisecond", "Second", "Minute", "Hour", "Day", "Month", "Year", "Week", "Quarter"] },
    {timestampAddInputTypes : ["Date", "TimeStamp", "Time"] },

    {
        varCharToDate: [
            {from: "VarChar", to: "Date"},
            {from: "VarChar", to: "NullableDate"},
            {from: "NullableVarChar", to: "NullableDate"},
            {from: "VarChar", to: "Time"},
            {from: "VarChar", to: "NullableTime"},
            {from: "NullableVarChar",  to: "NullableTime"},
            {from: "VarChar", to: "TimeStamp"},
            {from: "VarChar", to: "NullableTimeStamp"},
            {from: "NullableVarChar", to: "NullableTimeStamp"}
        ]
    }
}
