void FullContainerKey::toString(util::StackAllocator &alloc, util::String &str) const { try { FullContainerKeyComponents components; BitArray upperCaseBit(DEFAULT_UPPER_CASE_BIT_LENGTH); deserialize(alloc, components, upperCaseBit, true); str.clear(); if (components.baseNameSize_ > 0) { str.append(components.baseName_, components.baseNameSize_); } if (components.systemPartId_ != UNDEF_SYSTEM_PART_ID) { util::NormalOStringStream oss; oss << components.systemPartId_; str.append("#"); str.append(oss.str().c_str()); } else if (components.systemPart_ != NULL && components.systemPartSize_ > 0) { str.append("#"); str.append(components.systemPart_, components.systemPartSize_); } if (components.largeContainerId_ != UNDEF_LARGE_CONTAINERID) { util::NormalOStringStream oss; oss << components.largeContainerId_; str.append("@"); str.append(oss.str().c_str()); } if (components.affinityNumber_ != UNDEF_NODE_AFFINITY_NUMBER) { util::NormalOStringStream oss; oss << components.affinityNumber_; str.append("@"); str.append(oss.str().c_str()); } else if (components.affinityString_ != NULL && components.affinityStringSize_ > 0) { str.append("@"); str.append(components.affinityString_, components.affinityStringSize_); } } catch (std::exception &e) { GS_RETHROW_USER_ERROR_CODED(GS_ERROR_DS_DS_CONTAINER_NAME_INVALID, e, "failed to get container/table name"); } }