NABoolean isHBaseUmdHistograms(const QualifiedName& qualifiedName) { return ( HSGlobalsClass::isHBaseUMDHistogram( qualifiedName.getQualifiedNameAsAnsiString() ) && HSGlobalsClass::isTrafodionCatalog(qualifiedName.getCatalogName()) ); }
CharInfo::Collation CollationDB::insert(QualifiedName &qn, const SchemaName *defaultSchema, CollationInfo::CollationFlags flags) { Int32 defaultMatchCount = 0; if (defaultSchema) defaultMatchCount = qn.applyDefaults(*defaultSchema); CMPASSERT(!qn.getCatalogName().isNull()); // fully qualified w/ all defaults size_t siz[CollationInfo::SIZEARRAY_SIZE]; NAString nam(qn.getQualifiedNameAsAnsiString(siz)); CMPASSERT(siz[0] == 3); // fully qualified w/ all defaults return insert(nam, siz, flags, defaultMatchCount); }
NABoolean CmpSqlSession::validateVolatileQualifiedName(QualifiedName &inName) { if (NOT Get_SqlParser_Flags(ALLOW_VOLATILE_SCHEMA_IN_TABLE_NAME)) { if (NOT inName.getCatalogName().isNull()) { // cannot be a 3-part name *CmpCommon::diags() << DgSqlCode(-4192); return FALSE; } if (NOT inName.getSchemaName().isNull()) { // validate that the schemaName part is the currentUserName if (inName.getSchemaName() != externalUserName_) { *CmpCommon::diags() << DgSqlCode(-4191) << DgString0(inName.getSchemaName()) << DgString1(externalUserName_); return FALSE; } } } else { // Volatile schema name is allowed. // Make sure that it is a valid volatile 3 part name. if ((NOT inName.getCatalogName().isNull()) && (NOT inName.getSchemaName().isNull())) { // move to a temp to upcase ComSchemaName csn(inName.getSchemaName()); ULng32 len = MINOF(strlen(csn.getSchemaNamePartAsAnsiString().data()), strlen(COM_VOLATILE_SCHEMA_PREFIX)); NAString upSch(csn.getSchemaNamePartAsAnsiString().data()); upSch.toUpper(); if ((len < strlen(COM_VOLATILE_SCHEMA_PREFIX)) || (strncmp(upSch.data(), COM_VOLATILE_SCHEMA_PREFIX, len) != 0)) { *CmpCommon::diags() << DgSqlCode(-4192); return FALSE; } } else if (NOT inName.getSchemaName().isNull()) { // 2 part name // validate that the schemaName part is the currentUserName if (inName.getSchemaName() != externalUserName_) { *CmpCommon::diags() << DgSqlCode(-4191) << DgString0(inName.getSchemaName()) << DgString1(externalUserName_); return FALSE; } } } return TRUE; }