001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.nodes.flink.TFlinkTableProperty;
004
005/**
006 * AST node for StarRocks CREATE DICTIONARY statement.
007 *
008 * Syntax:
009 * CREATE DICTIONARY dictionary_object_name USING dictionary_source
010 * (
011 *   column_name KEY, [..., column_name KEY,]
012 *   column_name VALUE[, ..., column_name VALUE]
013 * )
014 * [PROPERTIES ("key"="value", ...)]
015 */
016public class TCreateDictionarySqlNode extends TParseTreeNode {
017
018    private TObjectName dictionaryName;
019    private TObjectName sourceName;
020    private TPTNodeList<TParseTreeNode> columnDefinitions;
021    private TPTNodeList<TFlinkTableProperty> properties;
022
023    public TObjectName getDictionaryName() {
024        return dictionaryName;
025    }
026
027    public void setDictionaryName(TObjectName dictionaryName) {
028        this.dictionaryName = dictionaryName;
029    }
030
031    public TObjectName getSourceName() {
032        return sourceName;
033    }
034
035    public void setSourceName(TObjectName sourceName) {
036        this.sourceName = sourceName;
037    }
038
039    @SuppressWarnings("unchecked")
040    public TPTNodeList<TParseTreeNode> getColumnDefinitions() {
041        return columnDefinitions;
042    }
043
044    public void setColumnDefinitions(TPTNodeList<TParseTreeNode> columnDefinitions) {
045        this.columnDefinitions = columnDefinitions;
046    }
047
048    public TPTNodeList<TFlinkTableProperty> getProperties() {
049        return properties;
050    }
051
052    public void setProperties(TPTNodeList<TFlinkTableProperty> properties) {
053        this.properties = properties;
054    }
055}