diff --git a/src/NHibernate/Dialect/Ingres9Dialect.cs b/src/NHibernate/Dialect/Ingres9Dialect.cs index 9853388c625..1d7f9761b63 100644 --- a/src/NHibernate/Dialect/Ingres9Dialect.cs +++ b/src/NHibernate/Dialect/Ingres9Dialect.cs @@ -30,7 +30,16 @@ public override bool SupportsLimitOffset { get { return true; } } - + + /// + public override bool SupportsSequences => true; + + /// + public override bool SupportsPooledSequences => true; + + /// + public override string QuerySequencesString => "select seq_name from iisequences"; + /// /// Attempts to add a LIMIT clause to the given SQL SELECT. /// Expects any database-specific offset and limit adjustments to have already been performed (ex. UseMaxForLimit, OffsetStartsAtOne). @@ -65,10 +74,34 @@ public override SqlString GetLimitString(SqlString queryString, SqlString offset return pagingBuilder.ToSqlString(); } + /// + public override string GetSequenceNextValString(string sequenceName) + { + return "select " + GetSelectSequenceNextValString(sequenceName) + " as seq"; + } + + /// + public override string GetSelectSequenceNextValString(string sequenceName) + { + return "next value for " + sequenceName; + } + + /// + public override string GetCreateSequenceString(string sequenceName) + { + return "create sequence " + sequenceName; + } + + /// + public override string GetDropSequenceString(string sequenceName) + { + return "drop sequence " + sequenceName; + } + #region Overridden informational metadata - + public override bool DoesRepeatableReadCauseReadersToBlockWriters => true; #endregion } -} \ No newline at end of file +}