~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/myisam/mi_check.c

  • Committer: Brian Aker
  • Date: 2008-10-08 02:28:58 UTC
  • mfrom: (489.1.13 codestyle)
  • Revision ID: brian@tangent.org-20081008022858-ea8esagkxmn0dupc
Merge of Monty's work.

Show diffs side-by-side

added added

removed removed

Lines of Context:
53
53
#include <sys/mman.h>
54
54
#endif
55
55
 
56
 
#ifndef USE_RAID
57
 
#define my_raid_create(A,B,C,D,E,F,G) my_create(A,B,C,G)
58
 
#define my_raid_delete(A,B,C) my_delete(A,B)
59
 
#endif
60
 
 
61
 
        /* Functions defined in this file */
 
56
/* Functions defined in this file */
62
57
 
63
58
static int check_k_link(MI_CHECK *param, MI_INFO *info,uint32_t nr);
64
59
static int chk_index(MI_CHECK *param, MI_INFO *info,MI_KEYDEF *keyinfo,
1464
1459
  if (!rep_quick)
1465
1460
  {
1466
1461
    /* Get real path for data file */
1467
 
    if ((new_file=my_raid_create(fn_format(param->temp_filename,
1468
 
                                           share->data_file_name, "",
1469
 
                                           DATA_TMP_EXT, 2+4),
1470
 
                                 0,param->tmpfile_createflag,
1471
 
                                 share->base.raid_type,
1472
 
                                 share->base.raid_chunks,
1473
 
                                 share->base.raid_chunksize,
1474
 
                                 MYF(0))) < 0)
 
1462
    if ((new_file=my_create(fn_format(param->temp_filename,
 
1463
                                      share->data_file_name, "",
 
1464
                                      DATA_TMP_EXT, 2+4),
 
1465
                            0,param->tmpfile_createflag,
 
1466
                            MYF(0))) < 0)
1475
1467
    {
1476
1468
      mi_check_print_error(param,"Can't create new tempfile: '%s'",
1477
 
                           param->temp_filename);
 
1469
                           param->temp_filename);
1478
1470
      goto err;
1479
1471
    }
1480
1472
    if (new_header_length &&
1481
1473
        filecopy(param,new_file,info->dfile,0L,new_header_length,
1482
 
                 "datafile-header"))
 
1474
                 "datafile-header"))
1483
1475
      goto err;
1484
1476
    info->s->state.dellink= HA_OFFSET_ERROR;
1485
1477
    info->rec_cache.file=new_file;
1635
1627
    if (new_file >= 0)
1636
1628
    {
1637
1629
      my_close(new_file,MYF(0));
1638
 
      my_raid_delete(param->temp_filename,info->s->base.raid_chunks,
1639
 
                     MYF(MY_WME));
 
1630
      my_delete(param->temp_filename, MYF(MY_WME));
1640
1631
      info->rec_cache.file=-1; /* don't flush data to new_file, it's closed */
1641
1632
    }
1642
1633
    mi_mark_crashed_on_repair(info);
2089
2080
  if (!rep_quick)
2090
2081
  {
2091
2082
    /* Get real path for data file */
2092
 
    if ((new_file=my_raid_create(fn_format(param->temp_filename,
2093
 
                                           share->data_file_name, "",
2094
 
                                           DATA_TMP_EXT, 2+4),
2095
 
                                 0,param->tmpfile_createflag,
2096
 
                                 share->base.raid_type,
2097
 
                                 share->base.raid_chunks,
2098
 
                                 share->base.raid_chunksize,
2099
 
                                 MYF(0))) < 0)
 
2083
    if ((new_file=my_create(fn_format(param->temp_filename,
 
2084
                                      share->data_file_name, "",
 
2085
                                      DATA_TMP_EXT, 2+4),
 
2086
                            0,param->tmpfile_createflag,
 
2087
                            MYF(0))) < 0)
2100
2088
    {
2101
2089
      mi_check_print_error(param,"Can't create new tempfile: '%s'",
2102
 
                           param->temp_filename);
 
2090
                           param->temp_filename);
2103
2091
      goto err;
2104
2092
    }
2105
2093
    if (new_header_length &&
2337
2325
    if (new_file >= 0)
2338
2326
    {
2339
2327
      my_close(new_file,MYF(0));
2340
 
      my_raid_delete(param->temp_filename,share->base.raid_chunks,
2341
 
                     MYF(MY_WME));
 
2328
      my_delete(param->temp_filename, MYF(MY_WME));
2342
2329
      if (info->dfile == new_file)
2343
 
        info->dfile= -1;
 
2330
        info->dfile= -1;
2344
2331
    }
2345
2332
    mi_mark_crashed_on_repair(info);
2346
2333
  }
2503
2490
  if (!rep_quick)
2504
2491
  {
2505
2492
    /* Get real path for data file */
2506
 
    if ((new_file=my_raid_create(fn_format(param->temp_filename,
2507
 
                                           share->data_file_name, "",
2508
 
                                           DATA_TMP_EXT,
2509
 
                                           2+4),
2510
 
                                 0,param->tmpfile_createflag,
2511
 
                                 share->base.raid_type,
2512
 
                                 share->base.raid_chunks,
2513
 
                                 share->base.raid_chunksize,
2514
 
                                 MYF(0))) < 0)
 
2493
    if ((new_file=my_create(fn_format(param->temp_filename,
 
2494
                                      share->data_file_name, "",
 
2495
                                      DATA_TMP_EXT,
 
2496
                                      2+4),
 
2497
                            0,param->tmpfile_createflag,
 
2498
                            MYF(0))) < 0)
2515
2499
    {
2516
2500
      mi_check_print_error(param,"Can't create new tempfile: '%s'",
2517
2501
                           param->temp_filename);
2851
2835
    if (new_file >= 0)
2852
2836
    {
2853
2837
      my_close(new_file,MYF(0));
2854
 
      my_raid_delete(param->temp_filename,share->base.raid_chunks,
2855
 
                     MYF(MY_WME));
 
2838
      my_delete(param->temp_filename, MYF(MY_WME));
2856
2839
      if (info->dfile == new_file)
2857
 
        info->dfile= -1;
 
2840
        info->dfile= -1;
2858
2841
    }
2859
2842
    mi_mark_crashed_on_repair(info);
2860
2843
  }