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

 {
   numeric: ["Int", "BigInt", "TinyInt", "SmallInt", "UInt1", "UInt2", "UInt4", "UInt8", "Float4", "Float8", "VarDecimal"],

  numericFunctions: [
  {className: "IsNumeric", funcName: "isnumeric", aliasName: "", outputType: "Int", types: [
    {inputType: "BigInt", intype: "numeric"},
    {inputType: "NullableBigInt", intype: "numeric"},
    {inputType: "Int", intype: "numeric"},
    {inputType: "NullableInt", intype: "numeric"},
    {inputType: "SmallInt", intype: "numeric"},
    {inputType: "NullableSmallInt", intype: "numeric"},
    {inputType: "TinyInt", intype: "numeric"},
    {inputType: "NullableTinyInt", intype: "numeric"},
    {inputType: "UInt1", intype: "numeric"},
    {inputType: "NullableUInt1", intype: "numeric"},
    {inputType: "UInt2", intype: "numeric"},
    {inputType: "NullableUInt2", intype: "numeric"},
    {inputType: "UInt4", intype: "numeric"},
    {inputType: "NullableUInt4", intype: "numeric"},
    {inputType: "UInt8", intype: "numeric"},
    {inputType: "NullableUInt8", intype: "numeric"},
    {inputType: "Float4", intype: "numeric"},
    {inputType: "NullableFloat4", intype: "numeric"},
    {inputType: "Float8", intype: "numeric"},
    {inputType: "NullableFloat8", intype: "numeric"},
    {inputType: "VarDecimal", intype: "numeric"},
    {inputType: "NullableVarDecimal", intype: "numeric"},
    {inputType: "VarChar", intype: "char"},
    {inputType: "NullableVarChar", intype: "char"}
  ]
  }
 ]
}
