About
select is a supplier data operation that selects data Resources.
This is not the sql select statement. The sql select statement selects records while the select operation selects Data Resources.
See the following learning guide page, to known more: Learning Tabulify - Step 4 - How to select Data Resources
Arguments
The select operations has the following arguments.
| Argument | Default | Description |
|---|---|---|
| data-selector | - | Select data resources by glob pattern |
| data-selectors | - | A list of data-selectors |
| with-dependencies | false | If set to true, the dependencies will be added |
| data-def | Optional | The data attributes defined in a data definition format |
| logical-name | Optional | A template logical name |
| media-type | Optional, detected by default | The media type of the selected resources |
| order | Natural | The order in which the data resources are returned. Possible value: natural, drop, create (Note that the order is by connection.) |
| processing-type | batch | The processing type (batch or stream) |
| strict-selection | false | If set to true, the select operation will throw an error if * the selection does not return any data resource * or any view is invalid |
When the processing type is stream, the stream attributes can be used
Usage
In a pipeline pipeline, this is a first operation (known as the supplier operation) because it supplies data resources to the others operations in the pipeline.
Example:
- Simple selection:
pipeline:
- name: 'Select data resources'
operation: select
args:
data-selector: pattern@connection
with-dependency: (yes|no)
strict-selection: yes
In a tabul data command, you set :
- the data selector as argument
- and the with-dependencies as flag
- and the not-strict as flag
Example:
tabul data command [--not-strict] [--with-dependency] dataSelector
You can verify the selected data resources with the tabul data list command.
Note on Empty Selection
If no data resource matched the data selector, this is not considered an error. This is already the case for all sql statement (ie an update that does not match a row does not return an error)
If you want to throw an error, you should set the strict-selection option to true.