Next: , Previous: FuncInt, Up: Getstats Internals

7.6 Command line arguments

All Getstats arguments start with a double dash, and a – terminates option processing. All other arguments are files to parse.

Getstats natively implements the following options:

Whether or not to concatenate input files into one larger relation.

If this option is specified, getstats reads in each individual results file, then creates a larger relation. To concatenate two (or more) relations they must have exactly the same columns.

Whether or not to use the standard transforms library. The default is yes.

"readpass" is executed before any other transforms on the command line. "warnpass", "ohpass" and "summary" are executed after other transforms.

The following options are executed before any transforms

--set var=val
Set a global replacement variable, var, to val
--seteval var=val
Set a global replacement variable, var, to eval(val). This can be used to set variables to complex objects like arrays or hashes.
--push var=val
Push val onto the global replacement variable var.
--pusheval var=val
Like push, but eval val first.
Load in a Perl source file. This can be used to override functions in the functions hash, push several complex transforms onto @TRANSFORMS, or whatever your heart desires (and Perl lets you do).

The following options add a transform

Add a transform between "readpass" and "ohpass". The transform needs to be a valid Perl representation of a transform.
Add a transform before "readpass". This transformation is the first transformation executed, so they go in reverse order on the command line. The transform needs to be a valid Perl representation of a transform.

Any other option that is treated as a getstats transformation (e.g., "–foo") calls the Getstats transformation foo after "readpass". If you want to run the transformation before "readpass" specify –shift before the transform (e.g., –shift –select '"\$command" eq "./configure"').

Not all built-in transformations are supported, specifically the control transformations "if", "ifexist", "block", and "group" are not supported (essentially anything that requires another transformation as its argument).

All library functions, and other built-in transformations are supported.

If you use a function that takes many arguments, like describe then you must terminate the arguments with – or another option. If you don't terminate it then Getstats assumes your file names are input to that transform.

Getstats knows the number of arguments for the following transformations, if you define your own, then Getstats assumes it has many arguments.

Transforms with no arguments csv, savestats, exitfail, aggthreads, unifycommand, negio, otherexec, warnregress, pdiff, zscore, ohpass, readpass, summary, warnpass
Transforms with 1 argument remove, select, eval, pop, predicate
Transforms with 2 arguments add, warnrow, warncol, warnval, update, rename, move
Transforms with many arguments describe, noop, echo, die