mirror of
https://github.com/postgres/postgres.git
synced 2025-11-18 02:02:55 +03:00
Mop-up for Datum conversion cleanups.
Fix a couple more places where an explicit Datum conversion
is needed (not clear how we missed these in ff89e182d and
previous commits).
Replace the minority usage "(Datum) NULL" with "(Datum) 0".
The former depends on the assumption that Datum is the same
width as Pointer, the latter doesn't. Anyway consistency
is a good thing.
This is, I believe, the last of the notational mop-up needed
before we can consider changing Datum to uint64 everywhere.
It's also important cleanup for more aggressive ideas such
as making Datum a struct.
Discussion: https://postgr.es/m/1749799.1752797397@sss.pgh.pa.us
Discussion: https://postgr.es/m/8246d7ff-f4b7-4363-913e-827dadfeb145@eisentraut.org
This commit is contained in:
@@ -2027,7 +2027,7 @@ each_worker_jsonb(FunctionCallInfo fcinfo, const char *funcname, bool as_text)
|
||||
{
|
||||
/* a json null is an sql null in text mode */
|
||||
nulls[1] = true;
|
||||
values[1] = (Datum) NULL;
|
||||
values[1] = (Datum) 0;
|
||||
}
|
||||
else
|
||||
values[1] = PointerGetDatum(JsonbValueAsText(&v));
|
||||
@@ -2266,7 +2266,7 @@ elements_worker_jsonb(FunctionCallInfo fcinfo, const char *funcname,
|
||||
{
|
||||
/* a json null is an sql null in text mode */
|
||||
nulls[0] = true;
|
||||
values[0] = (Datum) NULL;
|
||||
values[0] = (Datum) 0;
|
||||
}
|
||||
else
|
||||
values[0] = PointerGetDatum(JsonbValueAsText(&v));
|
||||
@@ -2389,7 +2389,7 @@ elements_array_element_end(void *state, bool isnull)
|
||||
if (isnull && _state->normalize_results)
|
||||
{
|
||||
nulls[0] = true;
|
||||
values[0] = (Datum) NULL;
|
||||
values[0] = (Datum) 0;
|
||||
}
|
||||
else if (_state->next_scalar)
|
||||
{
|
||||
|
||||
@@ -1343,9 +1343,9 @@ range_fast_cmp(Datum a, Datum b, SortSupport ssup)
|
||||
cmp = range_cmp_bounds(typcache, &upper1, &upper2);
|
||||
}
|
||||
|
||||
if ((Datum) range_a != a)
|
||||
if ((Pointer) range_a != DatumGetPointer(a))
|
||||
pfree(range_a);
|
||||
if ((Datum) range_b != b)
|
||||
if ((Pointer) range_b != DatumGetPointer(b))
|
||||
pfree(range_b);
|
||||
|
||||
return cmp;
|
||||
|
||||
Reference in New Issue
Block a user