Skip to content

Commit 5a5b8a2

Browse files
committed
Post-merge corrections: typo in doc, error messages, fixed error.
Thanks to Adriano for review.
1 parent ee3786e commit 5a5b8a2

5 files changed

Lines changed: 17 additions & 11 deletions

File tree

doc/sql.extensions/README.index_concurrently.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ create unique index on column with duplicates
8383

8484
create unique index idx_tab_id on tab(id);
8585

86-
it trows an error:
86+
it throws an error:
8787

8888
Statement failed, SQLSTATE = 23000
8989
attempt to store duplicate value (visible to active transactions) in unique index "IDX_TAB_ID"

src/dsql/DdlNodes.epp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13069,15 +13069,18 @@ void ModifyIndexNode::validateUniqueIndex(thread_db* tdbb, jrd_tra* transaction,
1306913069
IDX.RDB$INDEX_NAME EQ indexName.object.c_str()
1307013070
{
1307113071
if (IDX.RDB$INDEX_INACTIVE != 0)
13072-
status_exception::raise(Arg::Gds(isc_random) << "Can't validate inactive index");
13072+
status_exception::raise(Arg::Gds(isc_dyn_index_cant_validate_inactive));
13073+
// msg 328: "Can't validate inactive index"
1307313074

1307413075
if (IDX.RDB$UNIQUE_FLAG.NULL || !(IDX.RDB$UNIQUE_FLAG & IDX_UNIQUE))
13075-
status_exception::raise(Arg::Gds(isc_random) << "Can't validate non-unique index");
13076+
status_exception::raise(Arg::Gds(isc_dyn_index_cant_validate_non_unique));
13077+
// msg 329: "Can't validate non-unique index"
1307613078

1307713079
fb_assert(IDX.RDB$UNIQUE_FLAG & IDX_UNIQUE);
1307813080

1307913081
if (!(IDX.RDB$UNIQUE_FLAG & IDX_NOT_VALIDATED))
13080-
status_exception::raise(Arg::Gds(isc_random) << "Index uniqueness already validated");
13082+
status_exception::raise(Arg::Gds(isc_dyn_index_already_validated));
13083+
// msg 330: "Index uniqueness already validated"
1308113084

1308213085
const MetaId idxId = IDX.RDB$INDEX_ID - 1;
1308313086

@@ -13098,16 +13101,15 @@ void ModifyIndexNode::validateUniqueIndex(thread_db* tdbb, jrd_tra* transaction,
1309813101
{
1309913102
Arg::StatusVector err(ex);
1310013103

13101-
string msg;
13102-
msg.printf("Validation of unique index %s failed.", indexName.toQuotedString().c_str());
13103-
1310413104
if (!silent)
1310513105
{
13106-
err.prepend(Arg::Gds(isc_no_meta_update) << Arg::Gds(isc_random) << msg);
13106+
err.prepend(Arg::Gds(isc_no_meta_update) << Arg::Gds(isc_dyn_index_validation_failed) <<
13107+
indexName.toQuotedString());
1310713108
ERR_post(err);
1310813109
}
1310913110

13110-
err.prepend(Arg::Warning(isc_random) << msg);
13111+
// msg 331: "Uniqueness validation of the index @1 failed"
13112+
err.prepend(Arg::Warning(isc_dyn_index_validation_failed) << indexName.toQuotedString());
1311113113
ERR_post_warning(err);
1311213114
}
1311313115
}

src/include/firebird/impl/msg/dyn.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,3 +317,7 @@ FB_IMPL_MSG_SYMBOL(DYN, 324, dyn_constant_not_found, "Constant @1 not found")
317317
FB_IMPL_MSG_SYMBOL(DYN, 325, dyn_dup_const, "Constant @1 already exists")
318318
FB_IMPL_MSG_SYMBOL(DYN, 326, dyn_non_constant_constant, "The constant @1 must be initialized by a constant expression")
319319
FB_IMPL_MSG(DYN, 327, dyn_function_mismatch, -104, "42", "000", "Function @1 cannot change between aggregate and non-aggregate")
320+
FB_IMPL_MSG_SYMBOL(DYN, 328, dyn_index_cant_validate_inactive, "Can't validate inactive index")
321+
FB_IMPL_MSG_SYMBOL(DYN, 329, dyn_index_cant_validate_non_unique, "Can't validate non-unique index")
322+
FB_IMPL_MSG_SYMBOL(DYN, 330, dyn_index_already_validated, "Index uniqueness already validated")
323+
FB_IMPL_MSG_SYMBOL(DYN, 331, dyn_index_validation_failed, "Uniqueness validation of the index @1 failed")

src/jrd/dfw.epp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,7 @@ void Jrd::ProtectRelations::relLock::releaseLock(thread_db* tdbb, jrd_tra* trans
547547
m_lock->lck_logical = m_level;
548548
LCK_downgrade(tdbb, m_lock);
549549
}
550-
else
550+
else if (m_lock)
551551
LCK_release(tdbb, m_lock);
552552
}
553553

src/jrd/idx.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1993,7 +1993,7 @@ bool IDX_validate_unique(thread_db* tdbb, jrd_rel* relation, MetaId id)
19931993
for (RecordStack::iterator rec(stack); rec.hasData(); ++rec)
19941994
{
19951995
if (cmpRecordKeys(tdbb, rec.object(), relation, index,
1996-
rpb.rpb_record, relation, index))
1996+
rpb.rpb_record, relation, index))
19971997
{
19981998
IndexErrorContext context(relation, index);
19991999
context.raise(tdbb, idx_e_duplicate, rpb.rpb_record);

0 commit comments

Comments
 (0)