New command line arguments for GSTAT (-r and -t)

By: Quinn Wildman

Abstract: GSTAT for InterBase 6 has two new command line arguments which are undocumented.

New command line arguments for GSTAT with InterBase 6.

-t takes a list of table names separated by spaces

Note that the exect case of table names must be matched.

-r gives record version information. Example:
Average record length: 122.97, total records: 100000
Average version length: 0.00, total versions: 0, max versions: 0

First line is the average record length as stored on disk. This measures how well data is being compressed by InterBase. Total records is the total number of primary records in the table not including their back versions.

Second line, Average version length shows how well InterBase is compressing back versions. Total versions is the total number of back versions in the table. Max versions is the long back version chain for an individual record.

This information tries to mimic the kind of information already given for duplicates in indexes.

Example:

gstat proj.gdb -t BATHY_PORT -r

Database "proj.gdb"

Database header page information:
        Flags                   0
        Checksum                12345
        Generation              77
        Page size               4096
        ODS version             10.1
        Oldest transaction      61
        Oldest active           62
        Oldest snapshot         62
        Next transaction        65
        Bumped transaction      1
        Sequence number         0
        Next attachment ID      0
        Implementation ID       16
        Shadow count            0
        Page buffers            1000
        Next header page        0
        Database dialect        3
        Creation date           Sep 25, 2001 20:24:08
        Attributes

    Variable header data:
        Sweep interval:         20000
        *END*


Database file sequence:
File proj.gdb is the only file

Database log page information:
        Creation date
        Log flags:      2
                No write ahead log

        Next log page:  0

    Variable log data:
        Control Point 1:
                File name:
                Partition offset: 0     Seqno: 0        Offset: 0
        Control Point 2:
                File name:
                Partition offset: 0     Seqno: 0        Offset: 0
        Current File:
                File name:
                Partition offset: 0     Seqno: 0        Offset: 0
        *END*

Analyzing database pages ...

BATHY_PORT (148)
    Primary pointer page: 224, Index root page: 225
    Average record length: 122.97, total records: 100000
    Average version length: 0.00, total versions: 0, max versions: 0
    Data pages: 4000, data page slots: 4000, average fill: 86%
    Fill distribution:
         0 - 19% = 0
        20 - 39% = 0
        40 - 59% = 0
        60 - 79% = 0
        80 - 99% = 4000

    Index RDB$FOREIGN26 (1)
        Depth: 2, leaf buckets: 217, nodes: 100000
        Average data length: 2.00, total dup: 0, max dup: 0
        Fill distribution:
             0 - 19% = 0
            20 - 39% = 0
            40 - 59% = 0
            60 - 79% = 1
            80 - 99% = 216

    Index RDB$PRIMARY25 (0)
        Depth: 2, leaf buckets: 217, nodes: 100000
        Average data length: 2.00, total dup: 0, max dup: 0
        Fill distribution:
             0 - 19% = 0
            20 - 39% = 0
            40 - 59% = 0
            60 - 79% = 1
            80 - 99% = 216

Server Response from: ETNASC03