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
+}