Skip to content

Commit 1ad67c2

Browse files
committed
NH-3921 - Sequence support for Ingres9
1 parent c1f7f48 commit 1ad67c2

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

src/NHibernate/Dialect/Ingres9Dialect.cs

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,12 @@ public override bool SupportsLimitOffset
3030
{
3131
get { return true; }
3232
}
33-
33+
34+
/// <summary>
35+
/// Does this dialect support sequences?
36+
/// </summary>
37+
public override bool SupportsSequences => true;
38+
3439
/// <summary>
3540
/// Attempts to add a <c>LIMIT</c> clause to the given SQL <c>SELECT</c>.
3641
/// Expects any database-specific offset and limit adjustments to have already been performed (ex. UseMaxForLimit, OffsetStartsAtOne).
@@ -65,10 +70,30 @@ public override SqlString GetLimitString(SqlString queryString, SqlString offset
6570
return pagingBuilder.ToSqlString();
6671
}
6772

73+
public override string GetSequenceNextValString(string sequenceName)
74+
{
75+
return "select " + GetSelectSequenceNextValString(sequenceName) + " as seq";
76+
}
77+
78+
public override string GetSelectSequenceNextValString(string sequenceName)
79+
{
80+
return "next value for " + sequenceName;
81+
}
82+
83+
public override string GetCreateSequenceString(string sequenceName)
84+
{
85+
return "create sequence " + sequenceName;
86+
}
87+
88+
public override string GetDropSequenceString(string sequenceName)
89+
{
90+
return "drop sequence " + sequenceName;
91+
}
92+
6893
#region Overridden informational metadata
69-
94+
7095
public override bool DoesRepeatableReadCauseReadersToBlockWriters => true;
7196

7297
#endregion
7398
}
74-
}
99+
}

0 commit comments

Comments
 (0)