MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / validateUniquenessConstraint

Method validateUniquenessConstraint

src/storage/table/node_table.cpp:408–422  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

406 TableScanState& scanState) const;
407
408offset_t NodeTable::validateUniquenessConstraint(const Transaction* transaction,
409 const std::vector<ValueVector*>& propertyVectors) const {
410 const auto pkVector = propertyVectors[pkColumnID];
411 DASSERT(pkVector->state->getSelVector().getSelSize() == 1);
412 const auto pkVectorPos = pkVector->state->getSelVector()[0];
413 if (offset_t offset = INVALID_OFFSET;
414 lookupPK(transaction, propertyVectors[pkColumnID], pkVectorPos, offset)) {
415 return offset;
416 }
417 if (const auto localTable = transaction->getLocalStorage()->getLocalTable(tableID)) {
418 return localTable->cast<LocalNodeTable>().validateUniquenessConstraint(transaction,
419 *pkVector);
420 }
421 return INVALID_OFFSET;
422}
423
424void NodeTable::validatePkNotExists(const Transaction* transaction, ValueVector* pkVector) const {
425 offset_t dummyOffset = INVALID_OFFSET;

Callers 1

checkConflictMethod · 0.45

Calls 2

getSelSizeMethod · 0.80
getLocalTableMethod · 0.80

Tested by

no test coverage detected