OmniSciDB  a5dc49c757
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TableFunctionHelper.h File Reference
+ Include dependency graph for TableFunctionHelper.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

ExtArgumentType ext_arg_type_ensure_column (const ExtArgumentType ext_arg_type)
 
ExtArgumentType ext_arg_type_ensure_column_list (const ExtArgumentType ext_arg_type)
 
bool is_ext_arg_type_array (const ExtArgumentType ext_arg_type)
 
bool is_ext_arg_type_column (const ExtArgumentType ext_arg_type)
 
bool is_ext_arg_type_column_list (const ExtArgumentType ext_arg_type)
 
bool is_ext_arg_type_geo (const ExtArgumentType ext_arg_type)
 
bool is_ext_arg_type_pointer (const ExtArgumentType ext_arg_type)
 
bool is_ext_arg_type_scalar (const ExtArgumentType ext_arg_type)
 
bool is_ext_arg_type_scalar_integer (const ExtArgumentType ext_arg_type)
 
int32_t max_digits_for_ext_integer_arg (const ExtArgumentType ext_arg_type)
 
bool is_ext_arg_type_nonscalar (const ExtArgumentType ext_arg_type)
 

Function Documentation

ExtArgumentType ext_arg_type_ensure_column ( const ExtArgumentType  ext_arg_type)
inline

Definition at line 21 of file TableFunctionHelper.h.

References ArrayBool, ArrayDouble, ArrayFloat, ArrayInt16, ArrayInt32, ArrayInt64, ArrayInt8, ArrayTextEncodingDict, ArrayTextEncodingNone, Bool, ColumnArrayBool, ColumnArrayDouble, ColumnArrayFloat, ColumnArrayInt16, ColumnArrayInt32, ColumnArrayInt64, ColumnArrayInt8, ColumnArrayTextEncodingDict, ColumnArrayTextEncodingNone, ColumnBool, ColumnDouble, ColumnFloat, ColumnGeoLineString, ColumnGeoMultiLineString, ColumnGeoMultiPoint, ColumnGeoMultiPolygon, ColumnGeoPoint, ColumnGeoPolygon, ColumnInt16, ColumnInt32, ColumnInt64, ColumnInt8, ColumnTextEncodingDict, ColumnTextEncodingNone, Double, Float, GeoLineString, GeoMultiLineString, GeoMultiPoint, GeoMultiPolygon, GeoPoint, GeoPolygon, Int16, Int32, Int64, Int8, TextEncodingDict, and TextEncodingNone.

Referenced by table_functions::TableFunction::getArgs().

21  {
22  switch (ext_arg_type) {
71  default:
72  return ext_arg_type;
73  }
74 }

+ Here is the caller graph for this function:

ExtArgumentType ext_arg_type_ensure_column_list ( const ExtArgumentType  ext_arg_type)
inline

Definition at line 76 of file TableFunctionHelper.h.

References ArrayBool, ArrayDouble, ArrayFloat, ArrayInt16, ArrayInt32, ArrayInt64, ArrayInt8, ArrayTextEncodingDict, ArrayTextEncodingNone, Bool, ColumnListArrayBool, ColumnListArrayDouble, ColumnListArrayFloat, ColumnListArrayInt16, ColumnListArrayInt32, ColumnListArrayInt64, ColumnListArrayInt8, ColumnListArrayTextEncodingDict, ColumnListArrayTextEncodingNone, ColumnListBool, ColumnListDouble, ColumnListFloat, ColumnListInt16, ColumnListInt32, ColumnListInt64, ColumnListInt8, ColumnListTextEncodingDict, ColumnListTextEncodingNone, Double, Float, Int16, Int32, Int64, Int8, TextEncodingDict, and TextEncodingNone.

77  {
78  switch (ext_arg_type) {
115  default:
116  return ext_arg_type;
117  }
118 }
bool is_ext_arg_type_column ( const ExtArgumentType  ext_arg_type)
inline

Definition at line 138 of file TableFunctionHelper.h.

References ColumnArrayBool, ColumnArrayDouble, ColumnArrayFloat, ColumnArrayInt16, ColumnArrayInt32, ColumnArrayInt64, ColumnArrayInt8, ColumnArrayTextEncodingDict, ColumnArrayTextEncodingNone, ColumnBool, ColumnDouble, ColumnFloat, ColumnGeoLineString, ColumnGeoMultiLineString, ColumnGeoMultiPoint, ColumnGeoMultiPolygon, ColumnGeoPoint, ColumnGeoPolygon, ColumnInt16, ColumnInt32, ColumnInt64, ColumnInt8, ColumnTextEncodingDict, ColumnTextEncodingNone, and ColumnTimestamp.

Referenced by anonymous_namespace{ExtensionFunctionsBinding.cpp}::match_arguments().

138  {
139  switch (ext_arg_type) {
165  return true;
166 
167  default:
168  return false;
169  }
170 }

+ Here is the caller graph for this function:

bool is_ext_arg_type_column_list ( const ExtArgumentType  ext_arg_type)
inline

Definition at line 172 of file TableFunctionHelper.h.

References ColumnListArrayBool, ColumnListArrayDouble, ColumnListArrayFloat, ColumnListArrayInt16, ColumnListArrayInt32, ColumnListArrayInt64, ColumnListArrayInt8, ColumnListArrayTextEncodingDict, ColumnListArrayTextEncodingNone, ColumnListBool, ColumnListDouble, ColumnListFloat, ColumnListGeoLineString, ColumnListGeoMultiLineString, ColumnListGeoMultiPoint, ColumnListGeoMultiPolygon, ColumnListGeoPoint, ColumnListGeoPolygon, ColumnListInt16, ColumnListInt32, ColumnListInt64, ColumnListInt8, ColumnListTextEncodingDict, and ColumnListTextEncodingNone.

Referenced by bind_function(), and anonymous_namespace{ExtensionFunctionsBinding.cpp}::match_arguments().

172  {
173  switch (ext_arg_type) {
198  return true;
199 
200  default:
201  return false;
202  }
203 }

+ Here is the caller graph for this function:

bool is_ext_arg_type_geo ( const ExtArgumentType  ext_arg_type)
inline

Definition at line 205 of file TableFunctionHelper.h.

References GeoLineString, GeoMultiLineString, GeoMultiPoint, GeoMultiPolygon, GeoPoint, and GeoPolygon.

Referenced by CodeGenerator::codegenFunctionOperCastArgs().

+ Here is the caller graph for this function:

bool is_ext_arg_type_nonscalar ( const ExtArgumentType  ext_arg_type)
inline

Definition at line 298 of file TableFunctionHelper.h.

References is_ext_arg_type_scalar().

Referenced by table_functions::TableFunction::getSqlOutputRowSizeParameter().

298  {
299  return !is_ext_arg_type_scalar(ext_arg_type);
300 }
bool is_ext_arg_type_scalar(const ExtArgumentType ext_arg_type)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool is_ext_arg_type_pointer ( const ExtArgumentType  ext_arg_type)
inline

Definition at line 220 of file TableFunctionHelper.h.

References PBool, PDouble, PFloat, PInt16, PInt32, PInt64, and PInt8.

Referenced by CodeGenerator::codegenFunctionOperCastArgs().

+ Here is the caller graph for this function:

bool is_ext_arg_type_scalar ( const ExtArgumentType  ext_arg_type)
inline

Definition at line 237 of file TableFunctionHelper.h.

References ArrayBool, ArrayDouble, ArrayFloat, ArrayInt16, ArrayInt32, ArrayInt64, ArrayInt8, ArrayTextEncodingDict, ArrayTextEncodingNone, Bool, DayTimeInterval, Double, Float, Int16, Int32, Int64, Int8, TextEncodingDict, TextEncodingNone, Timestamp, and YearMonthTimeInterval.

Referenced by table_functions::TableFunction::countScalarArgs(), table_functions::TableFunction::getSqlOutputRowSizeParameter(), and is_ext_arg_type_nonscalar().

237  {
238  switch (ext_arg_type) {
260  return true;
261 
262  default:
263  return false;
264  }
265 }

+ Here is the caller graph for this function:

bool is_ext_arg_type_scalar_integer ( const ExtArgumentType  ext_arg_type)
inline
int32_t max_digits_for_ext_integer_arg ( const ExtArgumentType  ext_arg_type)
inline

Definition at line 282 of file TableFunctionHelper.h.

References Int16, Int32, Int64, Int8, and UNREACHABLE.

282  {
283  switch (ext_arg_type) {
285  return 2;
287  return 4;
289  return 9;
291  return 18;
292  default:
293  UNREACHABLE();
294  return 0;
295  }
296 }
#define UNREACHABLE()
Definition: Logger.h:338