package util.sqlparse.visitor.postgresql.visitor;

import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.PGSQLIndexSpec;
import com.alibaba.druid.sql.dialect.postgresql.ast.PGSQLPartition;
import com.alibaba.druid.sql.dialect.postgresql.ast.PGSQLPartitionBy;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGBoxExpr;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGCidrExpr;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGCircleExpr;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGColumnSimpleDefinitionExpr;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGExtractExpr;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGInetExpr;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGLineSegmentsExpr;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGMacAddrExpr;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGOptionValue;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGPointExpr;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGPolygonExpr;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGSQLObjectCollection;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGSchemaTables;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.PGTypeCastExpr;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.constraint.PGConstraint;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.constraint.PGStorageParameter;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.tablesource.PGExprTableSource;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.tablesource.PGMethodInvokeTableSource;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.tablesource.PGRowsFromTableSource;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.tablesource.PGSubqueryTableSource;
import com.alibaba.druid.sql.dialect.postgresql.ast.expr.tablesource.PGValuesTableSource;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGAlterDatabaseStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGAlterIndexStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGAlterSchemaStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGAlterSequenceStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGAlterTableStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGAlterViewStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGConnectToStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGCreateDatabaseStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGCreateIndexStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGCreateSchemaStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGCreateSeqenceStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGCreateTableSpaceStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGCreateTableStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGCreateViewStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGDeleteStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGDropSchemaStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGDropSequenceStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGFunctionTableSource;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGGrantStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGInsertStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGSelectQueryBlock;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGSelectStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGShowStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGStartTransactionStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.PGUpdateStatement;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableAddColumn;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableAddConstraint;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableAlterColumn;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableAlterColumnOptions;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableCluster;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableDisableEnabelTrigger;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableDropColumn;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableDropConstraint;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableInheriteOrNotParentTable;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableOf;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableRenameColumn;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableRenameConstraint;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableRenameTo;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableSetNewTableSpace;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableSetReset;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableSetSchema;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableSetTableSpace;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableSetWith;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGAlterTableValidateConstraint;
import com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable.PGColumnDefinition;
import com.alibaba.druid.sql.dialect.postgresql.visitor.PGASTVisitor;
import java.util.List;
import util.sqlparse.visitor.Formater;

public class FormatVisitor extends Formater implements PGASTVisitor {
   private boolean debug = false;

   public void perform(List<SQLStatement> statements) {
      if (statements != null && statements.size() != 0) {
         for(SQLStatement statement : statements) {
            statement.accept(this);
         }

      }
   }

   public void endVisit(PGSelectQueryBlock x) {
   }

   public boolean visit(PGSelectQueryBlock x) {
      return false;
   }

   public void endVisit(PGSelectQueryBlock.FetchClause x) {
   }

   public boolean visit(PGSelectQueryBlock.FetchClause x) {
      return false;
   }

   public void endVisit(PGSelectQueryBlock.ForClause x) {
   }

   public boolean visit(PGSelectQueryBlock.ForClause x) {
      return false;
   }

   public void endVisit(PGDeleteStatement x) {
   }

   public boolean visit(PGDeleteStatement x) {
      return false;
   }

   public void endVisit(PGInsertStatement x) {
   }

   public boolean visit(PGInsertStatement x) {
      return false;
   }

   public void endVisit(PGSelectStatement x) {
   }

   public boolean visit(PGSelectStatement x) {
      return false;
   }

   public void endVisit(PGUpdateStatement x) {
   }

   public boolean visit(PGUpdateStatement x) {
      return false;
   }

   public void endVisit(PGFunctionTableSource x) {
   }

   public boolean visit(PGFunctionTableSource x) {
      return false;
   }

   public void endVisit(PGTypeCastExpr x) {
   }

   public boolean visit(PGTypeCastExpr x) {
      return false;
   }

   public void endVisit(PGExtractExpr x) {
   }

   public boolean visit(PGExtractExpr x) {
      return false;
   }

   public void endVisit(PGBoxExpr x) {
   }

   public boolean visit(PGBoxExpr x) {
      return false;
   }

   public void endVisit(PGPointExpr x) {
   }

   public boolean visit(PGPointExpr x) {
      return false;
   }

   public void endVisit(PGMacAddrExpr x) {
   }

   public boolean visit(PGMacAddrExpr x) {
      return false;
   }

   public void endVisit(PGInetExpr x) {
   }

   public boolean visit(PGInetExpr x) {
      return false;
   }

   public void endVisit(PGCidrExpr x) {
   }

   public boolean visit(PGCidrExpr x) {
      return false;
   }

   public void endVisit(PGPolygonExpr x) {
   }

   public boolean visit(PGPolygonExpr x) {
      return false;
   }

   public void endVisit(PGCircleExpr x) {
   }

   public boolean visit(PGCircleExpr x) {
      return false;
   }

   public void endVisit(PGLineSegmentsExpr x) {
   }

   public boolean visit(PGLineSegmentsExpr x) {
      return false;
   }

   public void endVisit(PGShowStatement x) {
   }

   public boolean visit(PGShowStatement x) {
      return false;
   }

   public void endVisit(PGStartTransactionStatement x) {
   }

   public boolean visit(PGStartTransactionStatement x) {
      return false;
   }

   public void endVisit(PGConnectToStatement x) {
   }

   public boolean visit(PGConnectToStatement x) {
      return false;
   }

   public void endVisit(PGCreateSchemaStatement x) {
   }

   public boolean visit(PGCreateSchemaStatement x) {
      return false;
   }

   public void endVisit(PGDropSchemaStatement x) {
   }

   public boolean visit(PGDropSchemaStatement x) {
      return false;
   }

   public void endVisit(PGAlterSchemaStatement x) {
   }

   public boolean visit(PGAlterSchemaStatement x) {
      return false;
   }

   public void endVisit(PGOptionValue x) {
   }

   public boolean visit(PGOptionValue x) {
      return false;
   }

   public void endVisit(PGCreateTableStatement.PGTableDistributedBy x) {
   }

   public boolean visit(PGCreateTableStatement.PGTableDistributedBy x) {
      return false;
   }

   public void endVisit(PGAlterTableAddConstraint x) {
   }

   public boolean visit(PGAlterTableAddConstraint x) {
      return false;
   }

   public void endVisit(PGAlterTableAddConstraint.PGAlterTableAddConstraintUsingIndex x) {
   }

   public boolean visit(PGAlterTableAddConstraint.PGAlterTableAddConstraintUsingIndex x) {
      return false;
   }

   public void endVisit(PGAlterTableAlterColumn x) {
   }

   public boolean visit(PGAlterTableAlterColumn x) {
      return false;
   }

   public void endVisit(PGAlterTableAlterColumnOptions x) {
   }

   public boolean visit(PGAlterTableAlterColumnOptions x) {
      return false;
   }

   public void endVisit(PGAlterTableAlterColumnOptions.PGAlterTableAlterColumnOptionValue x) {
   }

   public boolean visit(PGAlterTableAlterColumnOptions.PGAlterTableAlterColumnOptionValue x) {
      return false;
   }

   public void endVisit(PGAlterTableCluster x) {
   }

   public boolean visit(PGAlterTableCluster x) {
      return false;
   }

   public void endVisit(PGAlterTableDisableEnabelTrigger x) {
   }

   public boolean visit(PGAlterTableDisableEnabelTrigger x) {
      return false;
   }

   public void endVisit(PGAlterTableDropColumn x) {
   }

   public boolean visit(PGAlterTableDropColumn x) {
      return false;
   }

   public void endVisit(PGAlterTableDropConstraint x) {
   }

   public boolean visit(PGAlterTableDropConstraint x) {
      return false;
   }

   public void endVisit(PGConstraint x) {
   }

   public boolean visit(PGConstraint x) {
      return false;
   }

   public void endVisit(PGConstraint.PGConstraintCheck x) {
   }

   public boolean visit(PGConstraint.PGConstraintCheck x) {
      return false;
   }

   public void endVisit(PGConstraint.PGIndexParamaters x) {
   }

   public boolean visit(PGConstraint.PGIndexParamaters x) {
      return false;
   }

   public void endVisit(PGConstraint.PGUnique x) {
   }

   public boolean visit(PGConstraint.PGUnique x) {
      return false;
   }

   public void endVisit(PGConstraint.PGForeignKey x) {
   }

   public boolean visit(PGConstraint.PGForeignKey x) {
      return false;
   }

   public void endVisit(PGConstraint.PGReference x) {
   }

   public boolean visit(PGConstraint.PGReference x) {
      return false;
   }

   public void endVisit(PGColumnSimpleDefinitionExpr x) {
   }

   public boolean visit(PGColumnSimpleDefinitionExpr x) {
      return false;
   }

   public void endVisit(PGValuesTableSource.ValueRow x) {
   }

   public boolean visit(PGValuesTableSource.ValueRow x) {
      return false;
   }

   public void endVisit(PGAlterTableInheriteOrNotParentTable x) {
   }

   public boolean visit(PGAlterTableInheriteOrNotParentTable x) {
      return false;
   }

   public void endVisit(PGAlterTableOf x) {
   }

   public boolean visit(PGAlterTableOf x) {
      return false;
   }

   public void endVisit(PGAlterTableRenameColumn x) {
   }

   public boolean visit(PGAlterTableRenameColumn x) {
      return false;
   }

   public void endVisit(PGAlterTableRenameConstraint x) {
   }

   public boolean visit(PGAlterTableRenameConstraint x) {
      return false;
   }

   public void endVisit(PGAlterTableRenameTo x) {
   }

   public boolean visit(PGAlterTableRenameTo x) {
      return false;
   }

   public void endVisit(PGAlterTableSetNewTableSpace x) {
   }

   public boolean visit(PGAlterTableSetNewTableSpace x) {
      return false;
   }

   public void endVisit(PGAlterTableSetReset x) {
   }

   public boolean visit(PGAlterTableSetReset x) {
      return false;
   }

   public void endVisit(PGAlterTableSetReset.StorageParameter x) {
   }

   public boolean visit(PGAlterTableSetReset.StorageParameter x) {
      return false;
   }

   public void endVisit(PGAlterTableSetSchema x) {
   }

   public boolean visit(PGAlterTableSetSchema x) {
      return false;
   }

   public void endVisit(PGAlterTableSetTableSpace x) {
   }

   public boolean visit(PGAlterTableSetTableSpace x) {
      return false;
   }

   public void endVisit(PGAlterTableSetWith x) {
   }

   public boolean visit(PGAlterTableSetWith x) {
      return false;
   }

   public void endVisit(PGAlterTableSetWith.PGAlterTableDistributeByOption x) {
   }

   public boolean visit(PGAlterTableSetWith.PGAlterTableDistributeByOption x) {
      return false;
   }

   public void endVisit(PGAlterTableValidateConstraint x) {
   }

   public boolean visit(PGAlterTableValidateConstraint x) {
      return false;
   }

   public boolean visit(PGSQLPartitionBy x) {
      return false;
   }

   public boolean visit(PGSQLIndexSpec x) {
      return false;
   }

   public boolean visit(PGSelectQueryBlock.ForClauses x) {
      return false;
   }

   public void endVisit(PGSelectQueryBlock.ForClauses x) {
   }

   public boolean visit(PGCreateSeqenceStatement x) {
      return false;
   }

   public boolean visit(PGCreateTableSpaceStatement x) {
      return false;
   }

   public boolean visit(PGAlterViewStatement x) {
      return false;
   }

   public boolean visit(PGSQLObjectCollection x) {
      return false;
   }

   public void endVisit(PGSQLObjectCollection x) {
   }

   public void endVisit(PGGrantStatement x) {
   }

   public boolean visit(PGGrantStatement x) {
      return false;
   }

   public void endVisit(PGSubqueryTableSource x) {
   }

   public boolean visit(PGSubqueryTableSource x) {
      return false;
   }

   public void endVisit(PGMethodInvokeTableSource x) {
   }

   public boolean visit(PGMethodInvokeTableSource x) {
      return false;
   }

   public void endVisit(PGExprTableSource x) {
   }

   public boolean visit(PGExprTableSource x) {
      return false;
   }

   public void endVisit(PGRowsFromTableSource x) {
   }

   public boolean visit(PGRowsFromTableSource x) {
      return false;
   }

   public void endVisit(PGAlterDatabaseStatement x) {
   }

   public boolean visit(PGAlterDatabaseStatement x) {
      return false;
   }

   public void endVisit(PGValuesTableSource x) {
   }

   public boolean visit(PGValuesTableSource x) {
      return false;
   }

   public void endVisit(PGAlterIndexStatement x) {
   }

   public boolean visit(PGAlterIndexStatement x) {
      return false;
   }

   public void endVisit(PGAlterSequenceStatement x) {
   }

   public boolean visit(PGAlterSequenceStatement x) {
      return false;
   }

   public void endVisit(PGAlterTableStatement x) {
   }

   public boolean visit(PGAlterTableStatement x) {
      return false;
   }

   public void endVisit(PGAlterTableAddColumn x) {
   }

   public boolean visit(PGAlterTableAddColumn x) {
      return false;
   }

   public void endVisit(PGCreateDatabaseStatement x) {
   }

   public boolean visit(PGCreateDatabaseStatement x) {
      return false;
   }

   public void endVisit(PGConstraint.PGPrimaryKey x) {
   }

   public boolean visit(PGConstraint.PGPrimaryKey x) {
      return false;
   }

   public void endVisit(PGCreateTableStatement x) {
   }

   public boolean visit(PGCreateTableStatement x) {
      return false;
   }

   public void endVisit(PGColumnDefinition x) {
   }

   public boolean visit(PGColumnDefinition x) {
      return false;
   }

   public void endVisit(PGStorageParameter x) {
   }

   public boolean visit(PGStorageParameter x) {
      return false;
   }

   public void endVisit(PGSchemaTables x) {
   }

   public boolean visit(PGSchemaTables x) {
      return false;
   }

   public boolean visit(PGCreateViewStatement x) {
      return false;
   }

   public boolean visit(PGDropSequenceStatement x) {
      return false;
   }

   public boolean visit(PGSQLPartition x) {
      return false;
   }

   public boolean visit(PGCreateIndexStatement x) {
      return false;
   }
}
