~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/optimizer/range.cc

  • Committer: lbieber
  • Date: 2010-09-08 02:51:16 UTC
  • mfrom: (1748.1.3 build)
  • Revision ID: lbieber@orisndriz03-20100908025116-adod2fvbgqhpox4d
Merge Andrew - fix bug 628419 - A double free was possible during a range query cleanup
Merge Andrew - fix bug 550251 - If an error occurred during results fetch in drizzle client the result set was not freed correctly ending in segfault upon client end.
Merge Andrew - fix bug 619591 - In SHOW CREATE TABLE type (INT, VARCHAR, etc...) is now uppercase and Collation is now shown for VARCHAR columns 

Show diffs side-by-side

added added

removed removed

Lines of Context:
385
385
 
386
386
void optimizer::SqlSelect::cleanup()
387
387
{
388
 
  delete quick;
389
 
  quick= 0;
 
388
  if (quick)
 
389
  {
 
390
    delete quick;
 
391
    quick= NULL;
 
392
  }
 
393
 
390
394
  if (free_cond)
391
395
  {
392
396
    free_cond= 0;
641
645
{
642
646
  uint32_t idx;
643
647
  double scan_time;
644
 
  delete quick;
645
 
  quick=0;
 
648
  if (quick)
 
649
  {
 
650
    delete quick;
 
651
    quick= NULL;
 
652
  }
646
653
  needed_reg.reset();
647
654
  quick_keys.reset();
648
655
  if (keys_to_use.none())
858
865
      records= best_trp->records;
859
866
      if (! (quick= best_trp->make_quick(&param, true)) || quick->init())
860
867
      {
861
 
        delete quick;
862
 
        quick= NULL;
 
868
        /* quick can already be free here */
 
869
        if (quick)
 
870
        {
 
871
          delete quick;
 
872
          quick= NULL;
 
873
        }
863
874
      }
864
875
    }
865
876