Subject Re: [ib-support] What the following db_info_types items ar for?
Author Ann W. Harrison
At 11:30 PM 10/6/2002 +0000, bebekis wrote:

>What the following db_info_types items ar for?

> isc_info_tpage_errors ( what a tpage is? Trans Info pages?)

Validation results are returned through info blocks. This
item returns the number of transaction inventory page errors.

> isc_info_ppage_errors ( what a ppage is?)

This returns the number of pointer pages errors.

> isc_info_window_turns (found only in ibase.h)

Unused, included for compatibility with Rdb/VMS and refers
to a VMS performance metric

> isc_info_license (is it used anywhere?)

Not in Firebird. It is used in commercial versions of
Interbase.

> isc_info_logfile
> isc_info_cur_log_part_offset?
> isc_info_num_wal_buffers?
> isc_info_wal_XXXX?
>
>BTW what is that WAL API? (a security API or something?)

Borland abandoned a project to add a write ahead log
(WAL) to InterBase. These are some of the remnants.

>
> isc_info_set_page_buffers? ( how this relates to
>isc_info_num_buffers? )

The first returns the default number of page buffers
for the database. The second returns the actual number.

>What isc_tpb_autocommit does and how can I use it?
>Does it mean that if I have it icluded in the buffer then
>there is no need to call isc_commit_transaction()?

That appears to be the case, though why anyone would use
it is beyond my comprehension. Why bother with a database
if you don't care about consistency?

Beyond that philosophical issue, there's this intriguing
comment.

/*
* Perform an auto commit for autocommit transactions.
* This is slightly tricky. If the commit retain works,
* all is well. If TRA_commit () fails, we perform
* a rollback_retain (). This will backout the
* effects of the transaction, mark it dead and
* start a new transaction.

* For now only ExpressLink will use this feature. Later
* a new entry point may be added.
*/

Special purpose features always make me queasy.

>Can I use the isc_tpb_exclusive verb in a way similar to how
>isc_tpd_shared and isc_tpd_protected are documented?

Yes. However, an exclusive read turns into a protected read
automatically.

>What the
> isc_tpb_verb_time
> isc_tpb_commit_time

Apparently unused - may be related to constraint evaluation...

> isc_tpb_ignore_limbo

Ordinarily a "limbo" transaction - one which has started but
not completed a two phase commit - will block other transactions.
This option allows a transaction to ignore such records, allowing,
for example, backup to run unimpeded.

> isc_tpb_restart_requests

It appears that this option restarts all requests that have
been compiled against the attachment. It is part of the
general PC_ENGINE conditional code, intended for dbase emulation.
The chances that it works are slim and the odd that if it does
anything you'll regret having tried it are overwhelming.

> isc_tpb_no_auto_undo

In the old days, when a transaction rolled back, its changes
were left in the database until someone else found and removed
them. Now, transactions keep an undo log so a rollback under
program control can undo its own changes. This tpb option says
that the transaction is going to make a lot of changes and
doesn't need an auto undo (e.g. restoring a backup).





Regards,

Ann
www.ibphoenix.com
We have answers.