Class CapturePointParser

java.lang.Object
io.nosqlbench.virtdata.core.templates.CapturePointParser
All Implemented Interfaces:
Function<String,CapturePointParser.Result>

public class CapturePointParser extends Object implements Function<String,CapturePointParser.Result>

A capture point is named variable which is to be extracted from the result of an operation, using whichever syntax and type conventions that are appropriate to the specific op implementation. The details are discussed in NB Field Capture Discussion

Examples:

  • capture the value of "field42" (into variable "field42"): select \[field42],* from ...
  • capture the value of "field42" into variable "getitgotitgood": select \[field42 as getitgotitgood],* from ...

Valid identifiers consist of any word character followed by zero or more word characters, digits, hyphens, underscores, or periods. This applies to both the field name to capture and the variable names to capture their values in. Alternately, the * character may be used to indicate that all available fields should be captured.

Optional type assertions are allowed which will ensure that the value can be assigned or otherwise coerced into the expected value:

  • select \[(List) field42] ...
  • select \[(List<Number>)field42)] ...
  • select \[(int[]) field42)] ...
  • select \[(java.lang.Number) field42]
  • select \[(Map) field42] ...

For details on how capture points are used at runtime, consult [DynamicVariableCapture]