Subject Firebird API, specifying table reservation.
Author Henrik Sitter
Hello,

I'm working a bit with the Firebird API (version 1.0.0) and have the
following code for the Transaction Parameter Buffer (tpb):

static char isc_tpb[] = {isc_tpb_version3,
isc_tpb_write,
isc_tpb_read_committed,
isc_tpb_no_rec_version,
isc_tpb_wait,
isc_tpb_protected, isc_tpb_lock_write,
"LEVERANDOR"
};

isc_start_transaction(status_vector, &tr1, 1, &db1, static_cast<unsigned
short>(sizeof(isc_tpb)), isc_tpb);

This returns a transaction handle tr1 = 0.

If I change the code to:

static char isc_tpb[] = {isc_tpb_version3,
isc_tpb_write,
isc_tpb_read_committed,
isc_tpb_no_rec_version,
isc_tpb_wait,
};

isc_start_transaction(status_vector, &tr1, 1, &db1, static_cast<unsigned
short>(sizeof(isc_tpb)), isc_tpb);

that is if I drop specifying a table reservation for the table
LEVERANDOR, a valid transaction handle is returned.

So the question is, can/can't I use table reservation in Firebird
v.1.0.0, and if I can, what is the flaw in my code?

Henrik