File tree Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -797,3 +797,7 @@ AS 'MODULE_PATHNAME' LANGUAGE C STRICT PARALLEL RESTRICTED;
797
797
-- Wait merge completion
798
798
CREATE FUNCTION lsm3_wait_merge_completion (index regclass) returns void
799
799
AS ' MODULE_PATHNAME' LANGUAGE C STRICT PARALLEL RESTRICTED;
800
+
801
+ -- Get active top index size (number of blocks)
802
+ CREATE FUNCTION lsm3_top_index_size (index regclass) returns void
803
+ AS ' MODULE_PATHNAME' LANGUAGE C STRICT PARALLEL RESTRICTED;
Original file line number Diff line number Diff line change @@ -39,6 +39,7 @@ PG_FUNCTION_INFO_V1(lsm3_btree_wrapper);
39
39
PG_FUNCTION_INFO_V1 (lsm3_get_merge_count );
40
40
PG_FUNCTION_INFO_V1 (lsm3_start_merge );
41
41
PG_FUNCTION_INFO_V1 (lsm3_wait_merge_completion );
42
+ PG_FUNCTION_INFO_V1 (lsm3_top_index_size );
42
43
43
44
extern void _PG_init (void );
44
45
extern void _PG_fini (void );
@@ -1007,3 +1008,13 @@ lsm3_wait_merge_completion(PG_FUNCTION_ARGS)
1007
1008
}
1008
1009
PG_RETURN_NULL ();
1009
1010
}
1011
+
1012
+ Datum
1013
+ lsm3_top_index_size (PG_FUNCTION_ARGS )
1014
+ {
1015
+ Oid relid = PG_GETARG_OID (0 );
1016
+ Relation index = index_open (relid , AccessShareLock );
1017
+ Lsm3DictEntry * entry = lsm3_get_entry (index );
1018
+ index_close (index , AccessShareLock );
1019
+ PG_RETURN_INT32 (lsm3_get_index_size (lsm3_get_index_size (entry -> top [entry -> active_index ])));
1020
+ }
You can’t perform that action at this time.
0 commit comments