001package gudusoft.gsqlparser.nodes;
002
003
004public class TOpenRowSet extends TParseTreeNode {
005
006    private TColumnDefinitionList columnDefinitions;
007
008    /**
009     * The columns of the WITH clause after {@code OPENROWSET(BULK ...)}, as in Azure Synapse
010     * {@code OPENROWSET(BULK 'f.parquet', FORMAT = 'PARQUET') WITH (col_a varchar(100), col_b int) AS src}.
011     * Each {@link TColumnDefinition} has the column name and data type, the collation of a
012     * {@code COLLATE} clause in {@link TColumnDefinition#getCollationName()}, and a JSON path in
013     * {@link TColumnDefinition#getColumnPath()}.
014     *
015     * @return the column list, or null when there is no WITH clause
016     */
017    public TColumnDefinitionList getColumnDefinitions() {
018        return columnDefinitions;
019    }
020
021    public void setColumnDefinitions(TColumnDefinitionList columnDefinitions) {
022        this.columnDefinitions = columnDefinitions;
023    }
024
025    public void accept(TParseTreeVisitor v){
026        v.preVisit(this);
027        v.postVisit(this);
028    }
029
030    public void acceptChildren(TParseTreeVisitor v){
031        v.preVisit(this);
032        v.postVisit(this);
033    }
034
035}