You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In tra.cpp:transaction_options() we supposedly parse and validate transaction options given in a TPB. However, we have left alive the old bugs coming from IB for years. Example:
- it's possible to make engine read past the end of the TPB stream (for example, giving a table with length indicator being bigger than the remaining bytes in the TPB stream)
- it's possible to select options that conflict with other related options (for example, rec_version & no_rec_version without read_committed)
- it's possible to select conflicting options inside the same category (for example, both read_committed and snapshot, read_only v/s write right for the txn)
- it's possible to put options that only make sense after a relation, before any relation is specified. They will be ignored silently (for example, isc_tpb_protected)
- it's possible to make the engine read trash for the isc_tpb_lock_timeout tag's numeric parameter.