~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/filesort.cc

  • Committer: Brian Aker
  • Date: 2010-11-06 19:38:41 UTC
  • mto: This revision was merged to the branch mainline in revision 1910.
  • Revision ID: brian@tangent.org-20101106193841-exc9cc3qc515zhev
Encapsulation of IO_CACHE.

Show diffs side-by-side

added added

removed removed

Lines of Context:
365
365
    }
366
366
    buffpek_inst= (buffpek *) table_sort.buffpek;
367
367
    table_sort.buffpek_len= maxbuffer;
368
 
    close_cached_file(&buffpek_pointers);
 
368
    buffpek_pointers.close_cached_file();
369
369
        /* Open cached file if it isn't open */
370
370
    if (! my_b_inited(outfile) && open_cached_file(outfile,drizzle_tmpdir.c_str(),TEMP_PREFIX,READ_RECORD_BUFFER, MYF(MY_WME)))
371
371
    {
372
372
      goto err;
373
373
    }
374
374
 
375
 
    if (reinit_io_cache(outfile,internal::WRITE_CACHE,0L,0,0))
 
375
    if (outfile->reinit_io_cache(internal::WRITE_CACHE,0L,0,0))
376
376
    {
377
377
      goto err;
378
378
    }
389
389
      goto err;
390
390
    }
391
391
 
392
 
    if (flush_io_cache(&tempfile) || reinit_io_cache(&tempfile,internal::READ_CACHE,0L,0,0))
 
392
    if (flush_io_cache(&tempfile) || tempfile.reinit_io_cache(internal::READ_CACHE,0L,0,0))
393
393
    {
394
394
      goto err;
395
395
    }
416
416
    table_sort.buffpek_len= 0;
417
417
  }
418
418
 
419
 
  close_cached_file(&tempfile);
420
 
  close_cached_file(&buffpek_pointers);
 
419
  tempfile.close_cached_file();
 
420
  buffpek_pointers.close_cached_file();
421
421
  if (my_b_inited(outfile))
422
422
  {
423
423
    if (flush_io_cache(outfile))
427
427
    {
428
428
      internal::my_off_t save_pos=outfile->pos_in_file;
429
429
      /* For following reads */
430
 
      if (reinit_io_cache(outfile,internal::READ_CACHE,0L,0,0))
 
430
      if (outfile->reinit_io_cache(internal::READ_CACHE,0L,0,0))
431
431
      {
432
432
        error=1;
433
433
      }
482
482
    tmp= (unsigned char *)malloc(length);
483
483
  if (tmp)
484
484
  {
485
 
    if (reinit_io_cache(buffpek_pointers,internal::READ_CACHE,0L,0,0) ||
 
485
    if (buffpek_pointers->reinit_io_cache(internal::READ_CACHE,0L,0,0) ||
486
486
        my_b_read(buffpek_pointers, (unsigned char*) tmp, length))
487
487
    {
488
488
      free((char*) tmp);
1092
1092
  {
1093
1093
    register uint32_t i;
1094
1094
 
1095
 
    if (reinit_io_cache(from_file,internal::READ_CACHE,0L,0,0))
 
1095
    if (from_file->reinit_io_cache(internal::READ_CACHE,0L,0,0))
1096
1096
    {
1097
1097
      break;
1098
1098
    }
1099
1099
 
1100
 
    if (reinit_io_cache(to_file,internal::WRITE_CACHE,0L,0,0))
 
1100
    if (to_file->reinit_io_cache(internal::WRITE_CACHE,0L,0,0))
1101
1101
    {
1102
1102
      break;
1103
1103
    }
1124
1124
    }
1125
1125
 
1126
1126
    temp=from_file; from_file=to_file; to_file=temp;
1127
 
    setup_io_cache(from_file);
1128
 
    setup_io_cache(to_file);
 
1127
    from_file->setup_io_cache();
 
1128
    to_file->setup_io_cache();
1129
1129
    *maxbuffer= (uint32_t) (lastbuff-buffpek_inst)-1;
1130
1130
  }
1131
1131
 
1132
1132
cleanup:
1133
 
  close_cached_file(to_file);                   // This holds old result
 
1133
  to_file->close_cached_file();                 // This holds old result
1134
1134
  if (to_file == t_file)
1135
1135
  {
1136
1136
    *t_file=t_file2;                            // Copy result file
1137
 
    setup_io_cache(t_file);
 
1137
    t_file->setup_io_cache();
1138
1138
  }
1139
1139
 
1140
1140
  return(*maxbuffer >= MERGEBUFF2);     /* Return 1 if interrupted */