public override void Process(Expressions.RenameColumnExpression expression) { string columnDefinitionSql = string.Format(@" SELECT CONCAT( CAST(COLUMN_TYPE AS CHAR), IF(ISNULL(CHARACTER_SET_NAME), '', CONCAT(' CHARACTER SET ', CHARACTER_SET_NAME)), IF(ISNULL(COLLATION_NAME), '', CONCAT(' COLLATE ', COLLATION_NAME)), ' ', IF(IS_NULLABLE = 'NO', 'NOT NULL ', ''), IF(IS_NULLABLE = 'NO' AND COLUMN_DEFAULT IS NULL, '', CONCAT('DEFAULT ', QUOTE(COLUMN_DEFAULT), ' ')), IF(COLUMN_COMMENT = '', '', CONCAT('COMMENT ', QUOTE(COLUMN_COMMENT), ' ')), UPPER(extra)) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{0}' AND COLUMN_NAME = '{1}'", FormatHelper.FormatSqlEscape(expression.TableName), FormatHelper.FormatSqlEscape(expression.OldName)); var columnDefinition = Read(columnDefinitionSql).Tables[0].Rows[0].Field <string>(0); Process(Generator.Generate(expression) + columnDefinition); }
public override void Process(Expressions.RenameColumnExpression expression) { truncator.Truncate(expression); CheckColumn(expression.TableName, expression.OldName); CheckColumn(expression.TableName, expression.NewName); LockColumn(expression.TableName, expression.OldName); LockColumn(expression.TableName, expression.NewName); InternalProcess(Generator.Generate(expression)); }
public override string Generate(Expressions.RenameColumnExpression expression) { return(CompatibilityMode.HandleCompatibilty("This feature not directly supported by most versions of DB2.")); }
public void Process(Expressions.RenameColumnExpression expression) { Process(Generator.Generate(expression)); }