@ -1,5 +1,5 @@
/*
* $ PostgreSQL : pgsql / contrib / pageinspect / btreefuncs . c , v 1.8 2008 / 05 / 17 01 : 28 : 19 adunstan Exp $
* $ PostgreSQL : pgsql / contrib / pageinspect / btreefuncs . c , v 1.9 2009 / 03 / 31 22 : 54 : 31 tgl Exp $
*
*
* btreefuncs . c
@ -190,6 +190,16 @@ bt_page_stats(PG_FUNCTION_ARGS)
elog ( ERROR , " relation \" %s \" is not a btree index " ,
RelationGetRelationName ( rel ) ) ;
/*
* Reject attempts to read non - local temporary relations ; we would
* be likely to get wrong data since we have no visibility into the
* owning session ' s local buffers .
*/
if ( RELATION_IS_OTHER_TEMP ( rel ) )
ereport ( ERROR ,
( errcode ( ERRCODE_FEATURE_NOT_SUPPORTED ) ,
errmsg ( " cannot access temporary tables of other sessions " ) ) ) ;
if ( blkno = = 0 )
elog ( ERROR , " block 0 is a meta page " ) ;
@ -298,6 +308,16 @@ bt_page_items(PG_FUNCTION_ARGS)
elog ( ERROR , " relation \" %s \" is not a btree index " ,
RelationGetRelationName ( rel ) ) ;
/*
* Reject attempts to read non - local temporary relations ; we would
* be likely to get wrong data since we have no visibility into the
* owning session ' s local buffers .
*/
if ( RELATION_IS_OTHER_TEMP ( rel ) )
ereport ( ERROR ,
( errcode ( ERRCODE_FEATURE_NOT_SUPPORTED ) ,
errmsg ( " cannot access temporary tables of other sessions " ) ) ) ;
if ( blkno = = 0 )
elog ( ERROR , " block 0 is a meta page " ) ;
@ -437,6 +457,16 @@ bt_metap(PG_FUNCTION_ARGS)
elog ( ERROR , " relation \" %s \" is not a btree index " ,
RelationGetRelationName ( rel ) ) ;
/*
* Reject attempts to read non - local temporary relations ; we would
* be likely to get wrong data since we have no visibility into the
* owning session ' s local buffers .
*/
if ( RELATION_IS_OTHER_TEMP ( rel ) )
ereport ( ERROR ,
( errcode ( ERRCODE_FEATURE_NOT_SUPPORTED ) ,
errmsg ( " cannot access temporary tables of other sessions " ) ) ) ;
buffer = ReadBuffer ( rel , 0 ) ;
page = BufferGetPage ( buffer ) ;
metad = BTPageGetMeta ( page ) ;