OmniSciDB  04ee39c94c
ExtensionFunctionsBinding.h File Reference
#include "ExtensionFunctionsWhitelist.h"
#include "../Analyzer/Analyzer.h"
#include "../Shared/sqltypes.h"
#include <vector>
+ Include dependency graph for ExtensionFunctionsBinding.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Analyzer
 

Functions

ExtensionFunction bind_function (std::string name, Analyzer::ExpressionPtrVector func_args)
 
ExtensionFunction bind_function (const Analyzer::FunctionOper *function_oper)
 

Function Documentation

◆ bind_function() [1/2]

ExtensionFunction bind_function ( std::string  name,
Analyzer::ExpressionPtrVector  func_args 
)

Definition at line 313 of file ExtensionFunctionsBinding.cpp.

References bind_function(), and ExtensionFunctionsWhitelist::get_ext_funcs().

314  {
315  // used in RelAlgTranslator.cpp
316  std::vector<ExtensionFunction> ext_funcs =
318  return bind_function(name, func_args, ext_funcs);
319 }
static std::vector< ExtensionFunction > get_ext_funcs(const std::string &name)
ExtensionFunction bind_function(std::string name, Analyzer::ExpressionPtrVector func_args, const std::vector< ExtensionFunction > &ext_funcs)
+ Here is the call graph for this function:

◆ bind_function() [2/2]

ExtensionFunction bind_function ( const Analyzer::FunctionOper function_oper)

Definition at line 321 of file ExtensionFunctionsBinding.cpp.

References bind_function(), Analyzer::FunctionOper::getArity(), Analyzer::FunctionOper::getName(), and Analyzer::FunctionOper::getOwnArg().

321  {
322  // used in ExtensionIR.cpp
323  auto name = function_oper->getName();
324  Analyzer::ExpressionPtrVector func_args = {};
325  for (size_t i = 0; i < function_oper->getArity(); ++i) {
326  func_args.push_back(function_oper->getOwnArg(i));
327  }
328  return bind_function(name, func_args);
329 }
std::shared_ptr< Analyzer::Expr > getOwnArg(const size_t i) const
Definition: Analyzer.h:1259
std::string getName() const
Definition: Analyzer.h:1250
ExtensionFunction bind_function(std::string name, Analyzer::ExpressionPtrVector func_args, const std::vector< ExtensionFunction > &ext_funcs)
size_t getArity() const
Definition: Analyzer.h:1252
std::vector< ExpressionPtr > ExpressionPtrVector
Definition: Analyzer.h:181
+ Here is the call graph for this function: