irods  4.3.0
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.3.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

functions.cpp File Reference
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 MAKE_IRODS_ERROR_MAP
 
#define MAKE_IRODS_STATE_MAP
 
#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_error_Impl (bool abs_value, Node **paramsr, int, Node *node, ruleExecInfo_t *rei, int, Env *, rError_t *errmsg, Region *r)
 
template<typename... T>
Ressmsi_error (T... t)
 
template<typename... T>
Ressmsi_state (T... t)
 
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 [MAX_NAME_LEN] = "Unspecified"
 
static keyValPair_t globalHashtable = {0, NULL, NULL}
 
ReIterableTableRow reIterableTable [7]
 
int GlobalAllRuleExecFlag
 

Macro Definition Documentation

◆ GC_BEGIN

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

Definition at line 46 of file functions.cpp.

◆ GC_END

#define GC_END   region_free(_rnew);

Definition at line 54 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;}
Region * make_region(size_t is, jmp_buf *label)
Definition: region.cpp:85
#define DEFAULT_BLOCK_SIZE
Definition: region.h:9
size_t region_size(Region *r)
Definition: region.cpp:157
#define NULL
Definition: rodsDef.h:54

Definition at line 48 of file functions.cpp.

◆ GC_REGION

#define GC_REGION   _rnew

Definition at line 47 of file functions.cpp.

◆ MAKE_IRODS_ERROR_MAP

#define MAKE_IRODS_ERROR_MAP

Definition at line 4 of file functions.cpp.

◆ MAKE_IRODS_STATE_MAP

#define MAKE_IRODS_STATE_MAP

Definition at line 7 of file functions.cpp.

◆ NUM_RE_ITERABLE

#define NUM_RE_ITERABLE   7

Definition at line 105 of file functions.cpp.

◆ RE_BACKWARD_COMPATIBLE

#define RE_BACKWARD_COMPATIBLE

Definition at line 56 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 304 of file stringOpr.cpp.

Referenced by smsi_msiCheckStringForSystem().

◆ collType()

◆ columnToString()

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

Definition at line 743 of file functions.cpp.

References n, PRINT, and size.

◆ construct()

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

◆ deconstruct()

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

Definition at line 2552 of file functions.cpp.

References node::subtrees.

Referenced by evaluateFunction3().

◆ deleteReIterableData()

void deleteReIterableData ( ReIterableData itrData)

Definition at line 140 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 2537 of file functions.cpp.

References parseAndComputeExpression().

Referenced by smsi_eval().

◆ fileConcatenate()

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

Definition at line 2488 of file functions.cpp.

References buf, error, len, and NULL.

◆ getReIterable()

ReIterable * getReIterable ( ReIterableType  nodeType)

Definition at line 622 of file functions.cpp.

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

Referenced by smsi_forEach2Exec().

◆ getSystemFunctions()

void getSystemFunctions ( Hashtable ft,
Region r 
)

Definition at line 2607 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().

◆ matchWholeString()

char * matchWholeString ( char *  buf)

Definition at line 2557 of file functions.cpp.

References buf, and strcpy().

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:
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:
none
Session Variables Modified:
none
iCAT Attributes Used:
none
iCAT Attributes Modified:
none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 391 of file genQueryMS.cpp.

References GenQueryInp::continueInx, GenQueryOut::continueInx, freeGenQueryOut(), GenQueryInp_MS_T, GenQueryOut_MS_T, MsParam::inOutStruct, LOG_ERROR, GenQueryInp::maxRows, NULL, RE_TEST_MACRO, rodsLog(), RuleExecInfo::rsComm, rsGenQuery(), RuleExecInfo::status, and MsParam::type.

Referenced by irods::lookup_table< ValueType, KeyType, HashType >::lookup_table(), and 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:
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:
none
Session Variables Modified:
none
iCAT Attributes Used:
none
iCAT Attributes Modified:
none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
msiGetMoreRows and msiExecStrCondQuery

Definition at line 113 of file genQueryMS.cpp.

References freeGenQueryOut(), GenQueryOut_MS_T, i, MsParam::inOutStruct, NULL, RuleExecInfo::rsComm, rsGenQuery(), and MsParam::type.

Referenced by irods::lookup_table< ValueType, KeyType, HashType >::lookup_table(), and 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:
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:
none
Session Variables Modified:
none
iCAT Attributes Used:
none
iCAT Attributes Modified:
none
Side Effect:\n none
Returns
integer
Return values
0on success
Precondition
none
Postcondition
none
See also
none

Definition at line 288 of file genQueryMS.cpp.

References GenQueryInp::continueInx, GenQueryOut::continueInx, fillIntInMsParam(), freeGenQueryOut(), GenQueryInp_MS_T, GenQueryOut_MS_T, MsParam::inOutStruct, LOG_ERROR, MAX_SQL_ROWS, GenQueryInp::maxRows, NULL, RE_TEST_MACRO, resetMsParam(), rodsLog(), RuleExecInfo::rsComm, rsGenQuery(), RuleExecInfo::status, and MsParam::type.

Referenced by irods::lookup_table< ValueType, KeyType, HashType >::lookup_table(), and 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 
)

◆ reIterable_collection_finalize()

◆ reIterable_collection_hasNext()

◆ reIterable_collection_init()

◆ reIterable_collection_next()

◆ reIterable_genQuery_finalize()

◆ reIterable_genQuery_hasNext()

◆ reIterable_genQuery_init()

◆ reIterable_genQuery_next()

◆ reIterable_irods_finalize()

void reIterable_irods_finalize ( ReIterableData itrData,
Region r 
)

Definition at line 516 of file functions.cpp.

References reIterableData::itrSpecData.

◆ reIterable_irods_hasNext()

int reIterable_irods_hasNext ( ReIterableData itrData,
Region r 
)

◆ reIterable_irods_init()

◆ reIterable_irods_next()

◆ reIterable_list_finalize()

void reIterable_list_finalize ( ReIterableData itrData,
Region r 
)

Definition at line 484 of file functions.cpp.

References reIterableData::itrSpecData.

◆ reIterable_list_hasNext()

int reIterable_list_hasNext ( ReIterableData itrData,
Region r 
)

◆ reIterable_list_init()

◆ reIterable_list_next()

◆ rsCloseCollection()

◆ rsOpenCollection()

◆ rsReadCollection()

◆ smsi_abs()

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

Definition at line 1481 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_add()

Res * smsi_add ( 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().

◆ smsi_and()

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

Definition at line 1515 of file functions.cpp.

References newBoolRes(), and RES_BOOL_VAL.

Referenced by getSystemFunctions().

◆ smsi_applyAllRules()

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

Definition at line 2260 of file functions.cpp.

References evaluateExpression3(), and RES_INT_VAL.

Referenced by getSystemFunctions().

◆ smsi_arity()

◆ smsi_assign()

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

◆ smsi_assignStr()

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

◆ smsi_average()

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

Definition at line 1093 of file functions.cpp.

References node::dval, i, n, and newDoubleRes().

Referenced by getSystemFunctions().

◆ smsi_bool()

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

◆ smsi_break()

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

Definition at line 943 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_ceiling()

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

Definition at line 1508 of file functions.cpp.

References newDoubleRes(), and RES_DOUBLE_VAL.

Referenced by getSystemFunctions().

◆ smsi_collection()

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

◆ smsi_concat()

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

Definition at line 1584 of file functions.cpp.

References newStringRes(), RES_STRING_STR_LEN, and strcpy().

Referenced by getSystemFunctions().

◆ smsi_cons()

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

Definition at line 1131 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_datetime()

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

◆ smsi_delayExec()

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

◆ smsi_divide()

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

◆ smsi_do()

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

◆ smsi_double()

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

◆ smsi_elem()

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

◆ smsi_eq()

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

◆ smsi_error()

template<typename... T>
Res * smsi_error ( T...  t)

Definition at line 2082 of file functions.cpp.

References smsi_error_Impl().

◆ smsi_error_Impl()

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

Definition at line 2058 of file functions.cpp.

References generateAndAddErrMsg(), i, newErrorRes(), newIntRes(), and node::text.

Referenced by smsi_error(), and smsi_state().

◆ 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 1810 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ 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 1832 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().

◆ smsi_eval()

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

Definition at line 1795 of file functions.cpp.

References eval().

Referenced by getSystemFunctions().

◆ smsi_evalrule()

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

Definition at line 1801 of file functions.cpp.

References newIntRes(), and parseAndComputeRule().

Referenced by getSystemFunctions().

◆ smsi_execCmdArg()

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

Definition at line 2289 of file functions.cpp.

References newStringRes(), and node::text.

Referenced by getSystemFunctions().

◆ smsi_exp()

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

Definition at line 1491 of file functions.cpp.

References newDoubleRes(), and RES_DOUBLE_VAL.

Referenced by getSystemFunctions().

◆ smsi_fail()

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

Definition at line 955 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_false()

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

Definition at line 1055 of file functions.cpp.

References newBoolRes().

◆ smsi_floor()

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

Definition at line 1502 of file functions.cpp.

References newDoubleRes(), and RES_DOUBLE_VAL.

Referenced by getSystemFunctions().

◆ 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 725 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_forExec()

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

◆ smsi_ge()

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

◆ smsi_getGlobalSessionId()

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

Definition at line 70 of file functions.cpp.

References globalSessionId, and newStringRes().

Referenced by getSystemFunctions().

◆ smsi_getReLogging()

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

◆ smsi_getstderr()

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

◆ smsi_getstdout()

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

◆ 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> )
char * str
Definition: parser.cpp:1286
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 992 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_gt()

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

◆ smsi_hd()

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

Definition at line 1103 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_if2Exec()

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

◆ smsi_ifExec()

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

◆ smsi_int()

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

◆ smsi_le()

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

◆ smsi_letExec()

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

◆ smsi_like()

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

Definition at line 1744 of file functions.cpp.

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

Referenced by getSystemFunctions(), and smsi_not_like().

◆ smsi_like_regex()

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

Definition at line 1770 of file functions.cpp.

References matchWholeString(), and newBoolRes().

Referenced by getSystemFunctions(), and smsi_not_like_regex().

◆ smsi_list()

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

◆ smsi_listapprules()

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

◆ smsi_listcorerules()

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

◆ smsi_listextrules()

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

◆ smsi_listvars()

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

Definition at line 1022 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_lmsg()

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

Definition at line 1464 of file functions.cpp.

References newIntRes(), and writeToTmp().

Referenced by getSystemFunctions().

◆ smsi_log()

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

Definition at line 1496 of file functions.cpp.

References newDoubleRes(), and RES_DOUBLE_VAL.

Referenced by getSystemFunctions().

◆ smsi_lt()

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

◆ smsi_matchExec()

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

◆ smsi_max()

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

Definition at line 1059 of file functions.cpp.

References node::dval, i, n, and newDoubleRes().

Referenced by getSystemFunctions().

◆ smsi_min()

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

Definition at line 1076 of file functions.cpp.

References node::dval, i, n, and newDoubleRes().

Referenced by getSystemFunctions().

◆ smsi_modulo()

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

Definition at line 1565 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_msiCheckStringForSystem()

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

Definition at line 2314 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_multiply()

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

Definition at line 1542 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_negate()

Res * smsi_negate ( 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().

◆ smsi_neq()

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

◆ smsi_not()

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

Definition at line 1469 of file functions.cpp.

References newBoolRes(), and RES_BOOL_VAL.

Referenced by getSystemFunctions().

◆ 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 1763 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ 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 1787 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_or()

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

Definition at line 1521 of file functions.cpp.

References newBoolRes(), and RES_BOOL_VAL.

Referenced by getSystemFunctions().

◆ smsi_path()

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

Definition at line 2278 of file functions.cpp.

References newPathRes(), and node::text.

Referenced by getSystemFunctions().

◆ smsi_power()

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

Definition at line 1573 of file functions.cpp.

References newDoubleRes(), and RES_DOUBLE_VAL.

Referenced by getSystemFunctions().

◆ smsi_properties()

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

Definition at line 80 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ 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 1576 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_segfault()

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

◆ smsi_setelem()

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

◆ smsi_setGlobalSessionId()

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

Definition at line 74 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_setReLogging()

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

◆ smsi_size()

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

◆ smsi_split()

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

◆ smsi_state()

template<typename... T>
Res * smsi_state ( T...  t)

Definition at line 2083 of file functions.cpp.

References smsi_error_Impl().

◆ smsi_str()

◆ smsi_strlen()

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

Definition at line 2031 of file functions.cpp.

References newIntRes(), and node::text.

Referenced by getSystemFunctions().

◆ smsi_substr()

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

◆ smsi_subtract()

Res * smsi_subtract ( 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().

◆ smsi_succeed()

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

Definition at line 949 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_time()

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

Definition at line 1270 of file functions.cpp.

References newDatetimeRes().

Referenced by getSystemFunctions().

◆ smsi_timestr()

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

◆ smsi_tl()

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

◆ smsi_triml()

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

Definition at line 2013 of file functions.cpp.

References delim, newStringRes(), NULL, str, and node::text.

Referenced by getSystemFunctions().

◆ smsi_trimr()

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

Definition at line 2146 of file functions.cpp.

References delim, newStringRes(), NULL, str, temp, and node::text.

Referenced by getSystemFunctions().

◆ smsi_true()

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

Definition at line 1052 of file functions.cpp.

References newBoolRes().

◆ smsi_tuple()

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

◆ smsi_type()

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

Definition at line 1301 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsi_undefined()

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

Definition at line 2142 of file functions.cpp.

References newUnspecifiedRes().

Referenced by getSystemFunctions().

◆ smsi_whileExec()

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

◆ smsi_writeLine()

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

◆ smsi_writeString()

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

Definition at line 1996 of file functions.cpp.

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

Referenced by getSystemFunctions().

◆ smsiCollectionSpider()

◆ wildCardToRegex()

char * wildCardToRegex ( char *  buf)

Definition at line 2566 of file functions.cpp.

References buf, i, and n.

Referenced by smsi_like().

◆ wrapToActions()

Node * wrapToActions ( Node node,
Region r 
)

Variable Documentation

◆ GlobalAllRuleExecFlag

int GlobalAllRuleExecFlag
extern

Definition at line 53 of file irods_rule_language.cpp.

◆ globalHashtable

keyValPair_t globalHashtable = {0, NULL, NULL}
static

Definition at line 59 of file functions.cpp.

Referenced by smsi_properties().

◆ globalSessionId

char globalSessionId[MAX_NAME_LEN] = "Unspecified"
static

Definition at line 58 of file functions.cpp.

Referenced by smsi_getGlobalSessionId(), and smsi_setGlobalSessionId().

◆ reIterableTable

ReIterableTableRow reIterableTable[7]
Initial value:
= {
}
Res * reIterable_irods_next(ReIterableData *itrData, Region *r)
Definition: functions.cpp:508
void reIterable_list_finalize(ReIterableData *itrData, Region *r)
Definition: functions.cpp:484
int reIterable_collection_hasNext(ReIterableData *itrData, Region *r)
Definition: functions.cpp:569
Res * reIterable_collection_next(ReIterableData *itrData, Region *r)
Definition: functions.cpp:587
int reIterable_list_hasNext(ReIterableData *itrData, Region *r)
Definition: functions.cpp:471
void reIterable_genQuery_init(ReIterableData *itrData, Region *r)
Definition: functions.cpp:380
int reIterable_irods_hasNext(ReIterableData *itrData, Region *r)
Definition: functions.cpp:503
void reIterable_irods_finalize(ReIterableData *itrData, Region *r)
Definition: functions.cpp:516
Res * reIterable_list_next(ReIterableData *itrData, Region *r)
Definition: functions.cpp:476
void reIterable_list_init(ReIterableData *itrData, Region *r)
Definition: functions.cpp:462
void reIterable_collection_init(ReIterableData *itrData, Region *r)
Definition: functions.cpp:529
Res * reIterable_genQuery_next(ReIterableData *itrData, Region *r)
Definition: functions.cpp:426
void reIterable_genQuery_finalize(ReIterableData *itrData, Region *r)
Definition: functions.cpp:441
void reIterable_collection_finalize(ReIterableData *itrData, Region *r)
Definition: functions.cpp:607
int reIterable_genQuery_hasNext(ReIterableData *itrData, Region *r)
Definition: functions.cpp:395
void reIterable_irods_init(ReIterableData *itrData, Region *r)
Definition: functions.cpp:495
@ RE_ITERABLE_KEY_VALUE_PAIRS
Definition: functions.hpp:33
@ RE_ITERABLE_GEN_QUERY
Definition: functions.hpp:31
@ RE_ITERABLE_GEN_QUERY_OUT
Definition: functions.hpp:32
@ RE_ITERABLE_INT_ARRAY
Definition: functions.hpp:28
@ RE_ITERABLE_STRING_ARRAY
Definition: functions.hpp:27
@ RE_ITERABLE_COLLECTION
Definition: functions.hpp:30
@ RE_ITERABLE_LIST
Definition: functions.hpp:29

Definition at line 106 of file functions.cpp.

Referenced by getReIterable().