Exemplo n.º 1
0
 void
 test_recover (float load_factor, std::size_t count)
 {
     testcase << count << " inserts";
     path_type const path =
         beast::UnitTestUtilities::TempDirectory(
             "nudb").getFullPathName().toStdString();
     for (std::size_t n = 1;;++n)
     {
         try
         {
             fail_counter c(n);
             do_work (count, load_factor, path, c);
             break;
         }
         catch (nudb::fail_error const&)
         {
         }
         for (std::size_t m = 1;;++m)
         {
             fail_counter c(m);
             try
             {
                 do_recover (path, c);
                 break;
             }
             catch (nudb::fail_error const&)
             {
             }
         }
     }
 }
Exemplo n.º 2
0
    void
    test_recover (float load_factor, std::size_t count)
    {
        testcase << count << " inserts";

        beast::temp_dir tempDir;

        auto const path = tempDir.path();
        for (std::size_t n = 1;;++n)
        {
            try
            {
                fail_counter c(n);
                do_work (count, load_factor, path, c);
                break;
            }
            catch (nudb::fail_error const&)
            {
            }
            for (std::size_t m = 1;;++m)
            {
                fail_counter c(m);
                try
                {
                    do_recover (path, c);
                    break;
                }
                catch (nudb::fail_error const&)
                {
                }
            }
        }
    }
Exemplo n.º 3
0
/*
 * Temporary usage: run_queries <index file> <type> [length] [V]
 */
int main (int argc, char *argv[])
{
	int error = 0;
	error=0;
	char *filename;
	char querytype;
	int i;
	uint sampleK =1;
	
	if (argc < 6)	{
		print_search_usage(argv[0]);	
		exit (1);
	}
	
	filename = argv[1];
	sampleK = atoi(argv[2]);
	querytype = *argv[3];

	cerr << "\n SampleK value is " <<sampleK << " BUT IT IS NOT USING ACTUALLY";


	//parameters for intersect-operations
	char *params = NULL;
	int nchars, len;
	nchars = argc-5;
	//nchars = argc;
	
	for(i=4;i<argc;i++)
		nchars += strlen(argv[i]);
	
	params = (char *) malloc((nchars+1)*sizeof(char));
	params[nchars] = '\0';
	nchars = 0;
	for(i=5;i<argc;i++) {
		len = strlen(argv[i]);
		strncpy(params+nchars,argv[i],len);
		params[nchars+len] = ' ';
		nchars += len+1;
	}
	params[nchars-1] = '\0';
	// end parameters		

	
/**/	timeFile = fopen("timesSearch.txt","a");
/**/	initResults(argv[1],argv[1]);
/**/	fprintf(timeFile,"\n Searching!!: %s %s %s %s %s %s",argv[0],argv[1],argv[2],argv[3],argv[4], params);

	
	Load_time = getTime ();
	//error = load_il (filename, &Index);
	//IFERRORIL (error);

	g = new RepairPost(filename);
	
	Load_time = getTime () - Load_time;
	Load_time *= TIMEFACTOR_TO_SEC;
	fprintf (stderr, "Load index time = %.6f secs\n", Load_time);
	fflush(stderr);

	//error = setDefaultSearchOptions_il (Index, params);
	//IFERRORIL (error);

	//error = size_il(Index, &Index_size);
	//IFERRORIL (error);
	//error = size_il_uncompressed(Index, &Uncompressed_Index_size);
	//IFERRORIL (error);
	
	Index_size = g->size();
	Uncompressed_Index_size = g->sizeUncompressed;
	fprintf(stderr,"Index size = %u bytes\n", Index_size); fflush(stderr);
	Index_size /=1024;
	fprintf(stderr,"Index size = %u Kb\n", Index_size); fflush(stderr);

	switch (querytype){

		case EXTRACT:
			if (argc < 6) {
				print_search_usage(argv[0]);	
				exit (1);
			}
			if (argc > 6) 
				if (*argv[6] == VERBOSE){
						Verbose = 1;
						fprintf(stderr,"%c", EXTRACT);

				}
			do_extract((uint) atoi(argv[4]), (uint) atoi(argv[5]) );
			break;

		case RECOVER:
			printf("\n******** %d ******\n" , argc); fflush(stdout);fflush(stderr);
			if (argc < 6) {
				print_search_usage(argv[0]);	
				exit (1);
			}

			if (argc > 6) 
				if (*argv[6] == VERBOSE){
						Verbose = 1;
						fprintf(stderr,"%c", RECOVER);
				}

			do_recover(filename);
			break;

		case INTERSECT2_SVS_U:
			if (argc < 6) {
				print_search_usage(argv[0]);	
				exit (1);
			}
			if (argc > 6) 
				if (*argv[6] == VERBOSE){
						Verbose = 1;
						fprintf(stderr,"%c", INTERSECT2_SVS_U);

				}
			do_intersect2svsUnc((uint) atoi(argv[4]), (uint) atoi(argv[5]) );
			break;

		case INTERSECT2_MERGE:
			if (argc < 6) {
				print_search_usage(argv[0]);	
				exit (1);
			}
			if (argc > 6) 
				if (*argv[6] == VERBOSE){
						Verbose = 1;
						fprintf(stderr,"%c", INTERSECT2_MERGE);

				}
			do_intersect2merge((uint) atoi(argv[4]), (uint) atoi(argv[5]) );

			break;

						
		default:
			fprintf (stderr, "Unknow option: main ru\n");
			exit (1);
	}

	//error = free_il(Index);
	//IFERRORIL(error);
	delete g;

/**/ fclose(timeFile);

	free(params);

	return 0;
}