Ejemplo n.º 1
0
        public void testRenameTable()
        {
            TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvnetezza);

            sqlparser.sqltext = "ALTER TABLE X RENAME TO Y;";
            Assert.IsTrue(sqlparser.parse() == 0);

            TAlterTableStatement alterTable = (TAlterTableStatement)sqlparser.sqlstatements.get(0);

            Assert.IsTrue(alterTable.TableName.ToString().Equals("X", StringComparison.CurrentCultureIgnoreCase));

            TAlterTableOption ato = alterTable.AlterTableOptionList.getAlterTableOption(0);

            Assert.IsTrue(ato.OptionType == EAlterTableOptionType.RenameTable);
            Assert.IsTrue(ato.NewTableName.ToString().Equals("Y", StringComparison.CurrentCultureIgnoreCase));

            sqlparser.sqltext = "ALTER TABLE EVRST_HIST_NK..CLC_D_ACCOUNT_STATUS_HIER RENAME TO EVRST_HIST_NK..CLC_D_ACCOUNT_STATUS_HIER_ARCH";
            Assert.IsTrue(sqlparser.parse() == 0);

            alterTable = (TAlterTableStatement)sqlparser.sqlstatements.get(0);
            Assert.IsTrue(alterTable.TableName.ToString().Equals("EVRST_HIST_NK..CLC_D_ACCOUNT_STATUS_HIER", StringComparison.CurrentCultureIgnoreCase));

            ato = alterTable.AlterTableOptionList.getAlterTableOption(0);
            Assert.IsTrue(ato.OptionType == EAlterTableOptionType.RenameTable);
            Assert.IsTrue(ato.NewTableName.ToString().Equals("EVRST_HIST_NK..CLC_D_ACCOUNT_STATUS_HIER_ARCH", StringComparison.CurrentCultureIgnoreCase));
        }
Ejemplo n.º 2
0
        public void testSetSchema()
        {
            TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvgreenplum);

            sqlparser.sqltext = "ALTER TABLE myschema.distributors SET SCHEMA yourschema;";
            Assert.IsTrue(sqlparser.parse() == 0);
            TAlterTableStatement alterTable = (TAlterTableStatement)sqlparser.sqlstatements.get(0);

            Assert.IsTrue(alterTable.TableName.ToString().Equals("myschema.distributors", StringComparison.CurrentCultureIgnoreCase));

            TAlterTableOption ato = alterTable.AlterTableOptionList.getAlterTableOption(0);

            Assert.IsTrue(ato.OptionType == EAlterTableOptionType.setSchema);
            Assert.IsTrue(ato.SchemaName.ToString().Equals("yourschema", StringComparison.CurrentCultureIgnoreCase));
        }
Ejemplo n.º 3
0
        public void testRenameColumn()
        {
            TGSqlParser sqlparser = new TGSqlParser(EDbVendor.dbvgreenplum);

            sqlparser.sqltext = "ALTER TABLE distributors RENAME COLUMN address TO city;";
            Assert.IsTrue(sqlparser.parse() == 0);
            TAlterTableStatement alterTable = (TAlterTableStatement)sqlparser.sqlstatements.get(0);

            Assert.IsTrue(alterTable.TableName.ToString().Equals("distributors", StringComparison.CurrentCultureIgnoreCase));

            TAlterTableOption ato = alterTable.AlterTableOptionList.getAlterTableOption(0);

            Assert.IsTrue(ato.OptionType == EAlterTableOptionType.RenameColumn);
            Assert.IsTrue(ato.ColumnName.ToString().Equals("address", StringComparison.CurrentCultureIgnoreCase));
            Assert.IsTrue(ato.NewColumnName.ToString().Equals("city", StringComparison.CurrentCultureIgnoreCase));
        }
Ejemplo n.º 4
0
        public virtual void testAddRefernceColumnInAlterTable2()
        {
            TGSqlParser lcparser = new TGSqlParser(EDbVendor.dbvoracle);

            lcparser.sqltext = "ALTER TABLE P_CAP \n" + "ADD CONSTRAINT FK_P_CAP_R_PH_111_P_CEL \n" + "FOREIGN KEY (CAP_CEL) REFERENCES P_CEL (CEL_COD);";
            Assert.IsTrue(lcparser.parse() == 0);
            TAlterTableStatement at = (TAlterTableStatement)lcparser.sqlstatements.get(0);
            TAlterTableOption    alterTableOption = at.AlterTableOptionList.getAlterTableOption(0);
            TConstraint          constraint       = alterTableOption.ConstraintList.getConstraint(0);

            Assert.IsTrue(constraint.Constraint_type == EConstraintType.foreign_key);

            constraint.ReferencedColumnList.insertElementAt(parser.parseObjectName("cel_newid"), 0);
            Assert.IsTrue(testScriptGenerator.verifyScript(EDbVendor.dbvoracle
                                                           , at.ToScript()
                                                           , "ALTER TABLE p_cap \n" +
                                                           "  ADD CONSTRAINT fk_p_cap_r_ph_111_p_cel FOREIGN KEY (cap_cel) REFERENCES p_cel(cel_newid,cel_cod)"
                                                           ));
        }