const NAString ElemDDLFileAttrMVCommitEach::displayLabel1() const { char buffer[80]; sprintf(buffer, "%d", getNRows()); return NAString("nrows: ") + NAString(buffer); }
const NAString ElemDDLFileAttrLockLength::displayLabel1() const { char buffer[80]; sprintf(buffer, "%d", getLockLength()); return NAString("Lock length: ") + NAString(buffer); }
const NAString ElemDDLFileAttrAllocate::displayLabel1() const { char buffer[80]; sprintf(buffer, "%d", getExtentsToAllocate()); return NAString("Allocate Extents: ") + NAString(buffer); }
const NAString ElemDDLFileAttrMaxSize::displayLabel2() const { char buffer[80]; sprintf(buffer, "%d", getMaxSize()); return NAString("Size: ") + NAString(buffer); }
const NAString ElemDDLFileAttrBlockSize::displayLabel1() const { char buffer[80]; sprintf(buffer, "%d", getBlockSize()); return NAString("Block size: ") + NAString(buffer); }
const NAString ElemDDLPartitionRange::displayLabel1() const { if (getLocationName().length() NEQ 0) return NAString("Location name: ") + getLocationName(); else return NAString("Location name not specified."); }
const NAString ElemDDLConstraint::displayLabel1() const { if (getConstraintName().length() NEQ 0) return NAString("Constraint name: ") + getConstraintName(); else return NAString("Constraint name not specified."); }
const NAString ElemDDLLike::displayLabel1() const { if (getSourceTableName().length() NEQ 0) return NAString("Source table name: ") + getSourceTableName(); else return NAString(); }
const NAString StmtDDLRegisterComponent::displayLabel2() const { if (NOT getRegisterComponentDetailInfo().isNull()) { return NAString("Detail Information: ") + getRegisterComponentDetailInfo(); } else { return NAString("No Detail Information (i.e., an empty string)."); } }
NABoolean HHDFSTableStats::splitLocation(const char *tableLocation, NAString &hdfsHost, Int32 &hdfsPort, NAString &tableDir) { NABoolean result = TRUE; // split the location into host and file name, proto://host/file, // split point is at the third slash in the URL const char *c = tableLocation; const char *hostMark = NULL; const char *portMark = NULL; const char *dirMark = NULL; int numSlashes = 0; int numColons = 0; while (*c && dirMark == NULL) { if (*c == '/') numSlashes++; else if (*c == ':') numColons++; c++; if (hostMark == NULL && numSlashes == 2) hostMark = c; else if (portMark == NULL && hostMark && numColons == 2) portMark = c; else if (numSlashes == 3 || // regular URL (numSlashes == 1 && c == tableLocation+1)) // just a file name dirMark = c-1; // include the leading slash } if (dirMark == NULL) { CMPASSERT(dirMark != NULL); // TBD:DIAGS result = FALSE; } else { if (hostMark) hdfsHost = NAString(hostMark, (portMark ? portMark-hostMark-1 : dirMark-hostMark)); if (hdfsPortOverride_ > -1) hdfsPort = hdfsPortOverride_; else if (portMark) hdfsPort = atoi(portMark); else hdfsPort = 0; tableDir = NAString(dirMark); } return result; }
const NAString ElemDDLPartitionSystem::displayLabel3() const { if (NOT getLocationName().isNull()) { return NAString("Partition name: ") + getPartitionName(); } else { return NAString("Partition name not specified."); } }
const NAString ElemDDLColViewDef::displayLabel2() const { if (isHeadingSpecified()) { return NAString("Heading: ") + getHeading(); } else { return NAString("Heading not spec."); } }
const NAString ElemDDLColDefault::displayLabel2() const { if (getColumnDefaultType() EQU COL_DEFAULT) { return (NAString("Default value: ") + getDefaultValueExpr()->getText()); } else { return NAString(); } }
const NAString ElemDDLColHeading::displayLabel2() const { switch (getColumnHeadingType()) { case COL_HEADING : return NAString("Heading: ") + getColumnHeading(); case COL_NO_HEADING : return NAString(); default : ABORT("internal logic error"); return NAString(); } }
const NAString ElemDDLColDefault::displayLabel1() const { switch (getColumnDefaultType()) { case COL_DEFAULT : return NAString("Type: Default"); case COL_NO_DEFAULT : return NAString("Type: No Default"); default : ABORT("internal logic error"); return NAString(); } }
static NABoolean splitURL(const char *url, NAString &host, Int32 &port, NAString &options) { NABoolean result = TRUE; // split the url into host and file name, proto://host:port/file, // split point is at the third slash in the URL const char *c = url; const char *hostMark = NULL; const char *portMark = NULL; const char *dirMark = NULL; int numSlashes = 0; int numColons = 0; while (*c && dirMark == NULL) { if (*c == '/') numSlashes++; else if (*c == ':') numColons++; c++; if (hostMark == NULL && numSlashes == 2) hostMark = c; else if (portMark == NULL && hostMark && numColons == 2) portMark = c; else if (numSlashes == 3 || // regular URL (numSlashes == 1 && c == url+1)) // just a file name dirMark = c-1; // include the leading slash } if (dirMark == NULL) { dirMark = c; // point to end of string options = ""; } else options = NAString(dirMark); if (hostMark) host = NAString(hostMark, (portMark ? portMark-hostMark-1 : dirMark-hostMark)); if (portMark) port = atoi(portMark); else port = 0; return result; }
const NAString ElemDDLPartitionRange::displayLabel2() const { ElemDDLLocation location(getLocationNameType(), getLocationName()); return (NAString("Location name type: ") + location.getLocationNameTypeAsNAString()); }
NAString ElemDDLPartitionSystem::getOptionAsNAString() const { switch (getOption()) { case ADD_OPTION : return NAString("ADD"); case DROP_OPTION : return NAString("DROP"); default : ABORT("internal logic error"); return NAString(); } }
//## inline? const NAString CorrName::getText() const { NAString result = getExtendedQualNameObj().getText(); if (getCorrNameAsString() != "") result += NAString(" ") + ToAnsiIdentifier(getCorrNameAsString()); return result; }
NAString ElemDDLConstraintRI::getMatchTypeAsNAString() const { switch (getMatchType()) { case COM_NONE_MATCH_OPTION : return NAString("Match phrase not specified"); case COM_FULL_MATCH_OPTION : return NAString("MATCH FULL"); case COM_PARTIAL_MATCH_OPTION : return NAString("MATCH PARTIAL"); default : ABORT("internal logic error"); return NAString(); } }
// warning elimination (removed "inline") static NAString makeTableName(const NATable *table, const TrafColumnsDesc *column_desc) { return NAString( table ? table->getTableName().getQualifiedNameAsAnsiString().data() : ""); }
void MvQueryRewriteHandler::dumpAnalysisToFile(QueryAnalysis* qa, RelExpr* expr) { // Dump the QueryAnalysis data to a file. NAString analysisFileName = fileNamePrefix_ + ".analysis"; NAString str; expr->unparse(str, OPTIMIZER_PHASE, MVINFO_FORMAT); str += "\n"; str += qa->getText(); // Add in some stuff to look at join predicates for the JBBCs. str += "Join Predicates\n"; str += "==============="; char buffer[20]; ARRAY(JBB*) jbbs = qa->getJBBs(); for (CollIndex jbbInx = 0; jbbInx < jbbs.entries(); jbbInx++) { JBB* jbb = jbbs[jbbInx]; str_itoa(jbbInx, buffer); ((str += "\nJBB #") += NAString(buffer)) += ":\n"; CANodeIdSet jbbcs = jbb->getJBBCs(); for (CANodeId jbbcId=jbbcs.init(); jbbcs.next(jbbcId); jbbcs.advance(jbbcId) ) { str_itoa(jbbcId, buffer); ((str += "\nJBBC with CANodeId ") += NAString(buffer)) += ":\n"; ValueIdSet joinPreds = jbbcId.getNodeAnalysis()->getJBBC()->getJoinPreds(); str += valueIdSetGetText(joinPreds); if (joinPreds.entries() > 0) { str.append("\n(value ids of predicates are "); NABoolean first = true; for (ValueId jpVid=joinPreds.init(); joinPreds.next(jpVid); joinPreds.advance(jpVid)) { if (first) first = FALSE; else str.append(", "); str_itoa(jpVid, buffer); str.append(buffer); } str.append(")\n"); } } str += '\n'; } dumpToFile(analysisFileName.data(), str.data()); } // dumpAnalysisToFile()
static NAString timeStamp() { time_t tp; tp = time(NULL); char str[256]; sprintf(str, "%u", (UInt32)tp); // take lower 4 bytes as unique value return NAString(str); }
// // given a size unit enumerated constant, // return an appropriate NAString. // NAString ElemDDLFileAttr::convertSizeUnitToNAString(ComUnits sizeUnit) const { switch (sizeUnit) { case COM_BYTES : return NAString(COM_BYTES_LIT); case COM_GBYTES : return NAString(COM_GBYTES_LIT); case COM_KBYTES : return NAString(COM_KBYTES_LIT); case COM_MBYTES : return NAString(COM_MBYTES_LIT); default : ABORT("internal logic error"); return NAString(); } }
// warning elimination (removed "inline") static NAString makeTableName(const NATable *table, const columns_desc_struct *column_desc) { return NAString( table ? table->getTableName().getQualifiedNameAsAnsiString().data() : column_desc->tablename ? column_desc->tablename : ""); }
NABoolean StmtModule::unparse(NAString &result, NABoolean wantR18behavior) { NABoolean err = applyDefaults(wantR18behavior); result += NAString("MODULE ") + name().getQualifiedNameAsAnsiNTFilenameString() + " NAMES ARE " + charSet() + ";"; return err; }
// **************************************************************************** // method: getListOfDirectlyReferencedObjects // // Returns a list of objects that are being directly referenced by the passed // in objectUID // // Parameters: // cliInterface - used to get the list of object usages // objectUID - the UID being processed // objectList - a list of objectRefdByMe structures describing each usage // // returns: // 0 - successful // -1 - unexpected error occurred // **************************************************************************** short CmpSeabaseDDL::getListOfDirectlyReferencedObjects ( ExeCliInterface *cliInterface, const Int64 objectUID, NAList<objectRefdByMe> &objectsList) { // Select all the rows from views_usage associated with the passed in // objectUID Lng32 cliRC = 0; char buf[4000]; str_sprintf(buf, "select object_type, object_uid, catalog_name," "schema_name, object_name from %s.\"%s\".%s T, %s.\"%s\".%s VU " "where VU.using_view_uid = %Ld " "and T.object_uid = VU.used_object_uid", getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_OBJECTS, getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_VIEWS_USAGE, objectUID); Queue * usingObjectsQueue = NULL; cliRC = cliInterface->fetchAllRows(usingObjectsQueue, buf, 0, FALSE, FALSE, TRUE); if (cliRC < 0) { cliInterface->retrieveSQLDiagnostics(CmpCommon::diags()); return -1; } // set up an objectRefdByMe struct for each returned row usingObjectsQueue->position(); for (int idx = 0; idx < usingObjectsQueue->numEntries(); idx++) { OutputInfo * oi = (OutputInfo*)usingObjectsQueue->getNext(); objectRefdByMe objectInfo; objectInfo.objectType = NAString(oi->get(0)); objectInfo.objectUID = *(Int64*)oi->get(1); objectInfo.catalogName = NAString(oi->get(2)); objectInfo.schemaName = NAString(oi->get(3)); objectInfo.objectName = NAString(oi->get(4)); objectsList.insert(objectInfo); } return 0; }
NABoolean StmtModule::unparseSimple(NAString &result, NABoolean wantR18behavior) { NABoolean err = applyDefaults(wantR18behavior); // assume caller will handle err result += NAString("MODULE ") + name().getQualifiedNameAsAnsiString() + " NAMES ARE " + charSet() + ";"; return err; }
const NAString StmtDDLDropView::displayLabel2() const { NAString label2("Drop behavior: "); switch (getDropBehavior()) { case COM_CASCADE_DROP_BEHAVIOR : return label2 + "Cascade"; case COM_RESTRICT_DROP_BEHAVIOR : return label2 + "Restrict"; default : NAAbort("StmtDDLDrop.C", __LINE__, "internal logic error"); return NAString(); } }
//---------------------------------------------------------------------------- // CLASS StmtDDLAlterTableAlterColumnDatatype //---------------------------------------------------------------------------- StmtDDLAlterTableAlterColumnDatatype::StmtDDLAlterTableAlterColumnDatatype( ElemDDLNode * pColumnToAlter ,CollHeap * heap) : StmtDDLAlterTableAlterColumn(DDL_ALTER_TABLE_ALTER_COLUMN_DATATYPE, NAString(""), NULL, heap), pColumnToAlter_(pColumnToAlter) { ElemDDLColDef *pColDef = pColumnToAlter->castToElemDDLColDef(); if (pColDef NEQ NULL) { getColDefArray().insert(pColDef); } else *SqlParser_Diags << DgSqlCode(-1001); }