irods  4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems.
  Fossies Dox: irods-4.2.8.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

functions.cpp File Reference
#include "index.hpp"
#include "functions.hpp"
#include "arithmetics.hpp"
#include "datetime.hpp"
#include "cache.hpp"
#include "configuration.hpp"
#include "rsExecMyRule.hpp"
#include "rsDataObjOpen.hpp"
#include "rsDataObjLseek.hpp"
#include "rsDataObjWrite.hpp"
#include "rsDataObjClose.hpp"
#include "apiHeaderAll.h"
#include "rsApiHandler.hpp"
#include "dataObjOpr.hpp"
#include <boost/regex.h>
#include "execMyRule.h"
#include "msParam.h"
#include "reFuncDefs.hpp"
#include "stringOpr.h"
#include "miscServerFunct.hpp"
#include "irods_get_full_path_for_config_file.hpp"
Include dependency graph for functions.cpp:

Go to the source code of this file.

Classes

struct  reIterable_genQuery_data
 
struct  reIterable_list_data
 
struct  reIterable_irods_data
 
struct  reIterable_collection_data
 

Macros

#define GC_BEGIN   Region *_rnew = make_region(0, NULL), *_rnew2 = NULL;
 
#define GC_REGION   _rnew
 
#define GC_ON(env)
 
#define GC_END   region_free(_rnew);
 
#define RE_BACKWARD_COMPATIBLE
 
#define NUM_RE_ITERABLE   7
 

Typedefs

typedef struct reIterable_genQuery_data ReIterable_genQuery_data
 
typedef struct reIterable_list_data ReIterable_list_data
 
typedef struct reIterable_irods_data ReIterable_irods_data
 
typedef struct reIterable_collection_data ReIterable_collection_data
 

Functions

int rsOpenCollection (rsComm_t *rsComm, collInp_t *openCollInp)
 
int rsCloseCollection (rsComm_t *rsComm, int *handleInxInp)
 
int rsReadCollection (rsComm_t *rsComm, int *handleInxInp, collEnt_t **collEnt)
 
int msiExecGenQuery (msParam_t *genQueryInParam, msParam_t *genQueryOutParam, ruleExecInfo_t *rei)
 
int msiCloseGenQuery (msParam_t *genQueryInpParam, msParam_t *genQueryOutParam, ruleExecInfo_t *rei)
 
int msiGetMoreRows (msParam_t *genQueryInpParam, msParam_t *genQueryOutParam, msParam_t *contInxParam, ruleExecInfo_t *rei)
 
Ressmsi_getGlobalSessionId (Node **, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_setGlobalSessionId (Node **subtrees, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_properties (Node **, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
void reIterable_genQuery_init (ReIterableData *itrData, Region *r)
 
int reIterable_genQuery_hasNext (ReIterableData *itrData, Region *r)
 
ResreIterable_genQuery_next (ReIterableData *itrData, Region *r)
 
void reIterable_genQuery_finalize (ReIterableData *itrData, Region *r)
 
void reIterable_list_init (ReIterableData *itrData, Region *r)
 
int reIterable_list_hasNext (ReIterableData *itrData, Region *r)
 
ResreIterable_list_next (ReIterableData *itrData, Region *r)
 
void reIterable_list_finalize (ReIterableData *itrData, Region *r)
 
void reIterable_irods_init (ReIterableData *itrData, Region *r)
 
int reIterable_irods_hasNext (ReIterableData *itrData, Region *r)
 
ResreIterable_irods_next (ReIterableData *itrData, Region *r)
 
void reIterable_irods_finalize (ReIterableData *itrData, Region *r)
 
void reIterable_collection_init (ReIterableData *itrData, Region *r)
 
int reIterable_collection_hasNext (ReIterableData *itrData, Region *r)
 
ResreIterable_collection_next (ReIterableData *itrData, Region *r)
 
void reIterable_collection_finalize (ReIterableData *itrData, Region *r)
 
ReIterableDatanewReIterableData (char *varName, Res *res, Node **subtrees, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg)
 
void deleteReIterableData (ReIterableData *itrData)
 
int fileConcatenate (const char *file1, const char *file2, const char *file3)
 
NodewrapToActions (Node *node, Region *r)
 
Ressmsi_ifExec (Node **params, int, Node *, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_if2Exec (Node **params, int, Node *, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_do (Node **params, int, Node *, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_letExec (Node **params, int, Node *, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_matchExec (Node **params, int n, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_whileExec (Node **params, int, Node *, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_forExec (Node **params, int, Node *, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_split (Node **params, int, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_collection (Node **subtrees, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
ReIterableType collType (Res *coll)
 
ReIterablegetReIterable (ReIterableType nodeType)
 
Ressmsi_forEach2Exec (Node **subtrees, int, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_forEachExec (Node **subtrees, int, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
void columnToString (Node *n, char **queryStr, int *size)
 
Ressmsi_query (Node **subtrees, int, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_break (Node **, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_succeed (Node **, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_fail (Node **subtrees, int n, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_assign (Node **subtrees, int, Node *, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_getValByKey (Node **params, int, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_listvars (Node **, int, Node *, ruleExecInfo_t *, int, Env *env, rError_t *, Region *r)
 
Ressmsi_listcorerules (Node **, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_listapprules (Node **, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_listextrules (Node **, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_true (Node **, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_false (Node **, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_max (Node **params, int n, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_min (Node **params, int n, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_average (Node **params, int n, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_hd (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_tl (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_cons (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_setelem (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_list (Node **params, int n, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_tuple (Node **params, int n, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_elem (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_size (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_datetime (Node **params, int n, Node *, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_time (Node **, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_timestr (Node **params, int n, Node *, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_type (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_arity (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_str (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_double (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_int (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_bool (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_lmsg (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_not (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_negate (Node **args, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_abs (Node **args, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_exp (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_log (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_floor (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_ceiling (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_and (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_or (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_add (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_subtract (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_multiply (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_divide (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_modulo (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_power (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_root (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_concat (Node **params, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_lt (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_le (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_gt (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_ge (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_eq (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_neq (Node **params, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_like (Node **paramsr, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_not_like (Node **paramsr, int n, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_like_regex (Node **paramsr, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_not_like_regex (Node **paramsr, int n, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_eval (Node **paramsr, int, Node *, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_evalrule (Node **paramsr, int, Node *, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_errorcode (Node **paramsr, int, Node *, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_errormsg (Node **paramsr, int, Node *, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_delayExec (Node **paramsr, int, Node *node, ruleExecInfo_t *rei, int, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_remoteExec (Node **paramsr, int, Node *node, ruleExecInfo_t *rei, int, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_writeLine (Node **paramsr, int, Node *, ruleExecInfo_t *rei, int, Env *env, rError_t *, Region *r)
 
Ressmsi_writeString (Node **paramsr, int, Node *, ruleExecInfo_t *rei, int, Env *env, rError_t *, Region *r)
 
Ressmsi_triml (Node **paramsr, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_strlen (Node **paramsr, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_substr (Node **paramsr, int, Node *node, ruleExecInfo_t *, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_undefined (Node **, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_trimr (Node **paramsr, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_getReLogging (Node **paramsr, int, Node *node, ruleExecInfo_t *rei, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_setReLogging (Node **paramsr, int, Node *node, ruleExecInfo_t *rei, int, Env *, rError_t *errmsg, Region *r)
 
Ressmsi_getstdout (Node **paramsr, int, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_getstderr (Node **paramsr, int, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_assignStr (Node **subtrees, int, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_applyAllRules (Node **subtrees, int, Node *, ruleExecInfo_t *rei, int, Env *env, rError_t *errmsg, Region *r)
 
Ressmsi_path (Node **subtrees, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
Ressmsi_execCmdArg (Node **subtrees, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
int checkStringForSystem (const char *s)
 
Ressmsi_msiCheckStringForSystem (Node **paramsr, int, Node *, ruleExecInfo_t *, int, Env *, rError_t *, Region *r)
 
int parseResForCollInp (Node *inpParam, collInp_t *collInpCache, collInp_t **outCollInp, int outputToCache)
 
RessmsiCollectionSpider (Node **subtrees, int, Node *node, ruleExecInfo_t *rei, int reiSaveFlag, Env *env, rError_t *errmsg, Region *r)
 
Reseval (char *expr, Env *env, ruleExecInfo_t *rei, int saveREI, rError_t *errmsg, Region *r)
 
Nodeconstruct (char *fn, Node **args, int argc, Node *constype, Region *r)
 
Nodedeconstruct (Node **args, int proj)
 
char * matchWholeString (char *buf)
 
char * wildCardToRegex (char *buf)
 
Ressmsi_segfault (Node **, int, Node *node, ruleExecInfo_t *rei, int, Env *, rError_t *errmsg, Region *r)
 
void getSystemFunctions (Hashtable *ft, Region *r)
 

Variables

static char globalSessionId [(1024+64)] = "Unspecified"
 
static keyValPair_t globalHashtable = {0, 0 , 0 }
 
ReIterableTableRow reIterableTable [7]
 
int GlobalAllRuleExecFlag
 

Macro Definition Documentation

◆ GC_BEGIN

#define GC_BEGIN   Region *_rnew = make_region(0, NULL), *_rnew2 = NULL;

Definition at line 40 of file functions.cpp.

◆ GC_END

#define GC_END   region_free(_rnew);

Definition at line 48 of file functions.cpp.

◆ GC_ON

#define GC_ON (   env)
Value:
_rnew2 = make_region(0, NULL); \
cpEnv2((env), _rnew, _rnew2); \
region_free(_rnew); \
_rnew = _rnew2;}

Definition at line 42 of file functions.cpp.

◆ GC_REGION

#define GC_REGION   _rnew

Definition at line 41 of file functions.cpp.

◆ NUM_RE_ITERABLE

#define NUM_RE_ITERABLE   7

Definition at line 99 of file functions.cpp.

◆ RE_BACKWARD_COMPATIBLE

#define RE_BACKWARD_COMPATIBLE

Definition at line 50 of file functions.cpp.

Typedef Documentation

◆ ReIterable_collection_data

◆ ReIterable_genQuery_data

◆ ReIterable_irods_data

◆ ReIterable_list_data

Function Documentation

◆ checkStringForSystem()

int checkStringForSystem ( const char *  s)

Definition at line 296 of file stringOpr.cpp.

References NULL, and USER_INPUT_STRING_ERR.

Referenced by smsi_msiCheckStringForSystem().

◆ collType()

◆ columnToString()

void columnToString ( Node n,
char **  queryStr,
int size 
)

Definition at line 736 of file functions.cpp.

References PRINT, size, node::subtrees, and node::text.

◆ construct()

Node* construct ( char *  fn,
Node **  args,
int  argc,
Node constype,
Region r 
)

Definition at line 2508 of file functions.cpp.

References cpStringExt(), node::degree, node::exprType, newRes(), region_alloc(), node::subtrees, and node::text.

Referenced by evaluateFunction3().

Here is the call graph for this function:

◆ deconstruct()

Node* deconstruct ( Node **  args,
int  proj 
)

Definition at line 2518 of file functions.cpp.

References node::subtrees.

Referenced by evaluateFunction3().

◆ deleteReIterableData()

void deleteReIterableData ( ReIterableData itrData)

Definition at line 133 of file functions.cpp.

Referenced by smsi_forEach2Exec().

◆ eval()

Res* eval ( char *  expr,
Env env,
ruleExecInfo_t rei,
int  saveREI,
rError_t errmsg,
Region r 
)

Definition at line 2503 of file functions.cpp.

References parseAndComputeExpression().

Referenced by smsi_eval().

Here is the call graph for this function:

◆ fileConcatenate()

int fileConcatenate ( const char *  file1,
const char *  file2,
const char *  file3 
)

Definition at line 2454 of file functions.cpp.

References buf, error, NULL, UNIX_FILE_OPEN_ERR, and USER_FILE_DOES_NOT_EXIST.

◆ getReIterable()

ReIterable* getReIterable ( ReIterableType  nodeType)

Definition at line 615 of file functions.cpp.

References NULL, NUM_RE_ITERABLE, reIterableTableRow::reIterable, and reIterableTable.

Referenced by smsi_forEach2Exec().

◆ getSystemFunctions()

void getSystemFunctions ( Hashtable ft,
Region r 
)

Definition at line 2573 of file functions.cpp.

References insertIntoHashTable(), newFunctionFD(), NULL, smsi_abs(), smsi_add(), smsi_and(), smsi_applyAllRules(), smsi_arity(), smsi_assign(), smsi_assignStr(), smsi_average(), smsi_bool(), smsi_break(), smsi_ceiling(), smsi_collection(), smsi_concat(), smsi_cons(), smsi_datetime(), smsi_delayExec(), smsi_divide(), smsi_do(), smsi_double(), smsi_elem(), smsi_eq(), smsi_errorcode(), smsi_errormsg(), smsi_eval(), smsi_evalrule(), smsi_execCmdArg(), smsi_exp(), smsi_fail(), smsi_floor(), smsi_forEach2Exec(), smsi_forEachExec(), smsi_forExec(), smsi_ge(), smsi_getGlobalSessionId(), smsi_getstderr(), smsi_getstdout(), smsi_getValByKey(), smsi_gt(), smsi_hd(), smsi_if2Exec(), smsi_ifExec(), smsi_int(), smsi_le(), smsi_letExec(), smsi_like(), smsi_like_regex(), smsi_list(), smsi_listapprules(), smsi_listcorerules(), smsi_listextrules(), smsi_listvars(), smsi_lmsg(), smsi_log(), smsi_lt(), smsi_matchExec(), smsi_max(), smsi_min(), smsi_modulo(), smsi_msiCheckStringForSystem(), smsi_multiply(), smsi_negate(), smsi_neq(), smsi_not(), smsi_not_like(), smsi_not_like_regex(), smsi_or(), smsi_path(), smsi_power(), smsi_properties(), smsi_query(), smsi_remoteExec(), smsi_root(), smsi_segfault(), smsi_setelem(), smsi_setGlobalSessionId(), smsi_size(), smsi_split(), smsi_str(), smsi_strlen(), smsi_substr(), smsi_subtract(), smsi_succeed(), smsi_time(), smsi_timestr(), smsi_tl(), smsi_triml(), smsi_trimr(), smsi_type(), smsi_undefined(), smsi_whileExec(), smsi_writeLine(), smsi_writeString(), and smsiCollectionSpider().

Referenced by load_rules(), and loadRuleFromCacheOrFile().

Here is the call graph for this function:

◆ matchWholeString()

char* matchWholeString ( char *  buf)

Definition at line 2523 of file functions.cpp.

References buf.

Referenced by smsi_like_regex().

◆ msiCloseGenQuery()

msiCloseGenQuery ( msParam_t genQueryInp_msp,
msParam_t genQueryOut_msp,
ruleExecInfo_t rei 
)
Description:\n This microservice closes an unfinished query. This is based on the code from #msiGetMoreRows.
Module:\n core
Since
3.1
Example Usage:\n None
Parameters
[in]genQueryInp_msp- Required - a GenQueryInp_MS_T containing the query parameters and conditions.
[in]genQueryOut_msp- Required - a GenQueryOut_MS_T to write results to. If its continuation index is 0 the query will be closed.
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 395 of file genQueryMS.cpp.

Referenced by reIterable_genQuery_finalize().

◆ msiExecGenQuery()

msiExecGenQuery ( msParam_t genQueryInParam,
msParam_t genQueryOutParam,
ruleExecInfo_t rei 
)
Description:\n This function executes a given general query structure and returns results
Module:\n core
Since
pre-2.1
Note
Takes a SQL-like iRODS query (no FROM clause) and returns a table structure. Use msiGetMoreRows to get all rows.
Example Usage:\n See clients/icommands/test/rules/
Parameters
[in]genQueryInParam- a msParam of type GenQueryInp_MS_T
[out]genQueryOutParam- a msParam of type GenQueryOut_MS_T
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
msiGetMoreRows and msiExecStrCondQuery

Definition at line 117 of file genQueryMS.cpp.

Referenced by smsi_query().

◆ msiGetMoreRows()

msiGetMoreRows ( msParam_t genQueryInp_msp,
msParam_t genQueryOut_msp,
msParam_t continueInx,
ruleExecInfo_t rei 
)
Description:\n This microservice continues an unfinished query.
Module:\n core
Since
pre-2.1
Note
This microservice gets the next batch of rows for an open iCAT query. Likely to follow msiMakeGenQuery and msiExecGenQuery.
Example Usage:\n None
Parameters
[in]genQueryInp_msp- Required - a GenQueryInp_MS_T containing the query parameters and conditions.
[in]genQueryOut_msp- Required - a GenQueryOut_MS_T to write results to. If its continuation index is 0 the query will be closed.
[out]continueInx- a INT_MS_T containing the new continuation index (after the query).
[in,out]rei- The RuleExecInfo structure that is automatically handled by the rule engine. The user does not include rei as a parameter in the rule invocation.
Session Variables Used:\n none
Session Variables Modified:\n none
iCAT Attributes Used:\n none
iCAT Attributes Modified:\n none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 292 of file genQueryMS.cpp.

Referenced by reIterable_genQuery_hasNext().

◆ newReIterableData()

ReIterableData* newReIterableData ( char *  varName,
Res res,
Node **  subtrees,
Node node,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg 
)

◆ parseResForCollInp()

int parseResForCollInp ( Node inpParam,
collInp_t collInpCache,
collInp_t **  outCollInp,
int  outputToCache 
)

Definition at line 2292 of file functions.cpp.

References buf, CollInp_MS_T, CollInp::collName, CollInp::condInput, deleteHashTable(), ERR_MSG_LEN, node::exprType, LOG_ERROR, MAX_NAME_LEN, newHashTable(), NULL, RES_IRODS_TYPE, RES_UNINTER_STRUCT, rodsLog(), rstrcpy(), SYS_INTERNAL_NULL_INPUT_ERR, T_IRODS, T_STRING, node::text, TYPE, typeToString(), and USER_PARAM_TYPE_ERR.

Referenced by smsiCollectionSpider().

Here is the call graph for this function:

◆ reIterable_collection_finalize()

void reIterable_collection_finalize ( ReIterableData itrData,
Region r 
)

Definition at line 600 of file functions.cpp.

References reIterable_collection_data::collInp, reIterable_collection_data::dataObjInp, reIterableData::errorRes, reIterable_collection_data::handleInx, reIterableData::itrSpecData, newErrorRes(), reIterableData::rei, rsCloseCollection(), RuleExecInfo::rsComm, RuleExecInfo::status, reIterableData::subtrees, T_PATH, and TYPE.

Here is the call graph for this function:

◆ reIterable_collection_hasNext()

int reIterable_collection_hasNext ( ReIterableData itrData,
Region r 
)

Definition at line 562 of file functions.cpp.

References reIterable_collection_data::collEnt, DATA_OBJ_T, reIterable_collection_data::handleInx, reIterableData::itrSpecData, NULL, reIterableData::rei, RuleExecInfo::rsComm, rsReadCollection(), and RuleExecInfo::status.

Here is the call graph for this function:

◆ reIterable_collection_init()

◆ reIterable_collection_next()

Res * reIterable_collection_next ( ReIterableData itrData,
Region r 
)

◆ reIterable_genQuery_finalize()

void reIterable_genQuery_finalize ( ReIterableData itrData,
Region r 
)

◆ reIterable_genQuery_hasNext()

◆ reIterable_genQuery_init()

◆ reIterable_genQuery_next()

◆ reIterable_irods_finalize()

void reIterable_irods_finalize ( ReIterableData itrData,
Region r 
)

Definition at line 509 of file functions.cpp.

References reIterableData::itrSpecData.

◆ reIterable_irods_hasNext()

int reIterable_irods_hasNext ( ReIterableData itrData,
Region r 
)

◆ reIterable_irods_init()

void reIterable_irods_init ( ReIterableData itrData,
Region r 
)

Definition at line 488 of file functions.cpp.

References node::exprType, getCollectionSize(), reIterable_irods_data::i, reIterableData::itrSpecData, reIterable_irods_data::n, reIterableData::res, RES_UNINTER_STRUCT, and node::text.

Here is the call graph for this function:

◆ reIterable_irods_next()

Res * reIterable_irods_next ( ReIterableData itrData,
Region r 
)

◆ reIterable_list_finalize()

void reIterable_list_finalize ( ReIterableData itrData,
Region r 
)

Definition at line 477 of file functions.cpp.

References reIterableData::itrSpecData.

◆ reIterable_list_hasNext()

int reIterable_list_hasNext ( ReIterableData itrData,
Region r 
)

◆ reIterable_list_init()

◆ reIterable_list_next()

Res * reIterable_list_next ( ReIterableData itrData,
Region r 
)

Definition at line 469 of file functions.cpp.

References reIterable_list_data::elems, reIterableData::env, reIterableData::errmsg, evaluateActions(), reIterable_list_data::i, reIterableData::itrSpecData, reIterableData::node, reIterableData::rei, reIterableData::reiSaveFlag, setVariableValue(), reIterableData::subtrees, and reIterableData::varName.

Here is the call graph for this function:

◆ rsCloseCollection()

◆ rsOpenCollection()

◆ rsReadCollection()

◆ smsi_abs()

Res* smsi_abs ( Node **  args,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1473 of file functions.cpp.

References newDoubleRes(), newIntRes(), RES_DOUBLE_VAL, RES_INT_VAL, T_INT, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_add()

Res* smsi_add ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1518 of file functions.cpp.

References newDoubleRes(), newIntRes(), RES_DOUBLE_VAL, RES_INT_VAL, T_INT, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_and()

Res* smsi_and ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1507 of file functions.cpp.

References newBoolRes(), and RES_BOOL_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_applyAllRules()

Res* smsi_applyAllRules ( Node **  subtrees,
int  ,
Node ,
ruleExecInfo_t rei,
int  ,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 2226 of file functions.cpp.

References run_tests::action, evaluateExpression3(), and RES_INT_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_arity()

Res* smsi_arity ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1300 of file functions.cpp.

References findNextRule2(), getRuleDesc(), newErrorRes(), newIntRes(), RuleDesc::node, RE_RUNTIME_ERROR, RULE_NODE_NUM_PARAMS, ruleIndexListNode::ruleIndex, ruleIndexListNode::secondaryIndex, and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_assign()

Res* smsi_assign ( Node **  subtrees,
int  ,
Node ,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 957 of file functions.cpp.

References DISCARD_EXPRESSION_RESULT, evaluateExpression3(), getNodeType, matchPattern(), and N_ERROR.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_assignStr()

Res* smsi_assignStr ( Node **  subtrees,
int  ,
Node node,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 2211 of file functions.cpp.

References CASCADE_N_ERROR, DISCARD_EXPRESSION_RESULT, evaluateExpression3(), getNodeType, matchPattern(), N_ERROR, smsi_str(), T_BOOL, T_DOUBLE, T_INT, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_average()

Res* smsi_average ( Node **  params,
int  n,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1086 of file functions.cpp.

References node::dval, and newDoubleRes().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_bool()

Res* smsi_bool ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1430 of file functions.cpp.

References ERR_MSG_LEN, generateAndAddErrMsg(), int(), newErrorRes(), newRes(), newSimpType(), RE_UNSUPPORTED_OP_OR_TYPE, RES_BOOL_VAL_LVAL, RES_DOUBLE_VAL, RES_INT_VAL, T_BOOL, T_DOUBLE, T_INT, T_STRING, node::text, TYPE, and typeName_Res().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_break()

Res* smsi_break ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 936 of file functions.cpp.

References node::exprType, newRes(), newSimpType(), and T_BREAK.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_ceiling()

Res* smsi_ceiling ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1500 of file functions.cpp.

References newDoubleRes(), and RES_DOUBLE_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_collection()

Res* smsi_collection ( Node **  subtrees,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 312 of file functions.cpp.

References CollInp_MS_T, CollInp::collName, MAX_NAME_LEN, newUninterpretedRes(), NULL, rstrcpy(), and node::text.

Referenced by getSystemFunctions(), and reIterable_collection_init().

Here is the call graph for this function:

◆ smsi_concat()

Res* smsi_concat ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1576 of file functions.cpp.

References newStringRes(), and RES_STRING_STR_LEN.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_cons()

Res* smsi_cons ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1124 of file functions.cpp.

References node::degree, node::exprType, newCollType(), newRes(), region_alloc(), and node::subtrees.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_datetime()

Res* smsi_datetime ( Node **  params,
int  n,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1230 of file functions.cpp.

References addRErrorMsg(), ERR_MSG_LEN, node::exprType, irods.pypyodbc::long, newErrorRes(), newRes(), newSimpType(), RE_UNSUPPORTED_OP_OR_TYPE, RES_DOUBLE_VAL, RES_INT_VAL, RES_TIME_VAL, strttime(), T_DATETIME, T_DOUBLE, T_INT, T_STRING, node::text, TYPE, and typeName_Res().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_delayExec()

Res* smsi_delayExec ( Node **  paramsr,
int  ,
Node node,
ruleExecInfo_t rei,
int  ,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 1848 of file functions.cpp.

References _delayExec(), convertEnvToMsParamArray(), deleteMsParamArray(), generateAndAddErrMsg(), MAX_ACTION_SIZE, RuleExecInfo::msParamArray, newErrorRes(), newIntRes(), newMsParamArray(), and rstrcpy().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_divide()

Res* smsi_divide ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1542 of file functions.cpp.

References generateAndAddErrMsg(), newDoubleRes(), newErrorRes(), RE_DIVISION_BY_ZERO, RES_DOUBLE_VAL, RES_INT_VAL, T_INT, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_do()

Res* smsi_do ( Node **  params,
int  ,
Node ,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 175 of file functions.cpp.

References evaluateActions(), evaluateExpression3(), getNodeType, N_ACTIONS, and NULL.

Referenced by getSystemFunctions(), smsi_getstderr(), and smsi_getstdout().

Here is the call graph for this function:

◆ smsi_double()

Res* smsi_double ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1388 of file functions.cpp.

References ERR_MSG_LEN, generateAndAddErrMsg(), newErrorRes(), newRes(), newSimpType(), RE_UNSUPPORTED_OP_OR_TYPE, RES_DOUBLE_VAL_LVAL, RES_TIME_VAL, T_DATETIME, T_DOUBLE, T_STRING, node::text, TYPE, and typeName_Res().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_elem()

Res* smsi_elem ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1192 of file functions.cpp.

References ERR_MSG_LEN, generateAndAddErrMsg(), getCollectionSize(), getValueFromCollection(), newErrorRes(), RE_RUNTIME_ERROR, RES_INT_VAL, RES_UNINTER_STRUCT, node::subtrees, T_CONS, node::text, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_eq()

Res* smsi_eq ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1680 of file functions.cpp.

References ERR_MSG_LEN, generateAndAddErrMsg(), newBoolRes(), newErrorRes(), NULL, RE_DYNAMIC_TYPE_ERROR, RES_BOOL_VAL, RES_DOUBLE_VAL, RES_INT_VAL, RES_TIME_VAL, T_BOOL, T_DATETIME, T_DOUBLE, T_INT, T_PATH, T_STRING, TYPE, and typeToString().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_errorcode()

Res* smsi_errorcode ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Run node and return the errorcode. If the execution is successful, the returned errorcode is 0.

Definition at line 1803 of file functions.cpp.

References evaluateActions(), evaluateExpression3(), getNodeType, N_ACTIONS, N_ERROR, newIntRes(), and RES_ERR_CODE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_errormsg()

Res* smsi_errormsg ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Run node and return the errorcode. If the execution is successful, the returned errorcode is 0.

Definition at line 1825 of file functions.cpp.

References ERR_MSG_LEN, errMsgToString(), evaluateActions(), evaluateExpression3(), freeRErrorContent(), getNodeType, N_ACTIONS, N_ERROR, newIntRes(), newStringRes(), and RES_ERR_CODE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_eval()

Res* smsi_eval ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 1788 of file functions.cpp.

References eval().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_evalrule()

Res* smsi_evalrule ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 1794 of file functions.cpp.

References newIntRes(), and parseAndComputeRule().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_execCmdArg()

Res* smsi_execCmdArg ( Node **  subtrees,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 2255 of file functions.cpp.

References newStringRes(), pid_age::p, and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_exp()

Res* smsi_exp ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1483 of file functions.cpp.

References newDoubleRes(), and RES_DOUBLE_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_fail()

Res* smsi_fail ( Node **  subtrees,
int  n,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 948 of file functions.cpp.

References FAIL_ACTION_ENCOUNTERED_ERR, generateAndAddErrMsg(), newErrorRes(), RES_ERR_CODE, RES_INT_VAL, and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_false()

Res* smsi_false ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1048 of file functions.cpp.

References newBoolRes().

Here is the call graph for this function:

◆ smsi_floor()

Res* smsi_floor ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1494 of file functions.cpp.

References newDoubleRes(), and RES_DOUBLE_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_forEach2Exec()

◆ smsi_forEachExec()

Res* smsi_forEachExec ( Node **  subtrees,
int  ,
Node node,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 718 of file functions.cpp.

References evaluateVar3(), getNodeType, N_ERROR, smsi_forEach2Exec(), T_ERROR, node::text, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_forExec()

Res* smsi_forExec ( Node **  params,
int  ,
Node ,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 259 of file functions.cpp.

References cpEnv(), cpRes, cpRes2, DISCARD_EXPRESSION_RESULT, evaluateActions(), evaluateExpression3(), GC_BEGIN, GC_END, GC_ON, GC_REGION, getNodeType, make_region(), N_ERROR, newIntRes(), NULL, region_free(), RES_BOOL_VAL, T_BREAK, T_SUCCESS, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_ge()

Res* smsi_ge ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1658 of file functions.cpp.

References ERR_MSG_LEN, generateAndAddErrMsg(), newBoolRes(), newErrorRes(), NULL, RE_DYNAMIC_TYPE_ERROR, RES_DOUBLE_VAL, RES_INT_VAL, RES_TIME_VAL, T_DATETIME, T_DOUBLE, T_INT, T_STRING, TYPE, and typeToString().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_getGlobalSessionId()

Res* smsi_getGlobalSessionId ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 63 of file functions.cpp.

References globalSessionId, and newStringRes().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_getReLogging()

Res* smsi_getReLogging ( Node **  paramsr,
int  ,
Node node,
ruleExecInfo_t rei,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 2146 of file functions.cpp.

References generateAndAddErrMsg(), newBoolRes(), newErrorRes(), readICatUserLogging(), RuleExecInfo::rsComm, and node::text.

Here is the call graph for this function:

◆ smsi_getstderr()

Res* smsi_getstderr ( Node **  paramsr,
int  ,
Node node,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 2192 of file functions.cpp.

References ExecCmdOut_MS_T, generateAndAddErrMsg(), getMsParamByLabel(), MsParam::inOutStruct, RuleExecInfo::msParamArray, newErrorRes(), newStringRes(), NULL, manual_cleanup::out, RE_RUNTIME_ERROR, smsi_do(), start(), and MsParam::type.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_getstdout()

Res* smsi_getstdout ( Node **  paramsr,
int  ,
Node node,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 2172 of file functions.cpp.

References ExecCmdOut_MS_T, generateAndAddErrMsg(), getMsParamByLabel(), MsParam::inOutStruct, RuleExecInfo::msParamArray, newErrorRes(), newStringRes(), NULL, manual_cleanup::out, RE_RUNTIME_ERROR, smsi_do(), start(), and MsParam::type.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_getValByKey()

Res* smsi_getValByKey ( Node **  params,
int  ,
Node node,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)
Description:\n '.'
<expr> ::= <expr> '.' ( <iden> | <str> )
Examples:
*kv.A = "a"; # Add key value pair
*kv.A = "b"; # Update key value pair
*kv.A == "a" # Get value by key
*kv."A B" = "a";
*kv."A B" = "b";
*kv."A B" == "b"

Definition at line 985 of file functions.cpp.

References DISCARD_EXPRESSION_RESULT, ERR_MSG_LEN, evaluateExpression3(), generateAndAddErrMsg(), getNodeType, KeyValPair::keyWord, KeyValPair::len, N_APP_ARITY, N_APP_FUNC, N_APPLICATION, newErrorRes(), newStringRes(), NULL, RES_UNINTER_STRUCT, T_STRING, node::text, TYPE, UNMATCHED_KEY_OR_INDEX, and KeyValPair::value.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_gt()

Res* smsi_gt ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1635 of file functions.cpp.

References ERR_MSG_LEN, generateAndAddErrMsg(), newBoolRes(), newErrorRes(), NULL, RE_DYNAMIC_TYPE_ERROR, RES_DOUBLE_VAL, RES_INT_VAL, RES_TIME_VAL, T_DATETIME, T_DOUBLE, T_INT, T_STRING, TYPE, and typeToString().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_hd()

Res* smsi_hd ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1096 of file functions.cpp.

References generateAndAddErrMsg(), newErrorRes(), RE_RUNTIME_ERROR, and node::subtrees.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_if2Exec()

Res* smsi_if2Exec ( Node **  params,
int  ,
Node ,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 162 of file functions.cpp.

References DISCARD_EXPRESSION_RESULT, evaluateExpression3(), getNodeType, N_ERROR, and RES_BOOL_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_ifExec()

Res* smsi_ifExec ( Node **  params,
int  ,
Node ,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 149 of file functions.cpp.

References DISCARD_EXPRESSION_RESULT, evaluateActions(), evaluateExpression3(), getNodeType, N_ERROR, RES_BOOL_VAL, and wrapToActions().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_int()

Res* smsi_int ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1409 of file functions.cpp.

References ERR_MSG_LEN, generateAndAddErrMsg(), int(), newErrorRes(), newRes(), newSimpType(), RE_UNSUPPORTED_OP_OR_TYPE, RES_DOUBLE_VAL, RES_INT_VAL_LVAL, T_DOUBLE, T_INT, T_STRING, node::text, TYPE, and typeName_Res().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_le()

Res* smsi_le ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1612 of file functions.cpp.

References ERR_MSG_LEN, generateAndAddErrMsg(), newBoolRes(), newErrorRes(), NULL, RE_DYNAMIC_TYPE_ERROR, RES_DOUBLE_VAL, RES_INT_VAL, RES_TIME_VAL, T_DATETIME, T_DOUBLE, T_INT, T_STRING, TYPE, and typeToString().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_letExec()

Res* smsi_letExec ( Node **  params,
int  ,
Node ,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 184 of file functions.cpp.

References DISCARD_EXPRESSION_RESULT, evaluateExpression3(), getNodeType, matchPattern(), N_ERROR, newEnv(), newHashTable2(), and NULL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_like()

Res* smsi_like ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1736 of file functions.cpp.

References newBoolRes(), node::text, and wildCardToRegex().

Referenced by getSystemFunctions(), and smsi_not_like().

Here is the call graph for this function:

◆ smsi_like_regex()

Res* smsi_like_regex ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1762 of file functions.cpp.

References matchWholeString(), newBoolRes(), and node::text.

Referenced by getSystemFunctions(), and smsi_not_like_regex().

Here is the call graph for this function:

◆ smsi_list()

Res* smsi_list ( Node **  params,
int  n,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1160 of file functions.cpp.

References node::degree, node::exprType, newCollType(), newRes(), newSimpType(), region_alloc(), node::subtrees, and T_UNSPECED.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_listapprules()

Res* smsi_listapprules ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1029 of file functions.cpp.

References Cache::appRuleSet, ruleSet::len, newCollRes(), newSimpType(), newStringRes(), RuleDesc::node, ruleEngineConfig, ruleSet::rules, node::subtrees, T_STRING, and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_listcorerules()

Res* smsi_listcorerules ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1021 of file functions.cpp.

References Cache::coreRuleSet, ruleSet::len, newCollRes(), newSimpType(), newStringRes(), RuleDesc::node, ruleEngineConfig, ruleSet::rules, node::subtrees, T_STRING, and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_listextrules()

Res* smsi_listextrules ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1037 of file functions.cpp.

References Cache::extRuleSet, ruleSet::len, newCollRes(), newSimpType(), newStringRes(), RuleDesc::node, ruleEngineConfig, ruleSet::rules, node::subtrees, T_STRING, and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_listvars()

Res* smsi_listvars ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env env,
rError_t ,
Region r 
)

Definition at line 1015 of file functions.cpp.

References buf, env::current, newStringRes(), and printHashtable().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_lmsg()

Res* smsi_lmsg ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1456 of file functions.cpp.

References newIntRes(), and writeToTmp().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_log()

Res* smsi_log ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1488 of file functions.cpp.

References irods::log(), newDoubleRes(), and RES_DOUBLE_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_lt()

Res* smsi_lt ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1589 of file functions.cpp.

References ERR_MSG_LEN, generateAndAddErrMsg(), newBoolRes(), newErrorRes(), NULL, RE_DYNAMIC_TYPE_ERROR, RES_DOUBLE_VAL, RES_INT_VAL, RES_TIME_VAL, T_DATETIME, T_DOUBLE, T_INT, T_STRING, TYPE, and typeToString().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_matchExec()

Res* smsi_matchExec ( Node **  params,
int  n,
Node node,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 200 of file functions.cpp.

References addRErrorMsg(), DISCARD_EXPRESSION_RESULT, ERR_MSG_SEP, evaluateExpression3(), generateAndAddErrMsg(), getNodeType, matchPattern(), N_ERROR, newEnv(), newErrorRes(), newHashTable2(), NULL, and RE_PATTERN_NOT_MATCHED.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_max()

Res* smsi_max ( Node **  params,
int  n,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1052 of file functions.cpp.

References node::dval, and newDoubleRes().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_min()

Res* smsi_min ( Node **  params,
int  n,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1069 of file functions.cpp.

References node::dval, and newDoubleRes().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_modulo()

Res* smsi_modulo ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1557 of file functions.cpp.

References generateAndAddErrMsg(), newDoubleRes(), newErrorRes(), RE_DIVISION_BY_ZERO, and RES_INT_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_msiCheckStringForSystem()

Res* smsi_msiCheckStringForSystem ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 2280 of file functions.cpp.

References checkStringForSystem(), newErrorRes(), newIntRes(), and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_multiply()

Res* smsi_multiply ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1534 of file functions.cpp.

References newDoubleRes(), newIntRes(), RES_DOUBLE_VAL, RES_INT_VAL, T_INT, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_negate()

Res* smsi_negate ( Node **  args,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1465 of file functions.cpp.

References newDoubleRes(), newIntRes(), RES_DOUBLE_VAL, RES_INT_VAL, T_INT, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_neq()

Res* smsi_neq ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1708 of file functions.cpp.

References ERR_MSG_LEN, generateAndAddErrMsg(), newBoolRes(), newErrorRes(), NULL, RE_DYNAMIC_TYPE_ERROR, RES_BOOL_VAL, RES_DOUBLE_VAL, RES_INT_VAL, RES_TIME_VAL, T_BOOL, T_DATETIME, T_DOUBLE, T_INT, T_PATH, T_STRING, TYPE, and typeToString().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_not()

Res* smsi_not ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1461 of file functions.cpp.

References newBoolRes(), and RES_BOOL_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_not_like()

Res* smsi_not_like ( Node **  paramsr,
int  n,
Node node,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 1755 of file functions.cpp.

References N_ERROR, newBoolRes(), RES_BOOL_VAL, smsi_like(), and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_not_like_regex()

Res* smsi_not_like_regex ( Node **  paramsr,
int  n,
Node node,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 1780 of file functions.cpp.

References N_ERROR, newBoolRes(), RES_BOOL_VAL, smsi_like_regex(), and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_or()

Res* smsi_or ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1513 of file functions.cpp.

References newBoolRes(), and RES_BOOL_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_path()

Res* smsi_path ( Node **  subtrees,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 2244 of file functions.cpp.

References newPathRes(), and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_power()

Res* smsi_power ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1565 of file functions.cpp.

References newDoubleRes(), and RES_DOUBLE_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_properties()

Res* smsi_properties ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 73 of file functions.cpp.

References globalHashtable, KeyValPair_MS_T, newUninterpretedRes(), and NULL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_query()

◆ smsi_remoteExec()

◆ smsi_root()

Res* smsi_root ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1568 of file functions.cpp.

References generateAndAddErrMsg(), newDoubleRes(), newErrorRes(), RE_DIVISION_BY_ZERO, and RES_DOUBLE_VAL.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_segfault()

Res* smsi_segfault ( Node **  ,
int  ,
Node node,
ruleExecInfo_t rei,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 2562 of file functions.cpp.

References authInfo_t::authFlag, userInfo_t::authInfo, buf, CAT_INSUFFICIENT_PRIVILEGE_LEVEL, ERR_MSG_LEN, generateAndAddErrMsg(), LOCAL_PRIV_USER_AUTH, newErrorRes(), NULL, and RuleExecInfo::uoic.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_setelem()

Res* smsi_setelem ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1138 of file functions.cpp.

References node::degree, ERR_MSG_LEN, node::exprType, generateAndAddErrMsg(), newCollType(), newErrorRes(), newRes(), RE_RUNTIME_ERROR, region_alloc(), RES_INT_VAL, and node::subtrees.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_setGlobalSessionId()

Res* smsi_setGlobalSessionId ( Node **  subtrees,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 67 of file functions.cpp.

References globalSessionId, MAX_NAME_LEN, newIntRes(), rstrcpy(), and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_setReLogging()

Res* smsi_setReLogging ( Node **  paramsr,
int  ,
Node node,
ruleExecInfo_t rei,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 2158 of file functions.cpp.

References generateAndAddErrMsg(), newErrorRes(), newIntRes(), RES_BOOL_VAL, RuleExecInfo::rsComm, node::text, and writeICatUserLogging().

Here is the call graph for this function:

◆ smsi_size()

Res* smsi_size ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1218 of file functions.cpp.

References node::degree, node::exprType, getCollectionSize(), newRes(), newSimpType(), RES_INT_VAL_LVAL, RES_UNINTER_STRUCT, T_CONS, T_INT, node::text, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_split()

Res * smsi_split ( Node **  paramsr,
int  ,
Node node,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 2051 of file functions.cpp.

References buf, newCollRes(), newSimpType(), newStringRes(), NULL, node::subtrees, T_STRING, node::text, and trim().

Referenced by getSystemFunctions(), and smsi_forEach2Exec().

Here is the call graph for this function:

◆ smsi_str()

Res* smsi_str ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1316 of file functions.cpp.

References buf, BUF_LEN_MS_T, convertResToString(), ERR_MSG_LEN, node::exprType, generateAndAddErrMsg(), KeyValPair_MS_T, KeyValPair::keyWord, KeyValPair::len, newErrorRes(), newStringRes(), NULL, RE_UNSUPPORTED_OP_OR_TYPE, RES_UNINTER_BUFFER, RES_UNINTER_STRUCT, size, T_BOOL, T_CONS, T_DATETIME, T_DOUBLE, T_INT, T_IRODS, T_PATH, T_STRING, node::text, TYPE, typeName_Res(), and KeyValPair::value.

Referenced by getSystemFunctions(), and smsi_assignStr().

Here is the call graph for this function:

◆ smsi_strlen()

Res* smsi_strlen ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 2024 of file functions.cpp.

References newIntRes(), and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_substr()

Res* smsi_substr ( Node **  paramsr,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 2029 of file functions.cpp.

References buf, generateAndAddErrMsg(), newErrorRes(), newStringRes(), RE_RUNTIME_ERROR, RES_INT_VAL, start(), and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_subtract()

Res* smsi_subtract ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1526 of file functions.cpp.

References newDoubleRes(), newIntRes(), RES_DOUBLE_VAL, RES_INT_VAL, T_INT, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_succeed()

Res* smsi_succeed ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 942 of file functions.cpp.

References node::exprType, newRes(), newSimpType(), and T_SUCCESS.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_time()

Res* smsi_time ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1263 of file functions.cpp.

References newDatetimeRes().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_timestr()

Res* smsi_timestr ( Node **  params,
int  n,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1269 of file functions.cpp.

References addRErrorMsg(), buf, ERR_MSG_LEN, newErrorRes(), newRes(), newStringRes(), RE_UNSUPPORTED_OP_OR_TYPE, RES_TIME_VAL, T_DATETIME, T_STRING, node::text, ttimestr(), TYPE, and typeName_Res().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_tl()

Res* smsi_tl ( Node **  params,
int  ,
Node node,
ruleExecInfo_t ,
int  ,
Env ,
rError_t errmsg,
Region r 
)

Definition at line 1105 of file functions.cpp.

References node::degree, node::exprType, generateAndAddErrMsg(), newCollType(), newErrorRes(), newRes(), RE_RUNTIME_ERROR, region_alloc(), node::subtrees, and T_CONS_TYPE_ARG.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_triml()

Res* smsi_triml ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 2006 of file functions.cpp.

References newStringRes(), NULL, pid_age::p, and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_trimr()

Res* smsi_trimr ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 2112 of file functions.cpp.

References newStringRes(), NULL, pid_age::p, and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_true()

Res* smsi_true ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1045 of file functions.cpp.

References newBoolRes().

Here is the call graph for this function:

◆ smsi_tuple()

Res* smsi_tuple ( Node **  params,
int  n,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1174 of file functions.cpp.

References cpStringExt(), node::degree, node::exprType, newConsType(), newRes(), region_alloc(), node::subtrees, node::text, and TUPLE.

Here is the call graph for this function:

◆ smsi_type()

Res* smsi_type ( Node **  params,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 1293 of file functions.cpp.

References node::exprType, newStringRes(), NULL, and typeToString().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_undefined()

Res* smsi_undefined ( Node **  ,
int  ,
Node ,
ruleExecInfo_t ,
int  ,
Env ,
rError_t ,
Region r 
)

Definition at line 2108 of file functions.cpp.

References newUnspecifiedRes().

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_whileExec()

Res* smsi_whileExec ( Node **  params,
int  ,
Node ,
ruleExecInfo_t rei,
int  reiSaveFlag,
Env env,
rError_t errmsg,
Region r 
)

Definition at line 223 of file functions.cpp.

References cpEnv(), cpRes, DISCARD_EXPRESSION_RESULT, evaluateActions(), evaluateExpression3(), GC_BEGIN, GC_END, GC_ON, GC_REGION, getNodeType, N_ERROR, newIntRes(), RES_BOOL_VAL, T_BREAK, T_SUCCESS, and TYPE.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_writeLine()

Res* smsi_writeLine ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t rei,
int  ,
Env env,
rError_t ,
Region r 
)

Definition at line 1961 of file functions.cpp.

References _writeString(), convertResToString(), LOG_NOTICE, newErrorRes(), newIntRes(), rodsLog(), and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsi_writeString()

Res* smsi_writeString ( Node **  paramsr,
int  ,
Node ,
ruleExecInfo_t rei,
int  ,
Env env,
rError_t ,
Region r 
)

Definition at line 1989 of file functions.cpp.

References _writeString(), convertResToString(), newErrorRes(), newIntRes(), and node::text.

Referenced by getSystemFunctions().

Here is the call graph for this function:

◆ smsiCollectionSpider()

◆ wildCardToRegex()

char* wildCardToRegex ( char *  buf)

Definition at line 2532 of file functions.cpp.

References buf, and pid_age::p.

Referenced by smsi_like().

◆ wrapToActions()

Node* wrapToActions ( Node node,
Region r 
)

Definition at line 138 of file functions.cpp.

References node::base, label::base, createActionsNode(), label::exprloc, getNodeType, N_ACTIONS, and NODE_EXPR_POS.

Referenced by smsi_ifExec().

Here is the call graph for this function:

Variable Documentation

◆ GlobalAllRuleExecFlag

int GlobalAllRuleExecFlag

◆ globalHashtable

keyValPair_t globalHashtable = {0, 0 , 0 }
static

Definition at line 52 of file functions.cpp.

Referenced by smsi_properties().

◆ globalSessionId

char globalSessionId[(1024+64)] = "Unspecified"
static

Definition at line 51 of file functions.cpp.

Referenced by smsi_getGlobalSessionId(), and smsi_setGlobalSessionId().

◆ reIterableTable

NULL
#define NULL
Definition: rodsDef.h:70
RE_ITERABLE_LIST
@ RE_ITERABLE_LIST
Definition: functions.hpp:33
reIterable_collection_finalize
void reIterable_collection_finalize(ReIterableData *itrData, Region *r)
Definition: functions.cpp:600
reIterable_collection_init
void reIterable_collection_init(ReIterableData *itrData, Region *r)
Definition: functions.cpp:522
reIterable_irods_init
void reIterable_irods_init(ReIterableData *itrData, Region *r)
Definition: functions.cpp:488
RE_ITERABLE_KEY_VALUE_PAIRS
@ RE_ITERABLE_KEY_VALUE_PAIRS
Definition: functions.hpp:37
region_size
size_t region_size(Region *r)
Definition: region.cpp:157
reIterable_genQuery_finalize
void reIterable_genQuery_finalize(ReIterableData *itrData, Region *r)
Definition: functions.cpp:434
env
Definition: restructs.hpp:226
reIterable_genQuery_init
void reIterable_genQuery_init(ReIterableData *itrData, Region *r)
Definition: functions.cpp:373
make_region
Region * make_region(size_t is, jmp_buf *label)
Definition: region.cpp:85
RE_ITERABLE_COLLECTION
@ RE_ITERABLE_COLLECTION
Definition: functions.hpp:34
reIterable_list_finalize
void reIterable_list_finalize(ReIterableData *itrData, Region *r)
Definition: functions.cpp:477
RE_ITERABLE_STRING_ARRAY
@ RE_ITERABLE_STRING_ARRAY
Definition: functions.hpp:31
reIterable_genQuery_next
Res * reIterable_genQuery_next(ReIterableData *itrData, Region *r)
Definition: functions.cpp:419
reIterable_irods_finalize
void reIterable_irods_finalize(ReIterableData *itrData, Region *r)
Definition: functions.cpp:509
reIterable_genQuery_hasNext
int reIterable_genQuery_hasNext(ReIterableData *itrData, Region *r)
Definition: functions.cpp:388
reIterable_irods_next
Res * reIterable_irods_next(ReIterableData *itrData, Region *r)
Definition: functions.cpp:501
DEFAULT_BLOCK_SIZE
#define DEFAULT_BLOCK_SIZE
Definition: region.h:9
RE_ITERABLE_GEN_QUERY_OUT
@ RE_ITERABLE_GEN_QUERY_OUT
Definition: functions.hpp:36
reIterable_list_init
void reIterable_list_init(ReIterableData *itrData, Region *r)
Definition: functions.cpp:455
reIterable_collection_next
Res * reIterable_collection_next(ReIterableData *itrData, Region *r)
Definition: functions.cpp:580
get_irods_version.value
dictionary value
Definition: get_irods_version.py:27
reIterable_list_hasNext
int reIterable_list_hasNext(ReIterableData *itrData, Region *r)
Definition: functions.cpp:464
RE_ITERABLE_INT_ARRAY
@ RE_ITERABLE_INT_ARRAY
Definition: functions.hpp:32
reIterable_list_next
Res * reIterable_list_next(ReIterableData *itrData, Region *r)
Definition: functions.cpp:469
reIterable_irods_hasNext
int reIterable_irods_hasNext(ReIterableData *itrData, Region *r)
Definition: functions.cpp:496
RE_ITERABLE_GEN_QUERY
@ RE_ITERABLE_GEN_QUERY
Definition: functions.hpp:35
reIterable_collection_hasNext
int reIterable_collection_hasNext(ReIterableData *itrData, Region *r)
Definition: functions.cpp:562