OmniSciDB  fe05a0c208
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ExtensionFunctionsWhitelist.h File Reference
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include "Shared/sqltypes.h"
#include "Shared/toString.h"
+ Include dependency graph for ExtensionFunctionsWhitelist.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ExtensionFunction
 
class  ExtensionFunctionsWhitelist
 

Enumerations

enum  ExtArgumentType {
  ExtArgumentType::Int8, ExtArgumentType::Int16, ExtArgumentType::Int32, ExtArgumentType::Int64,
  ExtArgumentType::Float, ExtArgumentType::Double, ExtArgumentType::Void, ExtArgumentType::PInt8,
  ExtArgumentType::PInt16, ExtArgumentType::PInt32, ExtArgumentType::PInt64, ExtArgumentType::PFloat,
  ExtArgumentType::PDouble, ExtArgumentType::PBool, ExtArgumentType::Bool, ExtArgumentType::ArrayInt8,
  ExtArgumentType::ArrayInt16, ExtArgumentType::ArrayInt32, ExtArgumentType::ArrayInt64, ExtArgumentType::ArrayFloat,
  ExtArgumentType::ArrayDouble, ExtArgumentType::ArrayBool, ExtArgumentType::GeoPoint, ExtArgumentType::GeoLineString,
  ExtArgumentType::Cursor, ExtArgumentType::GeoPolygon, ExtArgumentType::GeoMultiPolygon, ExtArgumentType::ColumnInt8,
  ExtArgumentType::ColumnInt16, ExtArgumentType::ColumnInt32, ExtArgumentType::ColumnInt64, ExtArgumentType::ColumnFloat,
  ExtArgumentType::ColumnDouble, ExtArgumentType::ColumnBool, ExtArgumentType::TextEncodingNone, ExtArgumentType::TextEncodingDict8,
  ExtArgumentType::TextEncodingDict16, ExtArgumentType::TextEncodingDict32, ExtArgumentType::ColumnListInt8, ExtArgumentType::ColumnListInt16,
  ExtArgumentType::ColumnListInt32, ExtArgumentType::ColumnListInt64, ExtArgumentType::ColumnListFloat, ExtArgumentType::ColumnListDouble,
  ExtArgumentType::ColumnListBool
}
 

Functions

SQLTypeInfo ext_arg_type_to_type_info (const ExtArgumentType ext_arg_type)
 
std::string toString (const ExtArgumentType &sig_type)
 

Enumeration Type Documentation

enum ExtArgumentType
strong
Enumerator
Int8 
Int16 
Int32 
Int64 
Float 
Double 
Void 
PInt8 
PInt16 
PInt32 
PInt64 
PFloat 
PDouble 
PBool 
Bool 
ArrayInt8 
ArrayInt16 
ArrayInt32 
ArrayInt64 
ArrayFloat 
ArrayDouble 
ArrayBool 
GeoPoint 
GeoLineString 
Cursor 
GeoPolygon 
GeoMultiPolygon 
ColumnInt8 
ColumnInt16 
ColumnInt32 
ColumnInt64 
ColumnFloat 
ColumnDouble 
ColumnBool 
TextEncodingNone 
TextEncodingDict8 
TextEncodingDict16 
TextEncodingDict32 
ColumnListInt8 
ColumnListInt16 
ColumnListInt32 
ColumnListInt64 
ColumnListFloat 
ColumnListDouble 
ColumnListBool 

Definition at line 36 of file ExtensionFunctionsWhitelist.h.

36  {
37  Int8,
38  Int16,
39  Int32,
40  Int64,
41  Float,
42  Double,
43  Void,
44  PInt8,
45  PInt16,
46  PInt32,
47  PInt64,
48  PFloat,
49  PDouble,
50  PBool,
51  Bool,
52  ArrayInt8,
53  ArrayInt16,
54  ArrayInt32,
55  ArrayInt64,
56  ArrayFloat,
58  ArrayBool,
59  GeoPoint,
61  Cursor,
62  GeoPolygon,
64  ColumnInt8,
70  ColumnBool,
82 };

Function Documentation

SQLTypeInfo ext_arg_type_to_type_info ( const ExtArgumentType  ext_arg_type)

Definition at line 232 of file ExtensionFunctionsWhitelist.cpp.

References ArrayBool, ArrayDouble, ArrayFloat, ArrayInt16, ArrayInt32, ArrayInt64, ArrayInt8, Bool, ColumnBool, ColumnDouble, ColumnFloat, ColumnInt16, ColumnInt32, ColumnInt64, ColumnInt8, ColumnListBool, ColumnListDouble, ColumnListFloat, ColumnListInt16, ColumnListInt32, ColumnListInt64, ColumnListInt8, Double, logger::FATAL, Float, generate_array_type(), generate_column_type(), Int16, Int32, Int64, Int8, kBIGINT, kBOOLEAN, 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().

232  {
233  /* This function is mostly used for scalar types.
234  For non-scalar types, NULL is returned as a placeholder.
235  */
236 
237  switch (ext_arg_type) {
239  return SQLTypeInfo(kBOOLEAN, false);
241  return SQLTypeInfo(kTINYINT, false);
243  return SQLTypeInfo(kSMALLINT, false);
245  return SQLTypeInfo(kINT, false);
247  return SQLTypeInfo(kBIGINT, false);
249  return SQLTypeInfo(kFLOAT, false);
251  return SQLTypeInfo(kDOUBLE, false);
257  return generate_array_type(kINT);
261  return generate_array_type(kFLOAT);
271  return generate_column_type(kINT);
281  return SQLTypeInfo(kTEXT, false, kENCODING_NONE);
285  return SQLTypeInfo(kTEXT, false, kENCODING_DICT);
291  return generate_column_type(kINT);
300  default:
301  LOG(FATAL) << "ExtArgumentType `" << serialize_type(ext_arg_type)
302  << "` cannot be converted to SQLTypeInfo.";
303  }
304  return SQLTypeInfo(kNULLT, false);
305 }
#define LOG(tag)
Definition: Logger.h:194
auto generate_column_type(const SQLTypes subtype)
Definition: sqltypes.h:981
std::string serialize_type(const ExtArgumentType type, bool byval=true)
auto generate_array_type(const SQLTypes subtype)
Definition: sqltypes.h:975
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 740 of file ExtensionFunctionsWhitelist.cpp.

References ExtensionFunctionsWhitelist::toString().

Referenced by 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_custom_expression(), DBHandler::create_dashboard(), DBHandler::create_link(), DBHandler::create_table(), dateTimeParse(), DBHandler::delete_custom_expressions(), DBHandler::delete_dashboards(), DBHandler::detect_column_types(), DBHandler::disconnect(), Parser::CopyTableStmt::execute(), DBHandler::get_all_files_in_archive(), DBHandler::get_custom_expressions(), 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_internal_table_details_for_database(), 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_details_for_database(), DBHandler::get_table_epoch(), DBHandler::get_table_epoch_by_name(), DBHandler::get_table_epochs(), DBHandler::get_tables(), DBHandler::get_tables_for_database(), DBHandler::get_tables_meta(), DBHandler::get_users(), DBHandler::get_views(), DBHandler::getQueries(), DBHandler::import_geo_table(), DBHandler::import_table(), DBHandler::import_table_status(), import_export::Importer::importGDAL(), DBHandler::interrupt(), DBHandler::invalidate_cur_session(), DBHandler::load_table(), DBHandler::load_table_binary(), DBHandler::load_table_binary_columnar_internal(), org.apache.calcite.rel.rules.OuterJoinOptViaNullRejectionRule::onMatch(), ColumnList< T >::operator()(), operator<<(), anonymous_namespace{Datum.cpp}::parseInteger(), com.mapd.parser.server.CalciteServerHandler::process(), ra_exec_unit_desc_for_caching(), ResultSetStorage::reduceOneSlot(), DBHandler::render_vega(), DBHandler::replace_dashboard(), DBHandler::set_cur_session(), DBHandler::set_execution_mode(), DBHandler::set_table_epoch(), DBHandler::set_table_epoch_by_name(), DBHandler::set_table_epochs(), DBHandler::shareOrUnshareDashboards(), DBHandler::sql_execute(), DBHandler::sql_validate(), DBHandler::switch_database(), toString(), RexSubQuery::toString(), DBHandler::update_custom_expression(), and ScalarExprToSql::visitWindowFunction().

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

+ Here is the call graph for this function: