Deveel.Data.Sql.Sequences.SequenceManager.CreateSequence C# (CSharp) Method

CreateSequence() public method

public CreateSequence ( SequenceInfo sequenceInfo ) : ISequence
sequenceInfo SequenceInfo
return ISequence
        public ISequence CreateSequence(SequenceInfo sequenceInfo)
        {
            if (sequenceInfo == null)
                throw new ArgumentNullException("sequenceInfo");

            var sequenceName = sequenceInfo.SequenceName;

            // If the Sequence or SequenceInfo tables don't exist then
            // We can't add or remove native tables
            if (sequenceName.Equals(SequenceTableName) ||
                sequenceName.Equals(SequenceInfoTableName) ||
                !Transaction.TableExists(SequenceTableName) ||
                !Transaction.TableExists(SequenceInfoTableName)) {
                return null;
            }

            try {
                if (sequenceInfo.Type == SequenceType.Native)
                    return CreateNativeTableSequence(sequenceName);

                return CreateCustomSequence(sequenceName, sequenceInfo);
            } finally {
                seqCache.Clear();
            }
        }