mirror of
https://github.com/postgres/postgres.git
synced 2025-07-15 19:21:59 +03:00
Fix assorted compiler warnings seen in the buildfarm.
Failure to use DatumGetFoo/FooGetDatum macros correctly, or at all, causes some warnings about sign conversion. This is just cosmetic at the moment but in principle it's a type violation, so clean up the instances I could find. autoprewarm.c and sharedfileset.c contained code that unportably assumed that pid_t is the same size as int. We've variously dealt with this by casting pid_t to int or to unsigned long for printing purposes; I went with the latter. Fix uninitialized-variable warning in RestoreGUCState. This is a live bug in some sense, but of no great significance given that nobody is very likely to care what "line number" is associated with a GUC that hasn't got a source file recorded.
This commit is contained in:
@ -343,6 +343,7 @@ jsonb_in_scalar(void *pstate, char *token, JsonTokenType tokentype)
|
||||
{
|
||||
JsonbInState *_state = (JsonbInState *) pstate;
|
||||
JsonbValue v;
|
||||
Datum numd;
|
||||
|
||||
switch (tokentype)
|
||||
{
|
||||
@ -361,18 +362,19 @@ jsonb_in_scalar(void *pstate, char *token, JsonTokenType tokentype)
|
||||
*/
|
||||
Assert(token != NULL);
|
||||
v.type = jbvNumeric;
|
||||
v.val.numeric = DatumGetNumeric(DirectFunctionCall3(numeric_in, CStringGetDatum(token), 0, -1));
|
||||
|
||||
numd = DirectFunctionCall3(numeric_in,
|
||||
CStringGetDatum(token),
|
||||
ObjectIdGetDatum(InvalidOid),
|
||||
Int32GetDatum(-1));
|
||||
v.val.numeric = DatumGetNumeric(numd);
|
||||
break;
|
||||
case JSON_TOKEN_TRUE:
|
||||
v.type = jbvBool;
|
||||
v.val.boolean = true;
|
||||
|
||||
break;
|
||||
case JSON_TOKEN_FALSE:
|
||||
v.type = jbvBool;
|
||||
v.val.boolean = false;
|
||||
|
||||
break;
|
||||
case JSON_TOKEN_NULL:
|
||||
v.type = jbvNull;
|
||||
@ -772,9 +774,14 @@ datum_to_jsonb(Datum val, bool is_null, JsonbInState *result,
|
||||
strchr(outputstr, 'n') != NULL);
|
||||
if (!numeric_error)
|
||||
{
|
||||
jb.type = jbvNumeric;
|
||||
jb.val.numeric = DatumGetNumeric(DirectFunctionCall3(numeric_in, CStringGetDatum(outputstr), 0, -1));
|
||||
Datum numd;
|
||||
|
||||
jb.type = jbvNumeric;
|
||||
numd = DirectFunctionCall3(numeric_in,
|
||||
CStringGetDatum(outputstr),
|
||||
ObjectIdGetDatum(InvalidOid),
|
||||
Int32GetDatum(-1));
|
||||
jb.val.numeric = DatumGetNumeric(numd);
|
||||
pfree(outputstr);
|
||||
}
|
||||
else
|
||||
|
Reference in New Issue
Block a user