LCOV - code coverage report
Current view: top level - contrib/pg_freespacemap - pg_freespacemap.c (source / functions) Hit Total Coverage
Test: PostgreSQL 13devel Lines: 0 11 0.0 %
Date: 2019-11-13 21:06:57 Functions: 0 3 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*-------------------------------------------------------------------------
       2             :  *
       3             :  * pg_freespacemap.c
       4             :  *    display contents of a free space map
       5             :  *
       6             :  *    contrib/pg_freespacemap/pg_freespacemap.c
       7             :  *-------------------------------------------------------------------------
       8             :  */
       9             : #include "postgres.h"
      10             : 
      11             : #include "access/relation.h"
      12             : #include "funcapi.h"
      13             : #include "storage/freespace.h"
      14             : 
      15           0 : PG_MODULE_MAGIC;
      16             : 
      17             : /*
      18             :  * Returns the amount of free space on a given page, according to the
      19             :  * free space map.
      20             :  */
      21           0 : PG_FUNCTION_INFO_V1(pg_freespace);
      22             : 
      23             : Datum
      24           0 : pg_freespace(PG_FUNCTION_ARGS)
      25             : {
      26           0 :     Oid         relid = PG_GETARG_OID(0);
      27           0 :     int64       blkno = PG_GETARG_INT64(1);
      28             :     int16       freespace;
      29             :     Relation    rel;
      30             : 
      31           0 :     rel = relation_open(relid, AccessShareLock);
      32             : 
      33           0 :     if (blkno < 0 || blkno > MaxBlockNumber)
      34           0 :         ereport(ERROR,
      35             :                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
      36             :                  errmsg("invalid block number")));
      37             : 
      38           0 :     freespace = GetRecordedFreeSpace(rel, blkno);
      39             : 
      40           0 :     relation_close(rel, AccessShareLock);
      41           0 :     PG_RETURN_INT16(freespace);
      42             : }

Generated by: LCOV version 1.13