Subject RE: [IB-Architect] Insert Speed
Author Ann Harrison
At 12:16 AM 4/9/00 -0400, Claudio Valderrama C. wrote:

> Some specific points, hope brief to answer:
>- When I look at rdb$pages, am I watching at the PIP or at a high level view
>of the PIP or they are not related at all?

Except in the sense that everything is related to a PIP,
no, RDB$PAGES is not related to the PIP. RDB$PAGES records
"interesting" pages: header, index root, pointer, TIP. The
translation from page types to numbers is:

/* Page types */

#define pag_undefined 0
#define pag_header 1 /* Database header page */
#define pag_pages 2 /* Page inventory page */
#define pag_transactions 3 /* Transaction inventory page */
#define pag_pointer 4 /* Pointer page */
#define pag_data 5 /* Data page */
#define pag_root 6 /* Index root page */
#define pag_index 7 /* Index (B-tree) page */
#define pag_blob 8 /* Blob data page */
#define pag_ids 9 /* Gen-ids */
#define pag_log 10 /* Write ahead log information */
#define pag_max 10 /* Max page type */

>- About generator pages, can I assume there're no practical limits on the
>number of generators? When I no longer need one of these, if I delete the
>appropriate entry in rdb$generators, will the "deleted generator" remain
>anyway for all the lifetime of the database? Can I get rid of it with a
>backup/restore since there's no DROP GENERATOR command? I don't expect an
>unused generator to hold too much space, so this question is motivated
>mainly by curiosity.

When you delete a generator, you drop 32 bits (64 for V6) into
the great bit bucket. Restore recreates (and sets) all the
generator values and makes the pages dense again. The bookkeeping
involved in reusing those bits dynamically is simply not worth
the effort.