Deveel.Data.Sql.Statements.DeleteStatement.PrepareStatement C# (CSharp) Method

PrepareStatement() protected method

protected PrepareStatement ( IRequest context ) : SqlStatement
context IRequest
return SqlStatement
        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);
        }