mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 10:03:03 +01:00
Fixed SF #1292106.
This commit is contained in:
parent
4b4a800320
commit
9c4e81ad19
@ -457,18 +457,27 @@ bool RSE_get_record(thread_db* tdbb, RecordSource* rsb, RSE_GET_MODE mode)
|
||||
|
||||
// Skip nodes without streams
|
||||
while (table_rsb->rsb_type == rsb_boolean ||
|
||||
table_rsb->rsb_type == rsb_first ||
|
||||
table_rsb->rsb_type == rsb_skip)
|
||||
table_rsb->rsb_type == rsb_sort ||
|
||||
table_rsb->rsb_type == rsb_first ||
|
||||
table_rsb->rsb_type == rsb_skip)
|
||||
{
|
||||
table_rsb = table_rsb->rsb_next;
|
||||
}
|
||||
|
||||
// Raise error if we cannot lock this kind of stream
|
||||
if (table_rsb->rsb_type != rsb_sequential &&
|
||||
table_rsb->rsb_type != rsb_indexed &&
|
||||
table_rsb->rsb_type != rsb_navigate)
|
||||
{
|
||||
ERR_post(isc_record_lock_not_supp, 0);
|
||||
}
|
||||
|
||||
record_param* org_rpb = request->req_rpb + table_rsb->rsb_stream;
|
||||
jrd_rel* relation = org_rpb->rpb_relation;
|
||||
|
||||
// Raise error if we cannot lock this kind of stream
|
||||
if (!relation || relation->rel_view_rse || relation->rel_file) {
|
||||
ERR_post(isc_random, isc_arg_string, "Unsupported RSE construct for blr_writelock operation", 0);
|
||||
ERR_post(isc_record_lock_not_supp, 0);
|
||||
}
|
||||
|
||||
RLCK_reserve_relation(tdbb, transaction, relation, true, true);
|
||||
|
Loading…
Reference in New Issue
Block a user