From 963bdfaef3ea39ee00629ff675fc8b92d8b08b0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=93=81?= Date: Wed, 17 Feb 2021 13:38:11 +0800 Subject: [PATCH] add testcase --- .../ddl/PGAlterTableAlterColumnTest0.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/test/java/com/alibaba/druid/bvt/sql/postgresql/ddl/PGAlterTableAlterColumnTest0.java diff --git a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/ddl/PGAlterTableAlterColumnTest0.java b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/ddl/PGAlterTableAlterColumnTest0.java new file mode 100644 index 0000000000..aa5b1d7f9f --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/ddl/PGAlterTableAlterColumnTest0.java @@ -0,0 +1,38 @@ +package com.alibaba.druid.bvt.sql.postgresql.ddl; + +import com.alibaba.druid.sql.PGTest; +import com.alibaba.druid.sql.ast.SQLStatement; +import com.alibaba.druid.sql.dialect.postgresql.parser.PGSQLStatementParser; +import com.alibaba.druid.sql.dialect.postgresql.visitor.PGSchemaStatVisitor; +import com.alibaba.druid.stat.TableStat; +import org.junit.Assert; + +import java.util.List; + + +public class PGAlterTableAlterColumnTest0 extends PGTest { + public void test_0 () throws Exception { + String sql = "ALTER TABLE organizations ALTER COLUMN guarded TYPE BOOLEAN, ALTER COLUMN guarded DROP NOT NULL"; + + PGSQLStatementParser parser = new PGSQLStatementParser(sql); + List statementList = parser.parseStatementList(); + SQLStatement stmt = statementList.get(0); + assertEquals("ALTER TABLE organizations\n" + + "\tALTER COLUMN guarded BOOLEAN,\n" + + "\tALTER COLUMN guarded DROP NOT NULL", stmt.toString()); + + Assert.assertEquals(1, statementList.size()); + + PGSchemaStatVisitor visitor = new PGSchemaStatVisitor(); + stmt.accept(visitor); + + System.out.println("Tables : " + visitor.getTables()); + System.out.println("fields : " + visitor.getColumns()); + + Assert.assertTrue(visitor.getTables().containsKey(new TableStat.Name("organizations"))); + + Assert.assertTrue(visitor.getTables().get(new TableStat.Name("organizations")).getAlterCount() == 1); + + Assert.assertTrue(visitor.getColumns().size() == 1); + } +}