Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5635c7a

Browse files
committed
Fix portability and translatability issues in commit64f8589.
Compilation failed for lack of an #ifdef on builds withoutpg_strong_random(). Also fix relevant error messages to meetproject style guidelines.Fabien Coelho, further adjusted by meDiscussion:https://postgr.es/m/32390.1522464534@sss.pgh.pa.us
1 parentb0c90c8 commit5635c7a

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

‎src/bin/pgbench/pgbench.c

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4669,8 +4669,8 @@ printResults(TState *threads, StatsData *total, instr_time total_time,
46694669
}
46704670

46714671
/* call srandom based on some seed. NULL triggers the default behavior. */
4672-
staticvoid
4673-
set_random_seed(constchar*seed,constchar*origin)
4672+
staticbool
4673+
set_random_seed(constchar*seed)
46744674
{
46754675
/* srandom expects an unsigned int */
46764676
unsignedintiseed;
@@ -4685,10 +4685,14 @@ set_random_seed(const char *seed, const char *origin)
46854685
elseif (strcmp(seed,"rand")==0)
46864686
{
46874687
/* use some "strong" random source */
4688+
#ifdefHAVE_STRONG_RANDOM
46884689
if (!pg_strong_random(&iseed,sizeof(iseed)))
4690+
#endif
46894691
{
4690-
fprintf(stderr,"cannot seed random from a strong source\n");
4691-
exit(1);
4692+
fprintf(stderr,
4693+
"cannot seed random from a strong source, none available: "
4694+
"use \"time\" or an unsigned integer value.\n");
4695+
return false;
46924696
}
46934697
}
46944698
else
@@ -4698,9 +4702,9 @@ set_random_seed(const char *seed, const char *origin)
46984702
if (sscanf(seed,"%u%c",&iseed,&garbage)!=1)
46994703
{
47004704
fprintf(stderr,
4701-
"error while scanning '%s' from %s, expecting an unsigned integer,'time' or'rand'\n",
4702-
seed,origin);
4703-
exit(1);
4705+
"unrecognized random seed option \"%s\": expecting an unsigned integer,\"time\" or\"rand\"\n",
4706+
seed);
4707+
return false;
47044708
}
47054709
}
47064710

@@ -4709,6 +4713,7 @@ set_random_seed(const char *seed, const char *origin)
47094713
srandom(iseed);
47104714
/* no precision loss: 32 bit unsigned int cast to 64 bit int */
47114715
random_seed=iseed;
4716+
return true;
47124717
}
47134718

47144719

@@ -4823,7 +4828,11 @@ main(int argc, char **argv)
48234828
memset(state,0,sizeof(CState));
48244829

48254830
/* set random seed early, because it may be used while parsing scripts. */
4826-
set_random_seed(getenv("PGBENCH_RANDOM_SEED"),"PGBENCH_RANDOM_SEED environment variable");
4831+
if (!set_random_seed(getenv("PGBENCH_RANDOM_SEED")))
4832+
{
4833+
fprintf(stderr,"error while setting random seed from PGBENCH_RANDOM_SEED environment variable\n");
4834+
exit(1);
4835+
}
48274836

48284837
while ((c=getopt_long(argc,argv,"iI:h:nvp:dqb:SNc:j:Crs:t:T:U:lf:D:F:M:P:R:L:",long_options,&optindex))!=-1)
48294838
{
@@ -5099,7 +5108,11 @@ main(int argc, char **argv)
50995108
break;
51005109
case9:/* random-seed */
51015110
benchmarking_option_set= true;
5102-
set_random_seed(optarg,"--random-seed option");
5111+
if (!set_random_seed(optarg))
5112+
{
5113+
fprintf(stderr,"error while setting random seed from --random-seed option\n");
5114+
exit(1);
5115+
}
51035116
break;
51045117
default:
51055118
fprintf(stderr,_("Try \"%s --help\" for more information.\n"),progname);

‎src/bin/pgbench/t/002_pgbench_no_server.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ sub pgbench_scripts
111111
[qr{unrecognized initialization step},
112112
qr{allowed steps are} ] ],
113113
['bad random seed','--random-seed=one',
114-
[qr{error while scanning 'one' from --random-seed option, expecting an unsigned integer} ] ],
114+
[qr{unrecognized random seed option "one": expecting an unsigned integer, "time" or "rand"},
115+
qr{error while setting random seed from --random-seed option} ] ],
115116

116117
# loging sub-options
117118
['sampling => log','--sampling-rate=0.01',

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp