001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.ESqlClause;
004import gudusoft.gsqlparser.TCustomSqlStatement;
005import gudusoft.gsqlparser.stmt.TInsertSqlStatement;
006import gudusoft.gsqlparser.stmt.TUpdateSqlStatement;
007import gudusoft.gsqlparser.stmt.TDeleteSqlStatement;
008/*
009 * Date: 2010-12-23
010 * Time: 10:45:21
011 */
012
013/**
014 * DB2 data change table
015 */
016public class TDataChangeTable extends TParseTreeNode {
017
018    private TParseTreeNode  sqlNode  = null;
019    private TCustomSqlStatement stmt = null;
020
021    public TCustomSqlStatement getStmt() {
022        return stmt;
023    }
024
025    public void init(Object arg1){
026         sqlNode = (TParseTreeNode)arg1;
027     }
028
029    public void doParse(TCustomSqlStatement psql, ESqlClause plocation){
030
031        if (sqlNode instanceof TDeleteSqlNode){
032           stmt = new TDeleteSqlStatement(psql.dbvendor);
033        }else if(sqlNode instanceof TInsertSqlNode){
034            stmt = new TInsertSqlStatement(psql.dbvendor);
035        }else if(sqlNode instanceof TUpdateSqlNode){
036            stmt = new TUpdateSqlStatement(psql.dbvendor);
037        }
038        if (stmt != null){
039        stmt.rootNode = sqlNode;
040        stmt.doParseStatement(psql);
041        }
042
043    }
044
045    public void setStmt(TCustomSqlStatement stmt) {
046        this.stmt = stmt;
047    }
048}