public virtual string GenerateDescriptionStatement(Expressions.CreateColumnExpression expression)
        {
            if (string.IsNullOrEmpty(expression.Column.ColumnDescription))
            {
                return(string.Empty);
            }

            string initialDescriptionStatement = GenerateColumnDescription(
                "Description", expression.SchemaName, expression.TableName, expression.Column.Name, "Description:" + expression.Column.ColumnDescription);

            if (expression.Column.AdditionalColumnDescriptions.Count == 0)
            {
                return(initialDescriptionStatement);
            }
            else
            {
                initialDescriptionStatement = "Description:" + expression.Column.ColumnDescription;
                var descriptionsList = new List <string>
                {
                    initialDescriptionStatement
                };
                descriptionsList.AddRange(from description in expression.Column.AdditionalColumnDescriptions
                                          let newDescriptionStatement = description.Key + ":" + description.Value
                                                                        select newDescriptionStatement);
                return(GenerateColumnDescription("Description", expression.SchemaName, expression.TableName, expression.Column.Name, string.Join("\r\n", descriptionsList)));
            }
        }
Пример #2
0
        public override string Generate(Expressions.CreateColumnExpression expression)
        {
            expression.Column.AdditionalFeatures.Add(new KeyValuePair <string, object>("IsCreateColumn", true));

            return(string.Format(
                       "ALTER TABLE {0} ADD COLUMN {1}",
                       Quoter.QuoteTableName(expression.TableName, expression.SchemaName),
                       Column.Generate(expression.Column)));
        }
Пример #3
0
        public virtual string GenerateDescriptionStatement(Expressions.CreateColumnExpression expression)
        {
            if (string.IsNullOrEmpty(expression.Column.ColumnDescription))
            {
                return(string.Empty);
            }

            return(GenerateColumnDescription(
                       expression.SchemaName, expression.TableName, expression.Column.Name, expression.Column.ColumnDescription));
        }
Пример #4
0
        public override void Process(Expressions.CreateColumnExpression expression)
        {
            truncator.Truncate(expression);
            CheckColumn(expression.TableName, expression.Column.Name);
            LockColumn(expression.TableName, expression.Column.Name);
            RegisterColumnCreation(expression.TableName, expression.Column.Name);
            InternalProcess(Generator.Generate(expression));

            if (expression.Column.IsIdentity)
            {
                CreateSequenceForIdentity(expression.TableName, expression.Column.Name);
            }

            /*if (FBOptions.TransactionModel == FirebirdTransactionModel.AutoCommitOnCheckFail)
             *  CommitRetaining();*/
            if (FBOptions.TransactionModel != FirebirdTransactionModel.None)
            {
                CommitRetaining();
            }
        }
Пример #5
0
 public void Process(Expressions.CreateColumnExpression expression)
 {
     Process(Generator.Generate(expression));
 }