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)); }
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)); }
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)); }
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)" )); }