001package gudusoft.gsqlparser.stmt;
002
003
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.TCustomSqlStatement;
007import gudusoft.gsqlparser.nodes.*;
008
009/**
010 * SQL alter library statement.
011 * <br>{@link #getLibraryName()} returns the library name.
012 *
013 * @custom.relatedDB Vertica, Oracle
014 */
015public class TAlterLibraryStmt extends TCustomSqlStatement {
016
017    private TObjectName libraryName;
018    private boolean ifExists;
019
020     public TAlterLibraryStmt(EDbVendor dbvendor) {
021        super(dbvendor);
022        sqlstatementtype = ESqlStatementType.sstAlterLibrary;
023    }
024
025    /**
026     * library name
027     *
028     * @return library name
029     */
030    public TObjectName getLibraryName() {
031        return libraryName;
032    }
033
034    /**
035     * Returns true if IF EXISTS clause was specified.
036     *
037     * @return true if IF EXISTS clause was specified
038     */
039    public boolean isIfExists() {
040        return ifExists;
041    }
042
043    public void setIfExists(boolean ifExists) {
044        this.ifExists = ifExists;
045    }
046
047    public int doParseStatement(TCustomSqlStatement psql) {
048        if (rootNode == null) return -1;
049        super.doParseStatement(psql);
050        TAlterLibrarySqlNode node = (TAlterLibrarySqlNode) rootNode;
051        libraryName = node.getLibraryName();
052        ifExists = node.isIfExists();
053
054
055        return 0;
056    }
057
058    public void accept(TParseTreeVisitor v){
059        v.preVisit(this);
060
061        v.postVisit(this);
062    }
063
064    public void acceptChildern(TParseTreeVisitor v){
065        v.preVisit(this);
066        v.postVisit(this);
067    }
068
069}