OmniSciDB  bf83d84833
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ExtensionFunctionsWhitelist.cpp File Reference
#include "QueryEngine/ExtensionFunctionsWhitelist.h"
#include <boost/algorithm/string/join.hpp>
#include <iostream>
#include "QueryEngine/ExtensionFunctionsBinding.h"
#include "QueryEngine/JsonAccessors.h"
#include "QueryEngine/TableFunctions/TableFunctionsFactory.h"
#include "Shared/StringTransform.h"
+ Include dependency graph for ExtensionFunctionsWhitelist.cpp:

Go to the source code of this file.

Namespaces

 anonymous_namespace{ExtensionFunctionsWhitelist.cpp}
 

Typedefs

using SignatureMap = std::unordered_map< std::string, std::vector< ExtensionFunction >>
 

Functions

std::string anonymous_namespace{ExtensionFunctionsWhitelist.cpp}::serialize_type (const ExtArgumentType type, bool byval=true)
 
std::string anonymous_namespace{ExtensionFunctionsWhitelist.cpp}::drop_suffix (const std::string &str)
 
SQLTypeInfo ext_arg_type_to_type_info (const ExtArgumentType ext_arg_type)
 
ExtArgumentType anonymous_namespace{ExtensionFunctionsWhitelist.cpp}::deserialize_type (const std::string &type_name)
 
std::string toString (const ExtArgumentType &sig_type)
 

Typedef Documentation

using SignatureMap = std::unordered_map<std::string, std::vector<ExtensionFunction>>

Definition at line 615 of file ExtensionFunctionsWhitelist.cpp.

Function Documentation

SQLTypeInfo ext_arg_type_to_type_info ( const ExtArgumentType  ext_arg_type)

Definition at line 218 of file ExtensionFunctionsWhitelist.cpp.

References ArrayBool, ArrayDouble, ArrayFloat, ArrayInt16, ArrayInt32, ArrayInt64, ArrayInt8, Bool, ColumnBool, ColumnDouble, ColumnFloat, ColumnInt16, ColumnInt32, ColumnInt64, ColumnInt8, Double, logger::FATAL, Float, Int16, Int32, Int64, Int8, kARRAY, kBIGINT, kBOOLEAN, kCOLUMN, kDOUBLE, kENCODING_DICT, kENCODING_NONE, kFLOAT, kINT, kNULLT, kSMALLINT, kTEXT, kTINYINT, LOG, anonymous_namespace{ExtensionFunctionsWhitelist.cpp}::serialize_type(), TextEncodingDict16, TextEncodingDict32, TextEncodingDict8, and TextEncodingNone.

Referenced by bind_function(), ExtensionFunctionsWhitelist::get_ext_funcs(), anonymous_namespace{ExtensionFunctionsBinding.cpp}::match_arguments(), and RelAlgTranslator::translateFunction().

218  {
219  /* This function is mostly used for scalar types.
220  For non-scalar types, NULL is returned as a placeholder.
221  */
222 
223  auto generate_array_type = [](const auto subtype) {
224  auto ti = SQLTypeInfo(kARRAY, false);
225  ti.set_subtype(subtype);
226  return ti;
227  };
228 
229  auto generate_column_type = [](const auto subtype) {
230  auto ti = SQLTypeInfo(kCOLUMN, false);
231  ti.set_subtype(subtype);
232  return ti;
233  };
234 
235  switch (ext_arg_type) {
237  return SQLTypeInfo(kBOOLEAN, false);
239  return SQLTypeInfo(kTINYINT, false);
241  return SQLTypeInfo(kSMALLINT, false);
243  return SQLTypeInfo(kINT, false);
245  return SQLTypeInfo(kBIGINT, false);
247  return SQLTypeInfo(kFLOAT, false);
249  return SQLTypeInfo(kDOUBLE, false);
251  return generate_array_type(kTINYINT);
253  return generate_array_type(kSMALLINT);
255  return generate_array_type(kINT);
257  return generate_array_type(kBIGINT);
259  return generate_array_type(kFLOAT);
261  return generate_array_type(kDOUBLE);
263  return generate_array_type(kBOOLEAN);
265  return generate_column_type(kTINYINT);
267  return generate_column_type(kSMALLINT);
269  return generate_column_type(kINT);
271  return generate_column_type(kBIGINT);
273  return generate_column_type(kFLOAT);
275  return generate_column_type(kDOUBLE);
277  return generate_column_type(kBOOLEAN);
279  return SQLTypeInfo(kTEXT, false, kENCODING_NONE);
283  return SQLTypeInfo(kTEXT, false, kENCODING_DICT);
284  default:
285  LOG(FATAL) << "ExtArgumentType `" << serialize_type(ext_arg_type)
286  << "` cannot be converted to SQLTypeInfo.";
287  }
288  return SQLTypeInfo(kNULLT, false);
289 }
#define LOG(tag)
Definition: Logger.h:188
std::string serialize_type(const ExtArgumentType type, bool byval=true)
Definition: sqltypes.h:51
Definition: sqltypes.h:44

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::string toString ( const ExtArgumentType sig_type)

Definition at line 684 of file ExtensionFunctionsWhitelist.cpp.

References ExtensionFunctionsWhitelist::toString().

Referenced by Executor::addToQuerySessionList(), anonymous_namespace{SerializeToSql.cpp}::agg_to_string(), DBHandler::clear_cpu_memory(), DBHandler::clear_gpu_memory(), DBHandler::clone_session(), CodeGenerator::codegenFunctionOperCastArgs(), WindowFunctionContext::computePartition(), DBHandler::connect(), DBHandler::connect_impl(), DBHandler::create_dashboard(), DBHandler::create_link(), DBHandler::create_table(), DBHandler::delete_dashboards(), DBHandler::detect_column_types(), DBHandler::disconnect(), DBHandler::get_all_files_in_archive(), DBHandler::get_dashboard(), DBHandler::get_dashboard_grantees(), DBHandler::get_dashboards(), DBHandler::get_databases(), DBHandler::get_first_geo_file_in_archive(), DBHandler::get_hardware_info(), DBHandler::get_internal_table_details(), DBHandler::get_layers_in_geo_file(), DBHandler::get_link_view(), anonymous_namespace{TableFunctionCompilationContext.cpp}::get_llvm_type_from_sql_column_type(), DBHandler::get_memory(), DBHandler::get_physical_tables(), DBHandler::get_result_row_for_pixel(), DBHandler::get_server_status(), DBHandler::get_session_info(), DBHandler::get_status(), DBHandler::get_table_details(), DBHandler::get_table_epoch(), DBHandler::get_table_epoch_by_name(), DBHandler::get_table_epochs(), DBHandler::get_tables(), DBHandler::get_tables_meta(), DBHandler::get_users(), DBHandler::get_views(), com.mapd.calcite.parser.MapDParser::getPlanner(), DBHandler::getQueries(), DBHandler::import_geo_table(), DBHandler::import_table(), DBHandler::import_table_status(), DBHandler::interrupt(), DBHandler::load_table(), DBHandler::load_table_binary(), DBHandler::load_table_binary_columnar(), com.omnisci.jdbc.OmniSciConnection::manageConnection(), org.apache.calcite.rel.rules.OuterJoinOptViaNullRejectionRule::onMatch(), operator<<(), ra_exec_unit_desc_for_caching(), ResultSetStorage::reduceOneSlot(), Executor::removeFromQuerySessionList(), DBHandler::render_vega(), DBHandler::replace_dashboard(), DBHandler::set_execution_mode(), DBHandler::set_table_epoch(), DBHandler::set_table_epoch_by_name(), DBHandler::set_table_epochs(), com.omnisci.jdbc.OmniSciConnection::setSession(), DBHandler::shareOrUnshareDashboards(), DBHandler::sql_execute(), DBHandler::sql_validate(), DBHandler::switch_database(), RexSubQuery::toString(), Executor::updateQuerySessionExecutorAssignment(), Executor::updateQuerySessionStatusWithLock(), and ScalarExprToSql::visitWindowFunction().

684  {
685  return ExtensionFunctionsWhitelist::toString(sig_type);
686 }
static std::string toString(const std::vector< ExtensionFunction > &ext_funcs, std::string tab="")

+ Here is the call graph for this function: