001package gudusoft.gsqlparser.nodes;
002/*
003 * Date: 2010-12-17
004 * Time: 11:26:21
005 */
006
007import gudusoft.gsqlparser.EDbObjectType;
008import gudusoft.gsqlparser.TSourceToken;
009import gudusoft.gsqlparser.nodes.hive.THiveWithDBPropertiesClause;
010
011public class TCreateDatabaseSqlNode extends TParseTreeNode {
012
013    private boolean ifNotExists;
014    private TObjectName databaseName = null;
015    private TObjectName databaseComment;
016    private TObjectName dbLocation;
017    private TSourceToken database;
018    private TObjectName  dbOwner; //redshift
019
020    private TObjectName characterSet;
021    private TObjectName collationName;
022
023    private TObjectName cloneSourceDb = null;
024
025    public void setCloneSourceDb(TObjectName cloneSourceDb) {
026        this.cloneSourceDb = cloneSourceDb;
027    }
028
029    public TObjectName getCloneSourceDb() {
030        return cloneSourceDb;
031    }
032
033    public TObjectName getCharacterSet() {
034        return characterSet;
035    }
036
037    public TObjectName getCollationName() {
038        return collationName;
039    }
040
041    public void setCharacterSetOrCollationName(TDummy dummy){
042        characterSet = (TObjectName)dummy.node1;
043        collationName = (TObjectName)dummy.node2;
044    }
045    public TObjectName getDbOwner() {
046        return dbOwner;
047    }
048
049    public void setDatabase(TSourceToken database) {
050        this.database = database;
051    }
052
053    public TSourceToken getDatabase() {
054
055        return database;
056    }
057
058    public TObjectName getDatabaseComment() {
059        return databaseComment;
060    }
061
062    public TObjectName getDbLocation() {
063        return dbLocation;
064    }
065
066    public THiveWithDBPropertiesClause getDbProperties() {
067        return dbProperties;
068    }
069
070    public boolean isIfNotExists() {
071        return ifNotExists;
072    }
073
074    private THiveWithDBPropertiesClause dbProperties;
075
076    public TObjectName getDatabaseName() {
077        return databaseName;
078    }
079
080    public void setIfNotExists(boolean ifNotExists) {
081        this.ifNotExists = ifNotExists;
082    }
083
084    public void setDbProperties(THiveWithDBPropertiesClause dbProperties) {
085        this.dbProperties = dbProperties;
086    }
087
088    public void setDbLocation(TObjectName dbLocation) {
089        this.dbLocation = dbLocation;
090    }
091
092    public void setDatabaseComment(TObjectName databaseComment) {
093        this.databaseComment = databaseComment;
094    }
095
096    public void init(Object arg1)
097   {
098      databaseName = (TObjectName)arg1;
099      //databaseName.setObjectType(TObjectName.ttobjDatabaseName);
100       databaseName.setDbObjectType(EDbObjectType.database);
101   }
102
103    public void init(Object arg1,Object arg2)
104    {
105        init(arg1);
106        dbOwner = (TObjectName)arg2;
107    }
108
109}