Exemplo n.º 1
0
        public override string Translate(SqlCompilerContext context,
                                         SequenceDescriptor descriptor, SequenceDescriptorSection section)
        {
            switch (section)
            {
            case SequenceDescriptorSection.RestartValue:
                if (descriptor.StartValue.HasValue)
                {
                    throw new NotSupportedException(Strings.ExAlterSequenceRestartWithIsNotSupported);
                }
                break;

            case SequenceDescriptorSection.AlterMaxValue:
                if (!descriptor.MaxValue.HasValue)
                {
                    return("NOMAXVALUE");
                }
                break;

            case SequenceDescriptorSection.AlterMinValue:
                if (!descriptor.MinValue.HasValue)
                {
                    return("NOMINVALUE");
                }
                break;
            }
            return(base.Translate(context, descriptor, section));
        }
Exemplo n.º 2
0
 public static SqlAlterIdentityInfo Alter(
     TableColumn column, SequenceDescriptor descriptor, SqlAlterIdentityInfoOptions infoOption)
 {
     ArgumentValidator.EnsureArgumentNotNull(column, "column");
     ArgumentValidator.EnsureArgumentNotNull(descriptor, "info");
     return(new SqlAlterIdentityInfo(column, descriptor, infoOption));
 }
 internal SqlAlterSequence(Sequence sequence, SequenceDescriptor sequenceDescriptor, SqlAlterIdentityInfoOptions infoOption)
     : base(SqlNodeType.Alter)
 {
     this.sequence           = sequence;
     this.sequenceDescriptor = sequenceDescriptor;
     this.infoOption         = infoOption;
 }
Exemplo n.º 4
0
 protected override void ReadSequenceDescriptor(DbDataReader reader, SequenceDescriptor descriptor)
 {
     descriptor.Increment  = Convert.ToInt64(reader["seqincrement"]);
     descriptor.IsCyclic   = Convert.ToBoolean(reader["seqcycle"]);
     descriptor.MinValue   = Convert.ToInt64(reader["seqmin"]);
     descriptor.MaxValue   = Convert.ToInt64(reader["seqmax"]);
     descriptor.StartValue = Convert.ToInt64(reader["seqstart"]);
 }
Exemplo n.º 5
0
 /// <inheritdoc/>
 public override string Translate(SqlCompilerContext context, SequenceDescriptor descriptor, SequenceDescriptorSection section)
 {
     //switch (section) {
     //  case SequenceDescriptorSection.Increment:
     //    if (descriptor.Increment.HasValue)
     //      return "AUTOINCREMENT";
     //    return string.Empty;
     //}
     return(string.Empty);
 }
        private void CreateSequence(Schema schema, StorageSequenceInfo sequenceInfo, string name)
        {
            var sequence   = schema.CreateSequence(name);
            var descriptor = new SequenceDescriptor(sequence, sequenceInfo.Seed, sequenceInfo.Increment)
            {
                MinValue = sequenceInfo.Seed
            };

            sequence.SequenceDescriptor = descriptor;
        }
Exemplo n.º 7
0
 public override string Translate(SqlCompilerContext context, SequenceDescriptor descriptor, SequenceDescriptorSection section)
 {
     if (descriptor.Owner is Sequence)
     {
         return(TranslateSequenceDescriptorDefault(context, descriptor, section));
     }
     if (descriptor.Owner is TableColumn)
     {
         return(TranslateIdentityDescriptor(context, descriptor, section));
     }
     throw new NotSupportedException();
 }
        internal override object Clone(SqlNodeCloneContext context)
        {
            if (context.NodeMapping.ContainsKey(this))
            {
                return(context.NodeMapping[this]);
            }

            var clone = new SqlAlterIdentityInfo(Column, (SequenceDescriptor)SequenceDescriptor.Clone(), InfoOption);

            context.NodeMapping[this] = clone;

            return(clone);
        }
Exemplo n.º 9
0
        protected string TranslateIdentityDescriptor(SqlCompilerContext context, SequenceDescriptor descriptor, SequenceDescriptorSection section)
        {
            switch (section)
            {
            case SequenceDescriptorSection.StartValue:
            case SequenceDescriptorSection.RestartValue:
                if (descriptor.StartValue.HasValue)
                {
                    return("IDENTITY (" + descriptor.StartValue.Value + RowItemDelimiter);
                }
                return(String.Empty);

            case SequenceDescriptorSection.Increment:
                if (descriptor.Increment.HasValue)
                {
                    return(descriptor.Increment.Value + ")");
                }
                return(String.Empty);

            default:
                return(String.Empty);
            }
        }
Exemplo n.º 10
0
        /// <inheritdoc/>
        public override string Translate(SqlCompilerContext context, SequenceDescriptor descriptor,
                                         SequenceDescriptorSection section)
        {
            switch (section)
            {
            case SequenceDescriptorSection.StartValue:
                return(string.Empty);

            case SequenceDescriptorSection.RestartValue:
                if (descriptor.StartValue.HasValue)
                {
                    return("RESTART WITH " + descriptor.StartValue.Value);
                }
                return(string.Empty);

            case SequenceDescriptorSection.Increment:
                return(string.Empty);

            case SequenceDescriptorSection.MaxValue:
                return(string.Empty);

            case SequenceDescriptorSection.MinValue:
                return(string.Empty);

            case SequenceDescriptorSection.AlterMaxValue:
                return(string.Empty);

            case SequenceDescriptorSection.AlterMinValue:
                return(string.Empty);

            case SequenceDescriptorSection.IsCyclic:
                return(string.Empty);

            default:
                return(string.Empty);
            }
        }
Exemplo n.º 11
0
 protected override void ReadSequenceDescriptor(DbDataReader reader, SequenceDescriptor descriptor)
 {
     base.ReadSequenceDescriptor(reader, descriptor);
     descriptor.StartValue = Convert.ToInt64(reader["start_value"]);
 }
 /// <inheritdoc/>
 /// <exception cref="NotSupportedException">Method is not supported.</exception>
 protected override IPathNode VisitSequenceDescriptor(SequenceDescriptor sequenceDescriptor)
 {
     throw new NotSupportedException();
 }
Exemplo n.º 13
0
 public override string Translate(SqlCompilerContext context, SequenceDescriptor descriptor, SequenceDescriptorSection section)
 {
     return(TranslateIdentityDescriptor(context, descriptor, section));
 }
Exemplo n.º 14
0
 /// <inheritdoc/>
 public override string Translate(SqlCompilerContext context, SequenceDescriptor descriptor,
                                  SequenceDescriptorSection section)
 {
     return(string.Empty);
     //throw new NotSupportedException(Strings.ExDoesNotSupportSequences);
 }
 internal SqlAlterIdentityInfo(TableColumn column, SequenceDescriptor sequenceDescriptor, SqlAlterIdentityInfoOptions infoOption)
 {
     Column             = column;
     SequenceDescriptor = sequenceDescriptor;
     InfoOption         = infoOption;
 }
Exemplo n.º 16
0
 public static SqlAlterSequence Alter(Sequence sequence, SequenceDescriptor descriptor)
 {
     ArgumentValidator.EnsureArgumentNotNull(sequence, "sequence");
     ArgumentValidator.EnsureArgumentNotNull(descriptor, "info");
     return(new SqlAlterSequence(sequence, descriptor, SqlAlterIdentityInfoOptions.All));
 }