home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / database / db12 / rtest.c < prev    next >
Encoding:
C/C++ Source or Header  |  1987-11-15  |  2.9 KB  |  113 lines

  1. /*
  2.  *      rtest
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include "db.h"
  7.  
  8. main()
  9. {
  10.         DATA_SET ds;
  11.         char     data[50];
  12.         int      i;
  13.  
  14.         printf("rtest - Test random file routines\n\n");
  15.         rcreate();
  16.         printf("...test file created...\n\n");
  17.  
  18.         ds = db_open("", "rtest.dat");
  19.         if (db_error)
  20.         {       printf("Open Failure - %s\n", db_error_msg(db_error));
  21.                 exit(0);
  22.         }
  23.  
  24.         printf("...adding 100 records...\n");
  25.         for (i=1; i<100; i++)
  26.         {       printf("%d\n",i);
  27.                 sprintf(data,"%05d",i);
  28.                 db_add(ds, data);
  29.                 if (db_error)
  30.                 {       printf("Add Failure - %s\n", db_error_msg(db_error));
  31.                         exit(0);
  32.                 }
  33.         }
  34.         printf("...add complete...\n\n");
  35.  
  36.     printf("...read forward...\n");
  37.     db_read_first(ds, data);
  38.     while (!db_error)
  39.     {    printf("%5.5s\n", data);
  40.         db_read_next(ds, data);
  41.     }
  42.     printf("...read forward complete...\n\n");
  43.  
  44.     printf("...read reverse...\n");
  45.     db_read_last(ds, data);
  46.     while (!db_error)
  47.     {    printf("%5.5s\n", data);
  48.         db_read_prev(ds, data);
  49.     }
  50.     printf("...read reverse complete...\n\n");
  51.  
  52.         printf("...find and delete...\n");
  53.         for (i=1; i<100; i++)
  54.         {       printf("%d\n",i);
  55.                 sprintf(data,"%05d",i);
  56.  
  57.                 db_find(ds, data, data);
  58.                 if (db_error)
  59.                         printf("Find Failure - %s\n", db_error_msg(db_error));
  60.  
  61.                 db_delete(ds);
  62.                 if (db_error)
  63.                         printf("Delete Failure - %s\n", db_error_msg(db_error));
  64.  
  65.         }
  66.         printf("...find and delete complete...\n\n");
  67.  
  68.         printf("...adding 100 records (again) ...\n");
  69.         for (i=1; i<100; i++)
  70.         {       printf("%d\n",i);
  71.                 sprintf(data,"%05d",i);
  72.                 db_add(ds, data);
  73.                 if (db_error)
  74.                 {       printf("Add Failure - %s\n", db_error_msg(db_error));
  75.                         exit(0);
  76.                 }
  77.         }
  78.         printf("...add complete...\n\n");
  79.  
  80.         db_close(ds);
  81.         unlink("rtest.dat");
  82. }
  83.  
  84. /*
  85.  *      rcreate - create our test random file
  86.  */
  87.  
  88. rcreate()
  89. {
  90.         FILE_HDR fh;
  91.         DATA_SET ds;
  92.         char    *calloc();
  93.  
  94.         fh = (FILE_HDR) calloc(1, sizeof(struct db_file_hdr));
  95.  
  96.         fh->fh_file_type    = DB_RANDOM;
  97.         fh->fh_data_size    =  50;
  98.         fh->fh_base_size    =   7;
  99.         fh->fh_key_size     =   5;
  100.  
  101.         ds = db_create("", "rtest.dat", fh);
  102.         if (db_error)
  103.         {       printf("Create Failure - %s\n", db_error_msg(db_error));
  104.                 exit(0);
  105.         }
  106.  
  107.         db_close(ds);
  108.         if (db_error)
  109.         {       printf("Close Failure - %s\n", db_error_msg(db_error));
  110.                 exit(0);
  111.         }
  112. }
  113.