package hiro.yoshioka.ast.sql.oracle.util;

import hiro.yoshioka.ast.sql.oracle.*;

import java.util.Vector;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public abstract class DefaultSQLNodeVisitor implements WolfSQLParserVisitor {
	protected Log log = LogFactory.getLog(getClass());

	int _line;

	int _column;

	public Vector v = new Vector();

	public abstract Object doJob(SimpleNode node, Object data);

	public Object visit(SimpleNode node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTStart node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTExplainPlan node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTDML node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTDDL node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTDOL node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAnalyze node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTComment node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCreate node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTDrop node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTTruncate node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTGrant node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTRevoke node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCreateTable node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCreateUser node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAlter node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAlterSimple node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTRecordsPerBlockClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAlterMulti node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAddColumnOptions node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTModifyColumnOptions node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTModifyColumnOptionsSub node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTDefineColumn node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTColumnRefConstraint node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTReferencesClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTFullType node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSelectBase node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTForUpdateClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSubquery node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTUnionPart node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTFrom node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTHint node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSelectColumns node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSelectColumnsElement node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTTableRefference node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTJoinedTable node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTJoinType node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTQueryTableExpressionClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTUpdateStatement node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSetClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSetClauseElement node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTReturningClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTDeleteStatement node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTInsertStatement node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTInsertColumns node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTValueClauses node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTValueClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTWhereClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTHierarchicalQueryClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTGroupByClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTOrderByClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTOrderByElement node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTConditionElement node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSimpleComparisonCondition node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTGroupComparisonCondition node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTMembershipCondition node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTRangeCondition node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTNULLCondition node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTEXISTSCondition node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTLIKECondition node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSimpleComparisonConditionList node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTGroupComparisonConditionList node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTMembershipConditionList node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCondition node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTConditionR1 node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTConditionR2 node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTConditionR3 node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAnySomeAll node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCompoundCondition node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTExpr node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTExprComp node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTDecodeExpression node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTExpressionList node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTUserFunction node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSimpleExpression node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSchemaTableColumn node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAtID node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTIDDot node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTPseudoColumn node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCompoundExpression node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTOperator node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTBuiltInFunctionExpression node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTFunction node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSingleRowFunction node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCaseExression node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTNvl node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCharactorFunction node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTConvertFunction node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAggregateFunction node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAnalyticClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTWindowingClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTRowNumber node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTRank node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCount node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTMaxMinSum node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTIdentifier node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTLiteral node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTNumberLiteral node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCompareOperator node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCompareEqualableOperator node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTRelationalList node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTRelationalProperties node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTTableConstraint node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTColumnConstraint node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTForeignKeyClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTConstraintState node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTUsingIndexClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTStorageClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSize node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTForUpdateClauseElement node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTPhysicalAttributesClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTLoggingClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTPhysicalPropertiesClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTTableCompressionClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSegmentAttributesClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTMiscellaneousFunction node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCoalesce node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTTablePropertiesClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTDml_eventClauseUnit1 node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCreateFunction node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCreateProcedure node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSub_program_body node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTRelationalListWithIO node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTRelationalPropertiesIO node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTPreColumnsClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTCreateTrigger node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTDml_eventClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTtableIDDot node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTtableIdentifier node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTFlashBackClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTInterval node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSelectBaseAndUnion node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSelectSecond node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSelectThird node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAbcFunction node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTDateTimeFunction node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAssignmentStatements node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAssignmentStatementSub node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTPLSQLStatement node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTLoopStatement node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAssignmentExpr node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTSelectIntoStatement node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTIndexOrgTableClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAlterSession node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAlterSessionSetClause node, Object data) {
		return doJob(node, data);
	}

	public Object visit(ASTAlterTable node, Object data) {
		return doJob(node, data);
	}

}
