* Copyright (c) Huawei Technologies Co., Ltd. 2021-2021. All rights reserved.
* Description: Dictionary Functions Registry
*/
#include "func_registry_dictionary.h"
#include "functions/dictionaryfunctions.h"
namespace omniruntime::codegen {
using namespace omniruntime::type;
using namespace omniruntime::codegen::function;
std::vector<Function> DictionaryFunctionRegistry::GetFunctions()
{
std::vector<DataTypeId> paramTypes = { OMNI_LONG, OMNI_INT };
std::vector<DataTypeId> getStringParamTypes = { OMNI_LONG, OMNI_INT, OMNI_INT };
std::vector<Function> dictionaryFnRegistry = {
Function(reinterpret_cast<void *>(GetIntFromDictionaryVector), "DictionaryGetInt", {}, paramTypes, OMNI_INT),
Function(reinterpret_cast<void *>(GetByteFromDictionaryVector), "DictionaryGetByte", {}, paramTypes, OMNI_BYTE),
Function(reinterpret_cast<void *>(GetShortFromDictionaryVector), "DictionaryGetShort", {}, paramTypes, OMNI_SHORT),
Function(reinterpret_cast<void *>(GetLongFromDictionaryVector), "DictionaryGetLong", {}, paramTypes, OMNI_LONG),
Function(reinterpret_cast<void *>(GetDoubleFromDictionaryVector), "DictionaryGetDouble", {}, paramTypes,
OMNI_DOUBLE),
Function(reinterpret_cast<void *>(GetBooleanFromDictionaryVector), "DictionaryGetBoolean", {}, paramTypes,
OMNI_BOOLEAN),
Function(reinterpret_cast<void *>(GetVarcharFromDictionaryVector), "DictionaryGetVarchar", {}, paramTypes,
OMNI_VARCHAR),
Function(reinterpret_cast<void *>(GetDecimalFromDictionaryVector), "DictionaryGetDecimal", {}, paramTypes,
OMNI_DECIMAL128)
};
return dictionaryFnRegistry;
}
}