~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/optimizer/explain_plan.cc

  • Committer: lbieber at stabletransit
  • Date: 2010-10-18 20:26:50 UTC
  • mfrom: (1859.1.4 build)
  • Revision ID: lbieber@drizzle-build-n02.wc1.dfw1.stabletransit.com-20101018202650-hcvsp7yuaf1xy04s
Merge Monty - Adds support for a const std::string sys_var type.
Merge Monty - Make it possible to use sys_var directly from plugins.
Merge Padraig - Replaced a few unit8_t types that were being used as bitmaps with std::bitset

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
#include <cstdio>
33
33
#include <string>
34
34
#include <sstream>
 
35
#include <bitset>
35
36
 
36
37
using namespace std;
37
38
 
485
486
       sl= sl->next_select())
486
487
  {
487
488
    // drop UNCACHEABLE_EXPLAIN, because it is for internal usage only
488
 
    uint8_t uncacheable= (sl->uncacheable & ~UNCACHEABLE_EXPLAIN);
 
489
    sl->uncacheable.reset(UNCACHEABLE_EXPLAIN);
489
490
    if (&session->lex->select_lex == sl)
490
491
    {
491
492
      if (sl->first_inner_unit() || sl->next_select())
507
508
        }
508
509
        else
509
510
        {
510
 
          if (uncacheable & UNCACHEABLE_DEPENDENT)
 
511
          if (sl->uncacheable.test(UNCACHEABLE_DEPENDENT))
511
512
          {
512
513
            sl->type= optimizer::ST_DEPENDENT_SUBQUERY;
513
514
          }
514
515
          else
515
516
          {
516
 
            if (uncacheable)
 
517
            if (sl->uncacheable.any())
517
518
            {
518
519
              sl->type= optimizer::ST_UNCACHEABLE_SUBQUERY;
519
520
            }
526
527
      }
527
528
      else
528
529
      {
529
 
        if (uncacheable & UNCACHEABLE_DEPENDENT)
 
530
        if (sl->uncacheable.test(UNCACHEABLE_DEPENDENT))
530
531
        {
531
532
          sl->type= optimizer::ST_DEPENDENT_UNION;
532
533
        }
533
534
        else
534
535
        {
535
 
          if (uncacheable)
 
536
          if (sl->uncacheable.any())
536
537
          {
537
538
            sl->type= optimizer::ST_UNCACHEABLE_UNION;
538
539
          }