001package gudusoft.gsqlparser.stmt.couchbase; 002 003 004import gudusoft.gsqlparser.EDbVendor; 005 006import gudusoft.gsqlparser.ESqlClause; 007import gudusoft.gsqlparser.ESqlStatementType; 008import gudusoft.gsqlparser.TCustomSqlStatement; 009 010import gudusoft.gsqlparser.nodes.TExpression; 011import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 012 013import gudusoft.gsqlparser.nodes.couchbase.TInferKeyspaceSqlNode; 014 015 016public class TInferKeyspaceStmt extends TCustomSqlStatement { 017 public TInferKeyspaceStmt(EDbVendor dbvendor) { 018 super(dbvendor); 019 sqlstatementtype = ESqlStatementType.sstinfer; 020 } 021 022 023 public int doParseStatement(TCustomSqlStatement psql) { 024 if (rootNode == null) return -1; 025 super.doParseStatement(psql); 026 TInferKeyspaceSqlNode node = (TInferKeyspaceSqlNode)(rootNode); 027 setTargetTable(analyzeFromTable(node.getKeyspaceRef(),true)); 028 inferWith = node.getInferWith(); 029 inferWith.doParse(this, ESqlClause.unknown); 030 return 0; 031 } 032 033 public void accept(TParseTreeVisitor v){ 034 v.preVisit(this); 035 v.postVisit(this); 036 } 037 038 public void acceptChildren(TParseTreeVisitor v){ 039 v.preVisit(this); 040 v.postVisit(this); 041 } 042 043 private TExpression inferWith; 044 045 public TExpression getInferWith() { 046 return inferWith; 047 } 048}