aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/jsonpath_exec.c
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2019-05-17 18:06:18 -0700
committerAndres Freund <andres@anarazel.de>2019-05-17 18:56:47 -0700
commit7f44ede5941499c4cee13b812dd93335f4005095 (patch)
tree7c3705c22e1d6f94644c3f05a20f8f8f8a699533 /src/backend/utils/adt/jsonpath_exec.c
parent6630ccad7a25cad32e2d1a6833fb971602cb67fe (diff)
downloadpostgresql-7f44ede5941499c4cee13b812dd93335f4005095.tar.gz
postgresql-7f44ede5941499c4cee13b812dd93335f4005095.zip
tableam: Don't assume that every AM uses md.c style storage.
Previously various parts of the code routed size requests through RelationGetNumberOfBlocks[InFork]. That works if md.c is used by the AM, but not otherwise. Add a tableam callback to return the size of the table. As not every AM will use postgres' BLCKSZ, have it return bytes, and have RelationGetNumberOfBlocksInFork() round the byte size up into blocks. To allow code outside of the AM to determine the actual relation size map InvalidForkNumber the total size of a relation, as not every AM might just need the postgres defined forks. A few users of RelationGetNumberOfBlocks() ought to be converted away from that. One case, the use of it to determine whether a tid is valid, will be fixed in a follow up commit. Others will have to wait for v13. Author: Andres Freund Discussion: https://postgr.es/m/20190423225201.3bbv6tbqzkb5w7cw@alap3.anarazel.de
Diffstat (limited to 'src/backend/utils/adt/jsonpath_exec.c')
0 files changed, 0 insertions, 0 deletions