protected override SqlStatement PrepareStatement(IRequest context)
{
var tableName = context.Access().ResolveTableName(TableName);
if (!context.Access().TableExists(tableName))
throw new ObjectNotFoundException(tableName);
var queryExp = new SqlQueryExpression(new SelectColumn[] {SelectColumn.Glob("*") });
queryExp.FromClause.AddTable(tableName.FullName);
queryExp.WhereExpression = WhereExpression;
var queryInfo = new QueryInfo(context, queryExp);
if (Limit > 0)
queryInfo.Limit = new QueryLimit(Limit);
var queryPlan = context.Query.Context.QueryPlanner().PlanQuery(queryInfo);
return new Prepared(tableName, queryPlan);
}