mirror of
https://abf.rosa.ru/djam/firebird.git
synced 2025-02-23 08:02:51 +00:00
32 lines
833 B
Diff
32 lines
833 B
Diff
--- src/jrd/vio.cpp 2011/09/29 03:27:33 53487
|
|
+++ jrd/vio.cpp 2011/09/29 07:45:12 53488
|
|
@@ -1821,7 +1821,6 @@
|
|
|
|
|
|
bool VIO_get_current(thread_db* tdbb,
|
|
- //record_param* old_rpb,
|
|
record_param* rpb,
|
|
jrd_tra* transaction,
|
|
MemoryPool* pool,
|
|
@@ -2025,12 +2024,14 @@
|
|
if (rpb->rpb_flags & rpb_deleted)
|
|
return !foreign_key;
|
|
|
|
- if (rpb->rpb_flags & rpb_uk_modified)
|
|
- return !foreign_key;
|
|
-
|
|
- // clear lock error from status vector
|
|
- fb_utils::init_status(tdbb->tdbb_status_vector);
|
|
- return true;
|
|
+ if (foreign_key)
|
|
+ {
|
|
+ // clear lock error from status vector
|
|
+ fb_utils::init_status(tdbb->tdbb_status_vector);
|
|
+ return !(rpb->rpb_flags & rpb_uk_modified);
|
|
+ }
|
|
+
|
|
+ return !foreign_key;
|
|
|
|
case tra_dead:
|
|
if (transaction->tra_attachment->att_flags & ATT_no_cleanup) {
|
|
|