public void FetchWithNoOffset() { var statement = new FetchStatement("c1", FetchDirection.Next); SerializeAndAssert(statement, (serialized, deserialized) => { Assert.IsNotNull(deserialized); Assert.AreEqual("c1", deserialized.CursorName); Assert.AreEqual(FetchDirection.Next, statement.Direction); }); }
public void FetchWithOffset() { var statement = new FetchStatement("c1", FetchDirection.Absolute, SqlExpression.Constant(33)); SerializeAndAssert(statement, (serialized, deserialized) => { Assert.IsNotNull(deserialized); Assert.AreEqual("c1", deserialized.CursorName); Assert.AreEqual(FetchDirection.Absolute, statement.Direction); Assert.IsNotNull(deserialized.OffsetExpression); }); }
protected override void BuildStatement(SqlCodeObjectBuilder builder) { FetchDirection direction; if (!TryParseDirection(Direction, out direction)) { throw new InvalidOperationException(); } var statement = new FetchStatement(CursorName, direction); if (Into != null) { statement.IntoReference = ExpressionBuilder.Build(Into); } if (Position != null) { statement.PositionExpression = ExpressionBuilder.Build(Position); } builder.AddObject(statement); }
internal string Format(Expression expression) { this.stmt = new FetchStatement(); this.Visit(expression); return this.stmt.ToString(); }