## csvTableSpec
```mermaid
%%{init: {
'theme': 'base',
'themeVariables': {
'fontSize': '11px',
'nodePadding': '1',
'nodeBorder': '1',
'lineWidth': '0.8',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
csvTableSpec_start([csvTableSpec])
csvTableSpec_start --> csvTableSpec_0_0[CSVTABLE]
csvTableSpec_0_0 --> csvTableSpec_0_1["("]
csvTableSpec_0_1 --> csvTableSpec_0_2[csvTablePassing]
csvTableSpec_0_2 --> csvTableSpec_0_3[csvTableLiteral]
csvTableSpec_0_3 --> csvTableSpec_0_4[csvTableOptions]
csvTableSpec_0_4 --> csvTableSpec_0_5[csvTableColumns]
csvTableSpec_0_5 --> csvTableSpec_0_6[")"]
csvTableSpec_0_6 --> csvTableSpec_end(( ))
```
## csvTableOptions
```mermaid
%%{init: {
'theme': 'base',
'themeVariables': {
'fontSize': '11px',
'nodePadding': '1',
'nodeBorder': '1',
'lineWidth': '0.8',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
csvTableOptions_start([csvTableOptions])
csvTableOptions_start --> csvTableOptions_0_0[ROW]
csvTableOptions_0_0 --> csvTableOptions_0_1[DELIMITER]
csvTableOptions_0_1 --> csvTableOptions_0_2[expression]
csvTableOptions_0_2 --> csvTableOptions_0_3[COLUMN]
csvTableOptions_0_3 --> csvTableOptions_0_4[DELIMITER]
csvTableOptions_0_4 --> csvTableOptions_0_5[expression]
csvTableOptions_0_5 --> csvTableOptions_0_6[SKIP_]
csvTableOptions_0_6 --> csvTableOptions_0_7[LINES]
csvTableOptions_0_7 --> csvTableOptions_0_8[expression]
csvTableOptions_0_8 --> csvTableOptions_end(( ))
```
## csvTableLiteral
```mermaid
%%{init: {
'theme': 'base',
'themeVariables': {
'fontSize': '11px',
'nodePadding': '1',
'nodeBorder': '1',
'lineWidth': '0.8',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
csvTableLiteral_start([csvTableLiteral])
csvTableLiteral_start --> csvTableLiteral_0_0[LITERAL]
csvTableLiteral_0_0 --> csvTableLiteral_0_1[expression]
csvTableLiteral_0_1 --> csvTableLiteral_end(( ))
```
## csvTablePassing
```mermaid
%%{init: {
'theme': 'base',
'themeVariables': {
'fontSize': '11px',
'nodePadding': '1',
'nodeBorder': '1',
'lineWidth': '0.8',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
Start(( )) --> csvTablePassing
csvTablePassing -->| | passingSourceOrPathExpression
passingSourceOrPathExpression --> End(( ))
```
## csvTableColumns
```mermaid
%%{init: {
'theme': 'base',
'themeVariables': {
'fontSize': '11px',
'nodePadding': '1',
'nodeBorder': '1',
'lineWidth': '0.8',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
csvTableColumns_start([csvTableColumns])
csvTableColumns_start --> csvTableColumns_0_0[COLUMNS]
csvTableColumns_0_0 --> csvTableColumns_0_1[csvTableColumnSpec]
csvTableColumns_0_1 --> csvTableColumns_0_2[COMMA]
csvTableColumns_0_2 --> csvTableColumns_0_3[csvTableColumnSpec]
csvTableColumns_0_3 --> csvTableColumns_end(( ))
```
## csvTableColumnSpec
```mermaid
%%{init: {
'theme': 'base',
'themeVariables': {
'fontSize': '11px',
'nodePadding': '1',
'nodeBorder': '1',
'lineWidth': '0.8',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
csvTableColumnSpec_start([csvTableColumnSpec])
csvTableColumnSpec_start --> csvTableColumnSpec_0_0[identifier]
csvTableColumnSpec_0_0 --> csvTableColumnSpec_0_1[sqlDataTypeExtended]
csvTableColumnSpec_0_1 --> csvTableColumnSpec_0_2[FORMAT]
csvTableColumnSpec_0_2 --> csvTableColumnSpec_0_3[stringConstant]
csvTableColumnSpec_0_3 --> csvTableColumnSpec_0_4[POSITION]
csvTableColumnSpec_0_4 --> csvTableColumnSpec_0_5[numericConstant]
csvTableColumnSpec_0_5 --> csvTableColumnSpec_0_6[NEXT]
csvTableColumnSpec_0_6 --> csvTableColumnSpec_end(( ))
```