Skip to content

Commit 8b1507e

Browse files
committed
Restore the original error for isc_tpb_[no_]rec_version version specified without isc_tpb_read_committed
1 parent 44e9748 commit 8b1507e

File tree

1 file changed

+9
-22
lines changed

1 file changed

+9
-22
lines changed

src/jrd/tra.cpp

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2942,17 +2942,6 @@ static void transaction_options(thread_db* tdbb,
29422942
Arg::Str("isc_tpb_consistency") << Arg::Str("isc_tpb_read_consistency"));
29432943
}
29442944

2945-
if (rec_version.isAssigned())
2946-
{
2947-
const auto tpbStr = rec_version.asBool() ?
2948-
"isc_tpb_rec_version" : "isc_tpb_no_rec_version";
2949-
2950-
ERR_post(Arg::Gds(isc_bad_tpb_content) <<
2951-
// 'Option @1 is not valid if @2 was used previously in TPB'
2952-
Arg::Gds(isc_tpb_conflicting_options) <<
2953-
Arg::Str("isc_tpb_consistency") << Arg::Str(tpbStr) );
2954-
}
2955-
29562945
if (shared_snapshot)
29572946
{
29582947
ERR_post(
@@ -2981,17 +2970,6 @@ static void transaction_options(thread_db* tdbb,
29812970
Arg::Str("isc_tpb_concurrency") << Arg::Str("isc_tpb_read_consistency"));
29822971
}
29832972

2984-
if (rec_version.isAssigned())
2985-
{
2986-
const auto tpbStr = rec_version.asBool() ?
2987-
"isc_tpb_rec_version" : "isc_tpb_no_rec_version";
2988-
2989-
ERR_post(Arg::Gds(isc_bad_tpb_content) <<
2990-
// 'Option @1 is not valid if @2 was used previously in TPB'
2991-
Arg::Gds(isc_tpb_conflicting_options) <<
2992-
Arg::Str("isc_tpb_concurrency") << Arg::Str(tpbStr) );
2993-
}
2994-
29952973
transaction->tra_flags &= ~TRA_degree3;
29962974
transaction->tra_flags &= ~(TRA_read_committed | TRA_read_consistency | TRA_rec_version);
29972975
break;
@@ -3527,6 +3505,15 @@ static void transaction_options(thread_db* tdbb,
35273505
}
35283506
}
35293507

3508+
if (rec_version.isAssigned() && !(transaction->tra_flags & TRA_read_committed))
3509+
{
3510+
const auto tpbStr = rec_version.asBool() ?
3511+
"isc_tpb_rec_version" : "isc_tpb_no_rec_version";
3512+
3513+
ERR_post(Arg::Gds(isc_bad_tpb_content) <<
3514+
Arg::Gds(isc_tpb_option_without_rc) << Arg::Str(tpbStr));
3515+
}
3516+
35303517
if ((transaction->tra_flags & TRA_read_committed) &&
35313518
!(transaction->tra_flags & TRA_read_consistency) &&
35323519
!(tdbb->tdbb_flags & TDBB_sweeper) &&

0 commit comments

Comments
 (0)