1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-30 11:03:19 +03:00

Show empty BRIN ranges in brin_page_items

Commit 3581cbdcd6 added a flag to identify empty BRIN ranges. This adds
the new flag to brin_page_items() output.

This is kept as a separate commit as it should not be backpatched.

Reviewed-by: Justin Pryzby, Matthias van de Meent, Alvaro Herrera
Discussion: https://postgr.es/m/402430e4-7d9d-6cf1-09ef-464d80afff3b@enterprisedb.com
This commit is contained in:
Tomas Vondra
2023-05-19 01:53:30 +02:00
parent 3581cbdcd6
commit 428c0cae92
5 changed files with 48 additions and 29 deletions

View File

@ -201,8 +201,8 @@ brin_page_items(PG_FUNCTION_ARGS)
dtup = NULL;
for (;;)
{
Datum values[7];
bool nulls[7] = {0};
Datum values[8];
bool nulls[8] = {0};
/*
* This loop is called once for every attribute of every tuple in the
@ -239,6 +239,7 @@ brin_page_items(PG_FUNCTION_ARGS)
nulls[4] = true;
nulls[5] = true;
nulls[6] = true;
nulls[7] = true;
}
else
{
@ -261,6 +262,7 @@ brin_page_items(PG_FUNCTION_ARGS)
values[3] = BoolGetDatum(dtup->bt_columns[att].bv_allnulls);
values[4] = BoolGetDatum(dtup->bt_columns[att].bv_hasnulls);
values[5] = BoolGetDatum(dtup->bt_placeholder);
values[6] = BoolGetDatum(dtup->bt_empty_range);
if (!dtup->bt_columns[att].bv_allnulls)
{
BrinValues *bvalues = &dtup->bt_columns[att];
@ -286,12 +288,12 @@ brin_page_items(PG_FUNCTION_ARGS)
}
appendStringInfoChar(&s, '}');
values[6] = CStringGetTextDatum(s.data);
values[7] = CStringGetTextDatum(s.data);
pfree(s.data);
}
else
{
nulls[6] = true;
nulls[7] = true;
}
}