public void GetLimitString_NoOffsetSpecified_UsesFetchFirstOnly() { // arrange DB2Dialect dialect = new DB2Dialect(); SqlString sql = new SqlString( new object[] { "select a, b, c ", "from d", " where X = ", Parameter.Placeholder, " and Z = ", Parameter.Placeholder, " order by a, x" }); // act SqlString limited = dialect.GetLimitString(sql, null, new SqlString("222")); // assert Assert.AreEqual( "select a, b, c from d where X = ? and Z = ? order by a, x fetch first 222 rows only", limited.ToString()); Assert.AreEqual(2, limited.GetParameterCount()); }
public void GetLimitString() { DB2Dialect dialect = new DB2Dialect(); SqlString sql = new SqlString( new object[] { "select a, b, c ", "from d", " where X = ", Parameter.Placeholder, " and Z = ", Parameter.Placeholder, " order by a, x" }); SqlString limited = dialect.GetLimitString(sql, new SqlString("111"), new SqlString("222")); Assert.AreEqual( "select * from (select rownumber() over(order by a, x) as rownum, a, b, c from d where X = ? and Z = ? order by a, x) as tempresult where rownum between 111+1 and 222", limited.ToString()); Assert.AreEqual(2, limited.GetParameterCount()); }
public static ISqlDialect ConvertESqlDialect(ESqlDialect sqlDialect) { ISqlDialect SqlDialect = null; switch (sqlDialect) { case ESqlDialect.DB2: SqlDialect = new DB2Dialect(); break; case ESqlDialect.MySQL: SqlDialect = new MySqlDialect(); break; case ESqlDialect.Oracle: SqlDialect = new OracleDialect(); break; case ESqlDialect.PostgreSql: SqlDialect = new PostgreSqlDialect(); break; case ESqlDialect.SqlCe: SqlDialect = new SqlCeDialect(); break; case ESqlDialect.Sqlite: SqlDialect = new SqliteDialect(); break; case ESqlDialect.SqlServer: SqlDialect = new SqlServerDialect(); break; } return(SqlDialect); }
public void Setup() { Dialect = new DB2Dialect(); }