Skip to content

Commit f076ee4

Browse files
oskarbfredericDelaporte
authored andcommitted
NH-3921 - Sequence support for Ingres9 (#529)
1 parent 8c84e2c commit f076ee4

File tree

1 file changed

+36
-3
lines changed

1 file changed

+36
-3
lines changed

src/NHibernate/Dialect/Ingres9Dialect.cs

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,16 @@ public override bool SupportsLimitOffset
3030
{
3131
get { return true; }
3232
}
33-
33+
34+
/// <inheritdoc />
35+
public override bool SupportsSequences => true;
36+
37+
/// <inheritdoc />
38+
public override bool SupportsPooledSequences => true;
39+
40+
/// <inheritdoc />
41+
public override string QuerySequencesString => "select seq_name from iisequences";
42+
3443
/// <summary>
3544
/// Attempts to add a <c>LIMIT</c> clause to the given SQL <c>SELECT</c>.
3645
/// 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
6574
return pagingBuilder.ToSqlString();
6675
}
6776

77+
/// <inheritdoc />
78+
public override string GetSequenceNextValString(string sequenceName)
79+
{
80+
return "select " + GetSelectSequenceNextValString(sequenceName) + " as seq";
81+
}
82+
83+
/// <inheritdoc />
84+
public override string GetSelectSequenceNextValString(string sequenceName)
85+
{
86+
return "next value for " + sequenceName;
87+
}
88+
89+
/// <inheritdoc />
90+
public override string GetCreateSequenceString(string sequenceName)
91+
{
92+
return "create sequence " + sequenceName;
93+
}
94+
95+
/// <inheritdoc />
96+
public override string GetDropSequenceString(string sequenceName)
97+
{
98+
return "drop sequence " + sequenceName;
99+
}
100+
68101
#region Overridden informational metadata
69-
102+
70103
public override bool DoesRepeatableReadCauseReadersToBlockWriters => true;
71104

72105
#endregion
73106
}
74-
}
107+
}

0 commit comments

Comments
 (0)