diff --git a/dbcon/execplan/sessionmanager.cpp b/dbcon/execplan/sessionmanager.cpp index 526593252..c9289fff0 100644 --- a/dbcon/execplan/sessionmanager.cpp +++ b/dbcon/execplan/sessionmanager.cpp @@ -119,7 +119,7 @@ const TxnID SessionManager::getTxnID(const SID session) return ret; } -boost::shared_array SessionManager::SIDTIDMap(int& len) +std::shared_ptr SessionManager::SIDTIDMap(int& len) { // is this cast valid? return dbrm.SIDTIDMap(len); @@ -150,7 +150,7 @@ bool SessionManager::checkActiveTransaction(const SID sessionId, bool& bIsDbrmUp bIsDbrmUp = true; int arrayLenth = 0; bool ret = false; - boost::shared_array sIDTIDMap; + std::shared_ptr sIDTIDMap; sIDTIDMap = SIDTIDMap(arrayLenth); @@ -178,7 +178,7 @@ bool SessionManager::isTransactionActive(const SID sessionId, bool& bIsDbrmUp) bIsDbrmUp = true; int arrayLenth = 0; bool ret = false; - boost::shared_array sIDTIDMap; + std::shared_ptr sIDTIDMap; sIDTIDMap = SIDTIDMap(arrayLenth); diff --git a/dbcon/execplan/sessionmanager.h b/dbcon/execplan/sessionmanager.h index 2e46b0cd6..b7e4c9685 100644 --- a/dbcon/execplan/sessionmanager.h +++ b/dbcon/execplan/sessionmanager.h @@ -28,7 +28,6 @@ #include "calpontsystemcatalog.h" #include "brm.h" -#include "boost/shared_array.hpp" namespace execplan { @@ -174,7 +173,7 @@ class SessionManager * @return A pointer to the array. Note: The caller is responsible for * deallocating it. Use delete[]. */ - boost::shared_array SIDTIDMap(int& len); + std::shared_ptr SIDTIDMap(int& len); /** @brief Returns a unique uint32_t. It eventually wraps around, but who cares. * diff --git a/dbcon/joblist/batchprimitiveprocessor-jl.cpp b/dbcon/joblist/batchprimitiveprocessor-jl.cpp index 4d5635379..0228863f1 100644 --- a/dbcon/joblist/batchprimitiveprocessor-jl.cpp +++ b/dbcon/joblist/batchprimitiveprocessor-jl.cpp @@ -873,7 +873,7 @@ void BatchPrimitiveProcessorJL::getRowGroupData(ByteStream& in, vector* if (!pmSendsFinalResult() || pmSendsMatchesAnyway) { - boost::shared_array > joinResults; + std::shared_ptr[]> joinResults; uint32_t i, j; if (pmSendsMatchesAnyway) @@ -920,7 +920,6 @@ void BatchPrimitiveProcessorJL::getRowGroupData(ByteStream& in, vector* idbassert(in.length() == 0); } -// boost::shared_array RGData BatchPrimitiveProcessorJL::getErrorRowGroupData(uint16_t error) const { RGData ret; diff --git a/dbcon/joblist/batchprimitiveprocessor-jl.h b/dbcon/joblist/batchprimitiveprocessor-jl.h index 4a48bb3be..6fbd31f63 100644 --- a/dbcon/joblist/batchprimitiveprocessor-jl.h +++ b/dbcon/joblist/batchprimitiveprocessor-jl.h @@ -184,8 +184,7 @@ class BatchPrimitiveProcessorJL return status; } void runErrorBPP(messageqcpp::ByteStream&); - // uint32_t getErrorTableBand(uint16_t error, messageqcpp::ByteStream *out); - // boost::shared_array getErrorRowGroupData(uint16_t error) const; + rowgroup::RGData getErrorRowGroupData(uint16_t error) const; // @bug 1098 diff --git a/dbcon/joblist/crossenginestep.cpp b/dbcon/joblist/crossenginestep.cpp index 9ed79a2f6..cec88a6ab 100644 --- a/dbcon/joblist/crossenginestep.cpp +++ b/dbcon/joblist/crossenginestep.cpp @@ -27,7 +27,7 @@ using namespace std; #include -#include + #include using namespace boost; @@ -401,7 +401,6 @@ void CrossEngineStep::execute() int num_fields = mysql->getFieldCount(); char** rowIn; // input - // shared_array rgDataDelivered; // output RGData rgDataDelivered; fRowGroupAdded.initRow(&fRowDelivered); // use getDataSize() i/o getMaxDataSize() to make sure there are 8192 rows. @@ -431,7 +430,7 @@ void CrossEngineStep::execute() else if (doFE1 && !doFE3) // FE in WHERE clause only { - shared_array rgDataFe1; // functions in where clause + std::shared_ptr rgDataFe1; // functions in where clause Row rowFe1; // row for fe evaluation fRowGroupFe1.initRow(&rowFe1, true); rgDataFe1.reset(new uint8_t[rowFe1.getSize()]); @@ -482,7 +481,7 @@ void CrossEngineStep::execute() else if (!doFE1 && doFE3) // FE in SELECT clause only { - shared_array rgDataFe3; // functions in select clause + std::shared_ptr rgDataFe3; // functions in select clause Row rowFe3; // row for fe evaluation fRowGroupOut.initRow(&rowFe3, true); rgDataFe3.reset(new uint8_t[rowFe3.getSize()]); @@ -503,13 +502,13 @@ void CrossEngineStep::execute() else // FE in SELECT clause, FE join and WHERE clause { - shared_array rgDataFe1; // functions in where clause + std::shared_ptr rgDataFe1; // functions in where clause Row rowFe1; // row for fe1 evaluation fRowGroupFe1.initRow(&rowFe1, true); rgDataFe1.reset(new uint8_t[rowFe1.getSize()]); rowFe1.setData(rowgroup::Row::Pointer(rgDataFe1.get())); - shared_array rgDataFe3; // functions in select clause + std::shared_ptr rgDataFe3; // functions in select clause Row rowFe3; // row for fe3 evaluation fRowGroupOut.initRow(&rowFe3, true); rgDataFe3.reset(new uint8_t[rowFe3.getSize()]); @@ -701,7 +700,6 @@ const RowGroup& CrossEngineStep::getDeliveredRowGroup() const uint32_t CrossEngineStep::nextBand(messageqcpp::ByteStream& bs) { - // shared_array rgDataOut; RGData rgDataOut; bool more = false; uint32_t rowCount = 0; diff --git a/dbcon/joblist/crossenginestep.h b/dbcon/joblist/crossenginestep.h index ac657f9b5..1037269d7 100644 --- a/dbcon/joblist/crossenginestep.h +++ b/dbcon/joblist/crossenginestep.h @@ -178,7 +178,7 @@ class CrossEngineStep : public BatchPrimitive, public TupleDeliveryStep virtual std::string makeQuery(); virtual void setField(int, const char*, unsigned long, MYSQL_FIELD*, rowgroup::Row&); inline void addRow(rowgroup::RGData&); - // inline void addRow(boost::shared_array&); + template T convertValueNum(const char*, const execplan::CalpontSystemCatalog::ColType&); virtual void formatMiniStats(); @@ -238,8 +238,8 @@ class CrossEngineStep : public BatchPrimitive, public TupleDeliveryStep std::map fColumnMap; // projected key position (k->p) uint64_t fColumnCount; boost::scoped_array fFe1Column; - boost::shared_array fFeMapping1; - boost::shared_array fFeMapping3; + std::shared_ptr fFeMapping1; + std::shared_ptr fFeMapping3; rowgroup::RowGroup fRowGroupFe1; rowgroup::RowGroup fRowGroupFe3; diff --git a/dbcon/joblist/diskjoinstep.cpp b/dbcon/joblist/diskjoinstep.cpp index 536a61947..aa84deea8 100644 --- a/dbcon/joblist/diskjoinstep.cpp +++ b/dbcon/joblist/diskjoinstep.cpp @@ -359,9 +359,9 @@ void DiskJoinStep::joinFcn() Row l_largeRow; Row l_joinFERow, l_outputRow, baseRow; vector > joinMatches; - boost::shared_array smallRowTemplates(new Row[1]); + std::shared_ptr smallRowTemplates(new Row[1]); vector> joiners; - boost::shared_array > colMappings, fergMappings; + std::shared_ptr[]> colMappings, fergMappings; boost::scoped_array > smallNullMem; boost::scoped_array joinFEMem; Row smallNullRow; @@ -386,13 +386,13 @@ void DiskJoinStep::joinFcn() smallRG.initRow(&smallRowTemplates[0]); joiners.resize(1); - colMappings.reset(new boost::shared_array[2]); + colMappings.reset(new std::shared_ptr[2]); colMappings[0] = SOMapping; colMappings[1] = LOMapping; if (fe) { - fergMappings.reset(new boost::shared_array[2]); + fergMappings.reset(new std::shared_ptr[2]); fergMappings[0] = SjoinFEMapping; fergMappings[1] = LjoinFEMapping; } diff --git a/dbcon/joblist/diskjoinstep.h b/dbcon/joblist/diskjoinstep.h index b95d411ea..a6817439f 100644 --- a/dbcon/joblist/diskjoinstep.h +++ b/dbcon/joblist/diskjoinstep.h @@ -50,7 +50,7 @@ class DiskJoinStep : public JobStep boost::shared_ptr largeDL, outputDL; RowGroupDL* smallDL; - boost::shared_array LOMapping, SOMapping, SjoinFEMapping, LjoinFEMapping; + std::shared_ptr LOMapping, SOMapping, SjoinFEMapping, LjoinFEMapping; TupleHashJoinStep* thjs; boost::shared_ptr fe; bool typeless; diff --git a/dbcon/joblist/elementtype.h b/dbcon/joblist/elementtype.h index a91a1f062..1b5c2c062 100644 --- a/dbcon/joblist/elementtype.h +++ b/dbcon/joblist/elementtype.h @@ -26,7 +26,7 @@ #include #include #include -#include + #include #include diff --git a/dbcon/joblist/expressionstep.cpp b/dbcon/joblist/expressionstep.cpp index b182c7b21..14d217d0b 100644 --- a/dbcon/joblist/expressionstep.cpp +++ b/dbcon/joblist/expressionstep.cpp @@ -24,7 +24,7 @@ using namespace std; #include -#include + using namespace boost; #include "messagequeue.h" diff --git a/dbcon/joblist/groupconcat.cpp b/dbcon/joblist/groupconcat.cpp index a9add725e..57f452458 100644 --- a/dbcon/joblist/groupconcat.cpp +++ b/dbcon/joblist/groupconcat.cpp @@ -24,8 +24,6 @@ #include using namespace std; -#include -using namespace boost; #include "errorids.h" #include "exceptclasses.h" @@ -273,10 +271,10 @@ void GroupConcatInfo::mapColumns(const RowGroup& projRG) } } -shared_array GroupConcatInfo::makeMapping(const RowGroup& in, const RowGroup& out) +std::shared_ptr GroupConcatInfo::makeMapping(const RowGroup& in, const RowGroup& out) { // For some reason using the rowgroup mapping fcns don't work completely right in this class - shared_array mapping(new int[out.getColumnCount()]); + std::shared_ptr mapping(new int[out.getColumnCount()]); for (uint64_t i = 0; i < out.getColumnCount(); i++) { @@ -350,7 +348,7 @@ uint8_t* GroupConcatAgUM::getResult() return fConcator->getResult(fGroupConcat->fSeparator); } -void GroupConcatAgUM::applyMapping(const boost::shared_array& mapping, const Row& row) +void GroupConcatAgUM::applyMapping(const std::shared_ptr& mapping, const Row& row) { // For some reason the rowgroup mapping fcns don't work right in this class. for (uint64_t i = 0; i < fRow.getColumnCount(); i++) diff --git a/dbcon/joblist/groupconcat.h b/dbcon/joblist/groupconcat.h index d6a972470..b36a78d08 100644 --- a/dbcon/joblist/groupconcat.h +++ b/dbcon/joblist/groupconcat.h @@ -25,7 +25,7 @@ #include #include #include -#include + #include "returnedcolumn.h" // SRCP #include "rowgroup.h" // RowGroup @@ -63,7 +63,7 @@ class GroupConcatInfo protected: uint32_t getColumnKey(const execplan::SRCP& srcp, JobInfo& jobInfo); - boost::shared_array makeMapping(const rowgroup::RowGroup&, const rowgroup::RowGroup&); + std::shared_ptr makeMapping(const rowgroup::RowGroup&, const rowgroup::RowGroup&); std::set fColumns; std::vector fGroupConcat; @@ -88,7 +88,7 @@ class GroupConcatAgUM : public rowgroup::GroupConcatAg EXPORT uint8_t* getResult(); protected: - void applyMapping(const boost::shared_array&, const rowgroup::Row&); + void applyMapping(const std::shared_ptr&, const rowgroup::Row&); boost::scoped_ptr fConcator; boost::scoped_array fData; diff --git a/dbcon/joblist/jobstep.h b/dbcon/joblist/jobstep.h index 28bd4f994..362950f4c 100644 --- a/dbcon/joblist/jobstep.h +++ b/dbcon/joblist/jobstep.h @@ -29,7 +29,7 @@ #include #include -#include + #include #include "calpontsystemcatalog.h" diff --git a/dbcon/joblist/jsonarrayagg.cpp b/dbcon/joblist/jsonarrayagg.cpp index a6dbbf8ca..e1965c32d 100644 --- a/dbcon/joblist/jsonarrayagg.cpp +++ b/dbcon/joblist/jsonarrayagg.cpp @@ -21,8 +21,6 @@ #include using namespace std; -#include -using namespace boost; #include "errorids.h" #include "exceptclasses.h" @@ -266,10 +264,10 @@ void JsonArrayInfo::mapColumns(const RowGroup& projRG) } } -shared_array JsonArrayInfo::makeMapping(const RowGroup& in, const RowGroup& out) +std::shared_ptr JsonArrayInfo::makeMapping(const RowGroup& in, const RowGroup& out) { // For some reason using the rowgroup mapping fcns don't work completely right in this class - shared_array mapping(new int[out.getColumnCount()]); + std::shared_ptr mapping(new int[out.getColumnCount()]); for (uint64_t i = 0; i < out.getColumnCount(); i++) { @@ -342,7 +340,7 @@ uint8_t* JsonArrayAggregatAgUM::getResult() return fConcator->getResult(fGroupConcat->fSeparator); } -void JsonArrayAggregatAgUM::applyMapping(const boost::shared_array& mapping, const Row& row) +void JsonArrayAggregatAgUM::applyMapping(const std::shared_ptr& mapping, const Row& row) { // For some reason the rowgroup mapping fcns don't work right in this class. for (uint64_t i = 0; i < fRow.getColumnCount(); i++) diff --git a/dbcon/joblist/jsonarrayagg.h b/dbcon/joblist/jsonarrayagg.h index d3fefb972..77319c0b9 100644 --- a/dbcon/joblist/jsonarrayagg.h +++ b/dbcon/joblist/jsonarrayagg.h @@ -23,7 +23,7 @@ #include #include #include -#include + #include "groupconcat.h" @@ -45,7 +45,7 @@ class JsonArrayInfo : public GroupConcatInfo protected: uint32_t getColumnKey(const execplan::SRCP& srcp, JobInfo& jobInfo); - boost::shared_array makeMapping(const rowgroup::RowGroup&, const rowgroup::RowGroup&); + std::shared_ptr makeMapping(const rowgroup::RowGroup&, const rowgroup::RowGroup&); }; class JsonArrayAggregatAgUM : public GroupConcatAgUM @@ -63,7 +63,7 @@ class JsonArrayAggregatAgUM : public GroupConcatAgUM EXPORT uint8_t* getResult(); protected: - void applyMapping(const boost::shared_array&, const rowgroup::Row&); + void applyMapping(const std::shared_ptr&, const rowgroup::Row&); }; // JSON_ARRAYAGG base diff --git a/dbcon/joblist/limitedorderby.cpp b/dbcon/joblist/limitedorderby.cpp index f4e573bd7..8927e3866 100644 --- a/dbcon/joblist/limitedorderby.cpp +++ b/dbcon/joblist/limitedorderby.cpp @@ -23,9 +23,6 @@ #include using namespace std; -#include -using namespace boost; - #include "errorids.h" #include "exceptclasses.h" using namespace logging; diff --git a/dbcon/joblist/primitivestep.h b/dbcon/joblist/primitivestep.h index 6f2d1a9b1..74bc0428b 100644 --- a/dbcon/joblist/primitivestep.h +++ b/dbcon/joblist/primitivestep.h @@ -36,7 +36,7 @@ #include #include -#include + #include #include @@ -1324,7 +1324,7 @@ class TupleBPS : public BatchPrimitive, public TupleDeliveryStep /* Functions & Expressions vars */ boost::shared_ptr fe1, fe2; rowgroup::RowGroup fe1Input, fe2Output; - boost::shared_array fe2Mapping; + std::shared_ptr fe2Mapping; bool bRunFEonPM; /* for UM F & E 2 processing */ @@ -1396,12 +1396,12 @@ class TupleBPS : public BatchPrimitive, public TupleDeliveryStep boost::scoped_array smallNulls; boost::scoped_array joinedBaseRowData; boost::scoped_array joinFERowData; - boost::shared_array largeMapping; - vector> smallMappings; - vector> fergMappings; + std::shared_ptr largeMapping; + vector> smallMappings; + vector> fergMappings; rowgroup::RGData joinedData; boost::scoped_array largeNullMemory; - boost::scoped_array> smallNullMemory; + boost::scoped_array> smallNullMemory; uint32_t matchCount; rowgroup::Row postJoinRow; diff --git a/dbcon/joblist/subquerystep.cpp b/dbcon/joblist/subquerystep.cpp index fbc46912e..f437fd181 100644 --- a/dbcon/joblist/subquerystep.cpp +++ b/dbcon/joblist/subquerystep.cpp @@ -24,7 +24,7 @@ using namespace std; #include -#include + #include #include #include diff --git a/dbcon/joblist/subquerystep.h b/dbcon/joblist/subquerystep.h index 3c587d170..d39572b40 100644 --- a/dbcon/joblist/subquerystep.h +++ b/dbcon/joblist/subquerystep.h @@ -23,7 +23,7 @@ #include #include -#include + #include #include "jobstep.h" @@ -244,7 +244,7 @@ class SubAdapterStep : public JobStep, public TupleDeliveryStep uint64_t fRowsInput; uint64_t fRowsReturned; bool fEndOfResult; - boost::shared_array fIndexMap; + std::shared_ptr fIndexMap; std::vector > fDupColumns; RowGroupDL* fInputDL; diff --git a/dbcon/joblist/threadsafequeue.h b/dbcon/joblist/threadsafequeue.h index 7a45b0690..36958ba14 100644 --- a/dbcon/joblist/threadsafequeue.h +++ b/dbcon/joblist/threadsafequeue.h @@ -27,7 +27,7 @@ #include #include #include -#include + namespace joblist diff --git a/dbcon/joblist/tuple-bps.cpp b/dbcon/joblist/tuple-bps.cpp index 065b27f4f..66abe0102 100644 --- a/dbcon/joblist/tuple-bps.cpp +++ b/dbcon/joblist/tuple-bps.cpp @@ -195,7 +195,7 @@ TupleBPS::JoinLocalData::JoinLocalData(TupleBPS* pTupleBPS, RowGroup& primRowGro smallNulls.reset(new Row[smallSideCount]); smallMappings.resize(smallSideCount); fergMappings.resize(smallSideCount + 1); - smallNullMemory.reset(new shared_array[smallSideCount]); + smallNullMemory.reset(new std::shared_ptr[smallSideCount]); local_primRG.initRow(&largeSideRow); local_outputRG.initRow(&joinedBaseRow, true); joinedBaseRowData.reset(new uint8_t[joinedBaseRow.getSize()]); @@ -2719,7 +2719,7 @@ void TupleBPS::receiveMultiPrimitiveMessages() { struct timeval tvbuf; gettimeofday(&tvbuf, 0); - FIFO>* pFifo = 0; + FIFO>* pFifo = 0; uint64_t totalBlockedReadCount = 0; uint64_t totalBlockedWriteCount = 0; @@ -2728,7 +2728,7 @@ void TupleBPS::receiveMultiPrimitiveMessages() for (size_t iDataList = 0; iDataList < inDlCnt; iDataList++) { - pFifo = dynamic_cast>*>( + pFifo = dynamic_cast>*>( fInputJobStepAssociation.outAt(iDataList)->rowGroupDL()); if (pFifo) @@ -2742,7 +2742,7 @@ void TupleBPS::receiveMultiPrimitiveMessages() for (size_t iDataList = 0; iDataList < outDlCnt; iDataList++) { - pFifo = dynamic_cast>*>(dlp); + pFifo = dynamic_cast>*>(dlp); if (pFifo) { diff --git a/dbcon/joblist/tupleaggregatestep.cpp b/dbcon/joblist/tupleaggregatestep.cpp index bc13a053c..673af0995 100644 --- a/dbcon/joblist/tupleaggregatestep.cpp +++ b/dbcon/joblist/tupleaggregatestep.cpp @@ -30,7 +30,7 @@ using namespace std; #include -#include + #include #include #include "boost/tuple/tuple.hpp" @@ -5298,7 +5298,7 @@ void TupleAggregateStep::threadedAggregateRowGroups(uint32_t threadID) RGData rgData; scoped_array rowBucketVecs(new RowBucketVec[fNumOfBuckets]); scoped_array distRow; - scoped_array> distRowData; + scoped_array> distRowData; uint32_t bucketID; scoped_array bucketDone(new bool[fNumOfBuckets]); vector hashLens; @@ -5365,7 +5365,7 @@ void TupleAggregateStep::threadedAggregateRowGroups(uint32_t threadID) rowBucketVecs[i].resize(multiDist->subAggregators().size()); distRow.reset(new Row[multiDist->subAggregators().size()]); - distRowData.reset(new shared_array[multiDist->subAggregators().size()]); + distRowData.reset(new std::shared_ptr[multiDist->subAggregators().size()]); for (uint32_t j = 0; j < multiDist->subAggregators().size(); j++) { diff --git a/dbcon/joblist/tupleannexstep.cpp b/dbcon/joblist/tupleannexstep.cpp index c4aeff34e..a62bac653 100644 --- a/dbcon/joblist/tupleannexstep.cpp +++ b/dbcon/joblist/tupleannexstep.cpp @@ -26,7 +26,7 @@ using namespace std; #include -#include + #include using namespace boost; diff --git a/dbcon/joblist/tupleconstantstep.cpp b/dbcon/joblist/tupleconstantstep.cpp index 8571f7966..cef1bb9b9 100644 --- a/dbcon/joblist/tupleconstantstep.cpp +++ b/dbcon/joblist/tupleconstantstep.cpp @@ -25,7 +25,7 @@ using namespace std; #include -#include + #include using namespace boost; diff --git a/dbcon/joblist/tuplehashjoin.cpp b/dbcon/joblist/tuplehashjoin.cpp index 58306c464..743a8c0f7 100644 --- a/dbcon/joblist/tuplehashjoin.cpp +++ b/dbcon/joblist/tuplehashjoin.cpp @@ -515,7 +515,7 @@ void TupleHashJoinStep::djsRelayFcn() RowGroup djsInputRG = largeRG + outputRG; RowGroup l_largeRG = (tbpsJoiners.empty() ? largeRG : largeRG + outputRG); - boost::shared_array relayMapping = makeMapping(l_largeRG, djsInputRG); + std::shared_ptr relayMapping = makeMapping(l_largeRG, djsInputRG); bool more; RGData inData, outData; Row l_largeRow, djsInputRow; @@ -1350,7 +1350,7 @@ void TupleHashJoinStep::startJoinThreads() for (i = 0; i < smallSideCount; i++) smallRGs[i] = joiners[i]->getSmallRG(); - columnMappings.reset(new shared_array[smallSideCount + 1]); + columnMappings.reset(new std::shared_ptr[smallSideCount + 1]); for (i = 0; i < smallSideCount; i++) columnMappings[i] = makeMapping(smallRGs[i], outputRG); @@ -1359,7 +1359,7 @@ void TupleHashJoinStep::startJoinThreads() if (!feIndexes.empty()) { - fergMappings.reset(new shared_array[smallSideCount + 1]); + fergMappings.reset(new std::shared_ptr[smallSideCount + 1]); for (i = 0; i < smallSideCount; i++) fergMappings[i] = makeMapping(smallRGs[i], joinFilterRG); @@ -1406,11 +1406,11 @@ void TupleHashJoinStep::finishSmallOuterJoin() vector unmatched; uint32_t smallSideCount = smallDLs.size(); uint32_t i, j, k; - shared_array largeNullMemory; + std::shared_ptr largeNullMemory; RGData joinedData; Row joinedBaseRow, fe2InRow, fe2OutRow; - shared_array smallRowTemplates; - shared_array smallNullRows; + std::shared_ptr smallRowTemplates; + std::shared_ptr smallNullRows; Row largeNullRow; RowGroup l_outputRG = outputRG; RowGroup l_fe2Output = fe2Output; @@ -1511,11 +1511,11 @@ void TupleHashJoinStep::joinRunnerFcn(uint32_t threadID) uint32_t i; /* thread-local scratch space for join processing */ - shared_array joinFERowData; + std::shared_ptr joinFERowData; Row largeRow, joinFERow, joinedRow, baseRow; - shared_array baseRowData; + std::shared_ptr baseRowData; vector > joinMatches; - shared_array smallRowTemplates; + std::shared_ptr smallRowTemplates; /* F & E vars */ FuncExpWrapper local_fe; @@ -1706,11 +1706,11 @@ void TupleHashJoinStep::grabSomeWork(vector* work) void TupleHashJoinStep::joinOneRG( uint32_t threadID, vector& out, RowGroup& inputRG, RowGroup& joinOutput, Row& largeSideRow, Row& joinFERow, Row& joinedRow, Row& baseRow, vector >& joinMatches, - shared_array& smallRowTemplates, RowGroupDL* outputDL, + std::shared_ptr& smallRowTemplates, RowGroupDL* outputDL, // disk-join support vars. This param list is insane; refactor attempt would be nice at some point. vector >* tjoiners, - boost::shared_array >* rgMappings, - boost::shared_array >* feMappings, + std::shared_ptr[] >* rgMappings, + std::shared_ptr[] >* feMappings, boost::scoped_array >* smallNullMem) { /* Disk-join support. @@ -1841,9 +1841,9 @@ void TupleHashJoinStep::joinOneRG( } void TupleHashJoinStep::generateJoinResultSet(const vector >& joinerOutput, Row& baseRow, - const shared_array >& mappings, + const std::shared_ptr[] >& mappings, const uint32_t depth, RowGroup& l_outputRG, RGData& rgData, - vector& outputData, const shared_array& smallRows, + vector& outputData, const std::shared_ptr& smallRows, Row& joinedRow, RowGroupDL* dlp) { uint32_t i; diff --git a/dbcon/joblist/tuplehashjoin.h b/dbcon/joblist/tuplehashjoin.h index 81925726b..914e230d8 100644 --- a/dbcon/joblist/tuplehashjoin.h +++ b/dbcon/joblist/tuplehashjoin.h @@ -536,10 +536,10 @@ class TupleHashJoinStep : public JobStep, public TupleDeliveryStep void startJoinThreads(); void generateJoinResultSet(const std::vector >& joinerOutput, rowgroup::Row& baseRow, - const boost::shared_array >& mappings, + const std::shared_ptr[] >& mappings, const uint32_t depth, rowgroup::RowGroup& outputRG, rowgroup::RGData& rgData, std::vector& outputData, - const boost::shared_array& smallRows, rowgroup::Row& joinedRow, + const std::shared_ptr& smallRows, rowgroup::Row& joinedRow, RowGroupDL* outputDL); void grabSomeWork(std::vector* work); void sendResult(const std::vector& res); @@ -550,19 +550,19 @@ class TupleHashJoinStep : public JobStep, public TupleDeliveryStep rowgroup::RowGroup& joinOutput, rowgroup::Row& largeSideRow, rowgroup::Row& joinFERow, rowgroup::Row& joinedRow, rowgroup::Row& baseRow, std::vector >& joinMatches, - boost::shared_array& smallRowTemplates, RowGroupDL* outputDL, + std::shared_ptr& smallRowTemplates, RowGroupDL* outputDL, std::vector >* joiners = NULL, - boost::shared_array >* rgMappings = NULL, - boost::shared_array >* feMappings = NULL, - boost::scoped_array >* smallNullMem = NULL); + std::shared_ptr[] >* rgMappings = NULL, + std::shared_ptr[] >* feMappings = NULL, + boost::scoped_array>* smallNullMem = NULL); void finishSmallOuterJoin(); void makeDupList(const rowgroup::RowGroup& rg); void processDupList(uint32_t threadID, rowgroup::RowGroup& ingrp, std::vector* rowData); std::vector joinRunners; // thread handles from thread pool boost::mutex inputDLLock, outputDLLock; - boost::shared_array > columnMappings, fergMappings; - boost::shared_array fe2Mapping; + std::shared_ptr[]> columnMappings, fergMappings; + std::shared_ptr fe2Mapping; uint32_t joinThreadCount; boost::scoped_array > smallNullMemory; uint64_t outputIt; diff --git a/dbcon/joblist/tuplehavingstep.cpp b/dbcon/joblist/tuplehavingstep.cpp index 60496895a..b9e9d5962 100644 --- a/dbcon/joblist/tuplehavingstep.cpp +++ b/dbcon/joblist/tuplehavingstep.cpp @@ -24,7 +24,7 @@ using namespace std; #include -#include + #include using namespace boost; diff --git a/dbcon/joblist/windowfunctionstep.cpp b/dbcon/joblist/windowfunctionstep.cpp index 0e6c57991..7ca5da85d 100644 --- a/dbcon/joblist/windowfunctionstep.cpp +++ b/dbcon/joblist/windowfunctionstep.cpp @@ -26,7 +26,7 @@ using namespace std; #include // to_upper_copy #include -#include + #include #include using namespace boost; @@ -1033,7 +1033,7 @@ void WindowFunctionStep::doFunction() void WindowFunctionStep::doPostProcessForSelect() { FuncExp* fe = funcexp::FuncExp::instance(); - boost::shared_array mapping = makeMapping(fRowGroupIn, fRowGroupOut); + std::shared_ptr mapping = makeMapping(fRowGroupIn, fRowGroupOut); Row rowIn, rowOut; fRowGroupIn.initRow(&rowIn); fRowGroupOut.initRow(&rowOut); @@ -1089,7 +1089,7 @@ void WindowFunctionStep::doPostProcessForSelect() void WindowFunctionStep::doPostProcessForDml() { FuncExp* fe = funcexp::FuncExp::instance(); - boost::shared_array mapping = makeMapping(fRowGroupIn, fRowGroupOut); + std::shared_ptr mapping = makeMapping(fRowGroupIn, fRowGroupOut); Row rowIn, rowOut; fRowGroupIn.initRow(&rowIn); fRowGroupOut.initRow(&rowOut); diff --git a/dmlproc/batchinsertprocessor.h b/dmlproc/batchinsertprocessor.h index 725581d20..a8d9ef82c 100644 --- a/dmlproc/batchinsertprocessor.h +++ b/dmlproc/batchinsertprocessor.h @@ -25,7 +25,7 @@ #include #include #include -#include + #include #include #include diff --git a/dmlproc/dmlproc.cpp b/dmlproc/dmlproc.cpp index 407eba0f9..2047bdc97 100644 --- a/dmlproc/dmlproc.cpp +++ b/dmlproc/dmlproc.cpp @@ -215,7 +215,7 @@ void rollbackAll(DBRM* dbrm) logging::MessageLog ml(lid); ml.logInfoMessage(message); - boost::shared_array activeTxns; + std::shared_ptr activeTxns; BRM::TxnID txnID; SessionManager sessionManager; int rc = 0; diff --git a/dmlproc/dmlprocessor.cpp b/dmlproc/dmlprocessor.cpp index 36b16a94c..d13b5ae60 100644 --- a/dmlproc/dmlprocessor.cpp +++ b/dmlproc/dmlprocessor.cpp @@ -263,7 +263,7 @@ struct CancellationThread // If there are any abandonded transactions without locks // release them. int len; - boost::shared_array activeTxns = sessionManager.SIDTIDMap(len); + std::shared_ptr activeTxns = sessionManager.SIDTIDMap(len); for (int i = 0; i < len; i++) { diff --git a/primitives/linux-port/primitiveprocessor.h b/primitives/linux-port/primitiveprocessor.h index 6e22c23db..ecff92489 100644 --- a/primitives/linux-port/primitiveprocessor.h +++ b/primitives/linux-port/primitiveprocessor.h @@ -38,7 +38,7 @@ #endif #include #include -#include + #include "primitivemsg.h" #include "calpontsystemcatalog.h" @@ -165,10 +165,10 @@ class ParsedColumnFilter static constexpr uint32_t noSetFilterThreshold = 8; ColumnFilterMode columnFilterMode; // Very unfortunately prestored_argVals can also be used to store double/float values. - boost::shared_array prestored_argVals; - boost::shared_array prestored_argVals128; - boost::shared_array prestored_cops; - boost::shared_array prestored_rfs; + std::shared_ptr prestored_argVals; + std::shared_ptr prestored_argVals128; + std::shared_ptr prestored_cops; + std::shared_ptr prestored_rfs; boost::shared_ptr prestored_set; boost::shared_ptr prestored_set_128; diff --git a/primitives/primproc/batchprimitiveprocessor.cpp b/primitives/primproc/batchprimitiveprocessor.cpp index ea6f1d6fc..1badf2c4a 100644 --- a/primitives/primproc/batchprimitiveprocessor.cpp +++ b/primitives/primproc/batchprimitiveprocessor.cpp @@ -312,11 +312,11 @@ void BatchPrimitiveProcessor::initBPP(ByteStream& bs) // cout << "joinerCount = " << joinerCount << endl; joinTypes.reset(new JoinType[joinerCount]); - tJoiners.reset(new boost::shared_array >[joinerCount]); + tJoiners.reset(new std::shared_ptr[]>[joinerCount]); for (uint j = 0; j < joinerCount; ++j) tJoiners[j].reset(new boost::shared_ptr[processorThreads]); - tlJoiners.reset(new boost::shared_array >[joinerCount]); + tlJoiners.reset(new std::shared_ptr[]>[joinerCount]); for (uint j = 0; j < joinerCount; ++j) tlJoiners[j].reset(new boost::shared_ptr[processorThreads]); @@ -716,7 +716,7 @@ void BatchPrimitiveProcessor::addToJoiner(ByteStream& bs) } else { - boost::shared_array > tJoiner = tJoiners[joinerNum]; + std::shared_ptr[]> tJoiner = tJoiners[joinerNum]; uint64_t nullValue = joinNullValues[joinerNum]; bool& l_doMatchNulls = doMatchNulls[joinerNum]; joblist::JoinType joinType = joinTypes[joinerNum]; @@ -997,7 +997,7 @@ void BatchPrimitiveProcessor::initProcessor() joinFERG->initRow(&joinFERow, true); joinFERowData.reset(new uint8_t[joinFERow.getSize()]); joinFERow.setData(rowgroup::Row::Pointer(joinFERowData.get())); - joinFEMappings.reset(new shared_array[joinerCount + 1]); + joinFEMappings.reset(new std::shared_ptr[joinerCount + 1]); for (i = 0; i < joinerCount; i++) joinFEMappings[i] = makeMapping(smallSideRGs[i], *joinFERG); @@ -1059,7 +1059,7 @@ void BatchPrimitiveProcessor::initProcessor() baseJRowMem.reset(new uint8_t[baseJRow.getSize()]); baseJRow.setData(rowgroup::Row::Pointer(baseJRowMem.get())); - gjrgMappings.reset(new shared_array[joinerCount + 1]); + gjrgMappings.reset(new std::shared_ptr[joinerCount + 1]); for (i = 0; i < joinerCount; i++) gjrgMappings[i] = makeMapping(smallSideRGs[i], joinedRG); diff --git a/primitives/primproc/batchprimitiveprocessor.h b/primitives/primproc/batchprimitiveprocessor.h index 88790d1b9..c2ffb08a2 100644 --- a/primitives/primproc/batchprimitiveprocessor.h +++ b/primitives/primproc/batchprimitiveprocessor.h @@ -304,8 +304,8 @@ class BatchPrimitiveProcessor /* RowGroup support */ rowgroup::RowGroup outputRG; boost::scoped_ptr outRowGroupData; - boost::shared_array rgMap; // maps input cols to output cols - boost::shared_array projectionMap; // maps the projection steps to the output RG + std::shared_ptr rgMap; // maps input cols to output cols + std::shared_ptr projectionMap; // maps the projection steps to the output RG bool hasRowGroup; /* Rowgroups + join */ @@ -331,40 +331,40 @@ class BatchPrimitiveProcessor boost::scoped_array baseJRowMem; boost::scoped_ptr joinedRGMem; boost::scoped_array smallRows; - boost::shared_array> gjrgMappings; + std::shared_ptr[]> gjrgMappings; - boost::shared_array>> tJoiners; + std::shared_ptr[]>[]> tJoiners; typedef std::vector MatchedData[LOGICAL_BLOCK_RIDS]; - boost::shared_array tSmallSideMatches; + std::shared_ptr tSmallSideMatches; uint32_t executeTupleJoin(uint32_t startRid); bool getTupleJoinRowGroupData; std::vector smallSideRGs; rowgroup::RowGroup largeSideRG; - boost::shared_array smallSideRowData; - boost::shared_array smallNullRowData; - boost::shared_array smallNullPointers; - boost::shared_array ssrdPos; // this keeps track of position when building smallSideRowData - boost::shared_array smallSideRowLengths; - boost::shared_array joinTypes; + std::shared_ptr smallSideRowData; + std::shared_ptr smallNullRowData; + std::shared_ptr smallNullPointers; + std::shared_ptr ssrdPos; // this keeps track of position when building smallSideRowData + std::shared_ptr smallSideRowLengths; + std::shared_ptr joinTypes; uint32_t joinerCount; - boost::shared_array> tJoinerSizes; + std::shared_ptr[]> tJoinerSizes; // LSKC[i] = the column in outputRG joiner i uses as its key column - boost::shared_array largeSideKeyColumns; + std::shared_ptr largeSideKeyColumns; // KCPP[i] = true means a joiner uses projection step i as a key column - boost::shared_array keyColumnProj; + std::shared_ptr keyColumnProj; rowgroup::Row oldRow, newRow; // used by executeTupleJoin() - boost::shared_array joinNullValues; - boost::shared_array doMatchNulls; + std::shared_ptr joinNullValues; + std::shared_ptr doMatchNulls; boost::scoped_array> joinFEFilters; bool hasJoinFEFilters; bool hasSmallOuterJoin; /* extra typeless join vars & fcns*/ - boost::shared_array typelessJoin; - boost::shared_array> tlLargeSideKeyColumns; + std::shared_ptr typelessJoin; + std::shared_ptr[]> tlLargeSideKeyColumns; std::shared_ptr> tlSmallSideKeyColumns; - boost::shared_array>> tlJoiners; - boost::shared_array tlSmallSideKeyLengths; + std::shared_ptr[]>[]> tlJoiners; + std::shared_ptr tlSmallSideKeyLengths; // True if smallSide and largeSide TypelessData key column differs,e.g BIGINT vs DECIMAL(38). bool mJOINHasSkewedKeyColumn; const rowgroup::RowGroup* mSmallSideRGPtr; @@ -372,7 +372,7 @@ class BatchPrimitiveProcessor inline void getJoinResults(const rowgroup::Row& r, uint32_t jIndex, std::vector& v); // these allocators hold the memory for the keys stored in tlJoiners - boost::shared_array storedKeyAllocators; + std::shared_ptr storedKeyAllocators; /* PM Aggregation */ rowgroup::RowGroup joinedRG; // if there's a join, the rows are formatted with this @@ -393,9 +393,9 @@ class BatchPrimitiveProcessor boost::scoped_array joinFERowData; boost::scoped_ptr fe1Data, fe2Data; // can probably make these RGDatas not pointers to RGDatas - boost::shared_array projectForFE1; - boost::shared_array fe1ToProjection, fe2Mapping; // RG mappings - boost::scoped_array> joinFEMappings; + std::shared_ptr projectForFE1; + std::shared_ptr fe1ToProjection, fe2Mapping; // RG mappings + boost::scoped_array> joinFEMappings; rowgroup::Row fe1In, fe1Out, fe2In, fe2Out, joinFERow; bool hasDictStep; diff --git a/storage-manager/src/CloudStorage.h b/storage-manager/src/CloudStorage.h index ff4ea304b..a9ad0d687 100644 --- a/storage-manager/src/CloudStorage.h +++ b/storage-manager/src/CloudStorage.h @@ -18,7 +18,7 @@ #pragma once #include -#include + #include "SMLogging.h" namespace storagemanager @@ -29,10 +29,10 @@ class CloudStorage virtual ~CloudStorage(){}; /* These behave like syscalls. return code -1 means an error, and errno is set */ virtual int getObject(const std::string& sourceKey, const std::string& destFile, size_t* size = NULL) = 0; - virtual int getObject(const std::string& sourceKey, boost::shared_array* data, + virtual int getObject(const std::string& sourceKey, std::shared_ptr* data, size_t* size = NULL) = 0; virtual int putObject(const std::string& sourceFile, const std::string& destKey) = 0; - virtual int putObject(const boost::shared_array data, size_t len, const std::string& destKey) = 0; + virtual int putObject(const std::shared_ptr data, size_t len, const std::string& destKey) = 0; virtual int deleteObject(const std::string& key) = 0; virtual int copyObject(const std::string& sourceKey, const std::string& destKey) = 0; virtual int exists(const std::string& key, bool* out) = 0; diff --git a/storage-manager/src/IOCoordinator.cpp b/storage-manager/src/IOCoordinator.cpp index b17d502b2..347899db4 100644 --- a/storage-manager/src/IOCoordinator.cpp +++ b/storage-manager/src/IOCoordinator.cpp @@ -148,7 +148,7 @@ int IOCoordinator::loadObject(int fd, uint8_t* data, off_t offset, size_t length int IOCoordinator::loadObjectAndJournal(const char* objFilename, const char* journalFilename, uint8_t* data, off_t offset, size_t length) { - boost::shared_array argh; + std::shared_ptr argh; size_t tmp = 0; argh = mergeJournal(objFilename, journalFilename, offset, length, &tmp); @@ -259,7 +259,7 @@ ssize_t IOCoordinator::read(const char* _filename, uint8_t* data, off_t offset, // copy data from each object + journal into the returned data size_t count = 0; int err; - boost::shared_array mergedData; + std::shared_ptr mergedData; for (auto& object : relevants) { const auto& jit = journalFDs.find(object.key); @@ -1168,10 +1168,10 @@ const bf::path& IOCoordinator::getMetadataPath() const // first byte after the header. // update: had to make it also return the header; the boost json parser does not stop at either // a null char or the end of an object. -boost::shared_array seekToEndOfHeader1(int fd, size_t* _bytesRead) +std::shared_ptr seekToEndOfHeader1(int fd, size_t* _bytesRead) { //::lseek(fd, 0, SEEK_SET); - boost::shared_array ret(new char[100]); + std::shared_ptr ret(new char[100]); int err; err = ::read(fd, ret.get(), 100); @@ -1197,12 +1197,12 @@ int IOCoordinator::mergeJournal(int objFD, int journalFD, uint8_t* buf, off_t of throw runtime_error("IOCoordinator::mergeJournal(int, int, etc) is not implemented yet."); } -boost::shared_array IOCoordinator::mergeJournal(const char* object, const char* journal, +std::shared_ptr IOCoordinator::mergeJournal(const char* object, const char* journal, off_t offset, size_t len, size_t* _bytesReadOut) const { int objFD, journalFD; - boost::shared_array ret; + std::shared_ptr ret; size_t l_bytesRead = 0; objFD = ::open(object, O_RDONLY); @@ -1263,7 +1263,7 @@ boost::shared_array IOCoordinator::mergeJournal(const char* object, con } ScopedCloser s2(journalFD); - boost::shared_array headertxt = seekToEndOfHeader1(journalFD, &l_bytesRead); + std::shared_ptr headertxt = seekToEndOfHeader1(journalFD, &l_bytesRead); stringstream ss; ss << headertxt.get(); boost::property_tree::ptree header; @@ -1335,7 +1335,7 @@ out: // MergeJournalInMem is a specialized version of mergeJournal(). This is currently only used by Synchronizer // and mergeJournal(), and only for merging the whole object with the whole journal. -int IOCoordinator::mergeJournalInMem(boost::shared_array& objData, size_t len, +int IOCoordinator::mergeJournalInMem(std::shared_ptr& objData, size_t len, const char* journalPath, size_t* _bytesReadOut) const { // if the journal is over some size threshold (100MB for now why not), @@ -1350,7 +1350,7 @@ int IOCoordinator::mergeJournalInMem(boost::shared_array& objData, size ScopedCloser s(journalFD); // grab the journal header and make sure the version is 1 - boost::shared_array headertxt = seekToEndOfHeader1(journalFD, &l_bytesRead); + std::shared_ptr headertxt = seekToEndOfHeader1(journalFD, &l_bytesRead); stringstream ss; ss << headertxt.get(); boost::property_tree::ptree header; @@ -1420,7 +1420,7 @@ int IOCoordinator::mergeJournalInMem(boost::shared_array& objData, size return 0; } -int IOCoordinator::mergeJournalInMem_bigJ(boost::shared_array& objData, size_t len, +int IOCoordinator::mergeJournalInMem_bigJ(std::shared_ptr& objData, size_t len, const char* journalPath, size_t* _bytesReadOut) const { size_t l_bytesRead = 0; @@ -1430,7 +1430,7 @@ int IOCoordinator::mergeJournalInMem_bigJ(boost::shared_array& objData, ScopedCloser s(journalFD); // grab the journal header and make sure the version is 1 - boost::shared_array headertxt = seekToEndOfHeader1(journalFD, &l_bytesRead); + std::shared_ptr headertxt = seekToEndOfHeader1(journalFD, &l_bytesRead); stringstream ss; ss << headertxt.get(); boost::property_tree::ptree header; diff --git a/storage-manager/src/IOCoordinator.h b/storage-manager/src/IOCoordinator.h index 601c2ee6e..f499aad3e 100644 --- a/storage-manager/src/IOCoordinator.h +++ b/storage-manager/src/IOCoordinator.h @@ -24,7 +24,7 @@ #include #include #include -#include + #include #include "Config.h" @@ -37,7 +37,7 @@ namespace storagemanager { -boost::shared_array seekToEndOfHeader1(int fd, size_t* bytesRead); +std::shared_ptr seekToEndOfHeader1(int fd, size_t* bytesRead); class IOCoordinator : public boost::noncopyable { @@ -57,16 +57,16 @@ class IOCoordinator : public boost::noncopyable // The shared logic for merging a journal file with its base file. // len should be set to the length of the data requested - boost::shared_array mergeJournal(const char* objectPath, const char* journalPath, off_t offset, + std::shared_ptr mergeJournal(const char* objectPath, const char* journalPath, off_t offset, size_t len, size_t* sizeRead) const; // this version modifies object data in memory, given the journal filename. Processes the whole object // and whole journal file. - int mergeJournalInMem(boost::shared_array& objData, size_t len, const char* journalPath, + int mergeJournalInMem(std::shared_ptr& objData, size_t len, const char* journalPath, size_t* sizeRead) const; // this version of MJIM has a higher IOPS requirement and lower mem usage. - int mergeJournalInMem_bigJ(boost::shared_array& objData, size_t len, const char* journalPath, + int mergeJournalInMem_bigJ(std::shared_ptr& objData, size_t len, const char* journalPath, size_t* sizeRead) const; // this version takes already-open file descriptors, and an already-allocated buffer as input. diff --git a/storage-manager/src/LocalStorage.cpp b/storage-manager/src/LocalStorage.cpp index 005e43838..45e520974 100644 --- a/storage-manager/src/LocalStorage.cpp +++ b/storage-manager/src/LocalStorage.cpp @@ -127,7 +127,7 @@ int LocalStorage::getObject(const string& source, const string& dest, size_t* si return ret; } -int LocalStorage::getObject(const std::string& sourceKey, boost::shared_array* data, size_t* size) +int LocalStorage::getObject(const std::string& sourceKey, std::shared_ptr* data, size_t* size) { addLatency(); @@ -188,7 +188,7 @@ int LocalStorage::putObject(const string& source, const string& dest) return ret; } -int LocalStorage::putObject(boost::shared_array data, size_t len, const string& dest) +int LocalStorage::putObject(std::shared_ptr data, size_t len, const string& dest) { addLatency(); diff --git a/storage-manager/src/LocalStorage.h b/storage-manager/src/LocalStorage.h index be308d85a..fc1f5a5d3 100644 --- a/storage-manager/src/LocalStorage.h +++ b/storage-manager/src/LocalStorage.h @@ -21,6 +21,7 @@ #include "CloudStorage.h" #include "SMLogging.h" #include +#include namespace storagemanager { @@ -31,9 +32,9 @@ class LocalStorage : public CloudStorage virtual ~LocalStorage(); int getObject(const std::string& sourceKey, const std::string& destFile, size_t* size = NULL); - int getObject(const std::string& sourceKey, boost::shared_array* data, size_t* size = NULL); + int getObject(const std::string& sourceKey, std::shared_ptr* data, size_t* size = NULL); int putObject(const std::string& sourceFile, const std::string& destKey); - int putObject(const boost::shared_array data, size_t len, const std::string& destKey); + int putObject(const std::shared_ptr data, size_t len, const std::string& destKey); int deleteObject(const std::string& key); int copyObject(const std::string& sourceKey, const std::string& destKey); int exists(const std::string& key, bool* out); diff --git a/storage-manager/src/Replicator.cpp b/storage-manager/src/Replicator.cpp index 10fc07002..c4778a990 100644 --- a/storage-manager/src/Replicator.cpp +++ b/storage-manager/src/Replicator.cpp @@ -29,7 +29,7 @@ #include #define BOOST_SPIRIT_THREADSAFE #include -#include + #include #include @@ -259,7 +259,7 @@ int Replicator::addJournalEntry(const boost::filesystem::path& filename, const u { // read the existing header and check if max_offset needs to be updated size_t tmp; - boost::shared_array headertxt; + std::shared_ptr headertxt; try { headertxt = seekToEndOfHeader1(fd, &tmp); diff --git a/storage-manager/src/S3Storage.cpp b/storage-manager/src/S3Storage.cpp index 34ad1f9d6..e10fb44ca 100644 --- a/storage-manager/src/S3Storage.cpp +++ b/storage-manager/src/S3Storage.cpp @@ -283,7 +283,7 @@ bool S3Storage::getCredentialsFromMetadataEC2() void S3Storage::testConnectivityAndPerms() { - boost::shared_array testObj(new uint8_t[1]); + std::shared_ptr testObj(new uint8_t[1]); testObj[0] = 0; boost::uuids::uuid u = boost::uuids::random_generator()(); ostringstream oss; @@ -317,7 +317,7 @@ void S3Storage::testConnectivityAndPerms() int S3Storage::getObject(const string& sourceKey, const string& destFile, size_t* size) { int fd, err; - boost::shared_array data; + std::shared_ptr data; size_t len, count = 0; char buf[80]; @@ -353,7 +353,7 @@ int S3Storage::getObject(const string& sourceKey, const string& destFile, size_t return 0; } -int S3Storage::getObject(const string& _sourceKey, boost::shared_array* data, size_t* size) +int S3Storage::getObject(const string& _sourceKey, std::shared_ptr* data, size_t* size) { uint8_t err; size_t len = 0; @@ -418,7 +418,7 @@ int S3Storage::getObject(const string& _sourceKey, boost::shared_array* int S3Storage::putObject(const string& sourceFile, const string& destKey) { - boost::shared_array data; + std::shared_ptr data; int err, fd; size_t len, count = 0; char buf[80]; @@ -466,7 +466,7 @@ int S3Storage::putObject(const string& sourceFile, const string& destKey) return putObject(data, len, destKey); } -int S3Storage::putObject(const boost::shared_array data, size_t len, const string& _destKey) +int S3Storage::putObject(const std::shared_ptr data, size_t len, const string& _destKey) { string destKey = prefix + _destKey; uint8_t s3err; @@ -648,7 +648,7 @@ int S3Storage::copyObject(const string& _sourceKey, const string& _destKey) // no s3-s3 copy yet. get & put for now. int err; - boost::shared_array data; + std::shared_ptr data; size_t len; err = getObject(sourceKey, &data, &len); if (err) diff --git a/storage-manager/src/S3Storage.h b/storage-manager/src/S3Storage.h index 6b6a911cc..98d4b43f8 100644 --- a/storage-manager/src/S3Storage.h +++ b/storage-manager/src/S3Storage.h @@ -20,6 +20,7 @@ #include #include #include +#include #include "CloudStorage.h" #include "libmarias3/marias3.h" #include "Config.h" @@ -35,9 +36,9 @@ class S3Storage : public CloudStorage virtual ~S3Storage(); int getObject(const std::string& sourceKey, const std::string& destFile, size_t* size = NULL); - int getObject(const std::string& sourceKey, boost::shared_array* data, size_t* size = NULL); + int getObject(const std::string& sourceKey, std::shared_ptr* data, size_t* size = NULL); int putObject(const std::string& sourceFile, const std::string& destKey); - int putObject(const boost::shared_array data, size_t len, const std::string& destKey); + int putObject(const std::shared_ptr data, size_t len, const std::string& destKey); int deleteObject(const std::string& key); int copyObject(const std::string& sourceKey, const std::string& destKey); int exists(const std::string& key, bool* out); diff --git a/storage-manager/src/Synchronizer.cpp b/storage-manager/src/Synchronizer.cpp index 1c48f0887..62315d990 100644 --- a/storage-manager/src/Synchronizer.cpp +++ b/storage-manager/src/Synchronizer.cpp @@ -645,7 +645,7 @@ void Synchronizer::synchronizeWithJournal(const string& sourceFile, list } int err; - boost::shared_array data; + std::shared_ptr data; size_t count = 0, size = mdEntry.length, originalSize = 0; bool oldObjIsCached = cache->exists(prefix, cloudKey); @@ -673,7 +673,7 @@ void Synchronizer::synchronizeWithJournal(const string& sourceFile, list // do any add'l alloc'ing or copying if (size < mdEntry.length) { - boost::shared_array tmp(new uint8_t[mdEntry.length]()); + std::shared_ptr tmp(new uint8_t[mdEntry.length]()); memcpy(tmp.get(), data.get(), size); memset(&tmp[size], 0, mdEntry.length - size); data.swap(tmp); diff --git a/storage-manager/src/unit_tests.cpp b/storage-manager/src/unit_tests.cpp index 200bb7d54..b6bbe7aba 100644 --- a/storage-manager/src/unit_tests.cpp +++ b/storage-manager/src/unit_tests.cpp @@ -1200,7 +1200,7 @@ bool mergeJournalTest() int i; IOCoordinator* ioc = IOCoordinator::get(); size_t len = 8192, tmp; - boost::shared_array data = ioc->mergeJournal("test-object", "test-journal", 0, len, &tmp); + std::shared_ptr data = ioc->mergeJournal("test-object", "test-journal", 0, len, &tmp); assert(data); int* idata = (int*)data.get(); for (i = 0; i < 5; i++) @@ -1767,7 +1767,7 @@ void bigMergeJournal1() return; } IOCoordinator* ioc = IOCoordinator::get(); - boost::shared_array buf; + std::shared_ptr buf; size_t tmp; buf = ioc->mergeJournal(fNamePath.string().c_str(), jNamePath.string().c_str(), 0, 68332, &tmp); assert(buf); diff --git a/utils/common/fixedallocator.cpp b/utils/common/fixedallocator.cpp index 62a15b235..be830d747 100644 --- a/utils/common/fixedallocator.cpp +++ b/utils/common/fixedallocator.cpp @@ -31,13 +31,13 @@ #include #include +#include #define FIXEDALLOCATOR_DLLEXPORT #include "fixedallocator.h" #undef FIXEDALLOCATOR_DLLEXPORT using namespace std; -using namespace boost; namespace utils { @@ -75,7 +75,7 @@ void FixedAllocator::setAllocSize(uint allocSize) void FixedAllocator::newBlock() { - shared_array next; + std::shared_ptr next; capacityRemaining = elementCount * elementSize; diff --git a/utils/common/fixedallocator.h b/utils/common/fixedallocator.h index b24f8ce98..e311dacd2 100644 --- a/utils/common/fixedallocator.h +++ b/utils/common/fixedallocator.h @@ -33,7 +33,7 @@ #pragma once #include -#include + #include #include #include @@ -93,7 +93,7 @@ class FixedAllocator private: void newBlock(); - std::vector > mem; + std::vector> mem; unsigned long capacityRemaining; uint64_t elementCount; unsigned long elementSize; diff --git a/utils/common/poolallocator.cpp b/utils/common/poolallocator.cpp index 84e0e6b25..3e3966a1b 100644 --- a/utils/common/poolallocator.cpp +++ b/utils/common/poolallocator.cpp @@ -24,10 +24,11 @@ //#define NDEBUG #include + #include "poolallocator.h" using namespace std; -using namespace boost; + namespace utils { @@ -51,7 +52,7 @@ void PoolAllocator::deallocateAll() void PoolAllocator::newBlock() { - shared_array next; + std::shared_ptr next; capacityRemaining = allocSize; diff --git a/utils/common/poolallocator.h b/utils/common/poolallocator.h index 19d90c7b2..9f5dff6e7 100644 --- a/utils/common/poolallocator.h +++ b/utils/common/poolallocator.h @@ -29,7 +29,8 @@ #include #include #include -#include +#include + #include namespace utils @@ -89,7 +90,7 @@ class PoolAllocator void* allocOOB(uint64_t size); unsigned allocSize; - std::vector > mem; + std::vector> mem; bool tmpSpace; unsigned capacityRemaining; uint64_t memUsage; @@ -99,7 +100,7 @@ class PoolAllocator struct OOBMemInfo { - boost::shared_array mem; + std::shared_ptr mem; uint64_t size; }; typedef std::map OutOfBandMap; diff --git a/utils/joiner/tuplejoiner.cpp b/utils/joiner/tuplejoiner.cpp index 0c574584f..3dea44b56 100644 --- a/utils/joiner/tuplejoiner.cpp +++ b/utils/joiner/tuplejoiner.cpp @@ -913,14 +913,14 @@ void TupleJoiner::setInUM(vector& rgs) } } -void TupleJoiner::setPMJoinResults(boost::shared_array> jr, uint32_t threadID) +void TupleJoiner::setPMJoinResults(std::shared_ptr[]> jr, uint32_t threadID) { pmJoinResults[threadID] = jr; } void TupleJoiner::markMatches(uint32_t threadID, uint32_t rowCount) { - boost::shared_array> matches = pmJoinResults[threadID]; + std::shared_ptr[]> matches = pmJoinResults[threadID]; uint32_t i, j; for (i = 0; i < rowCount; i++) @@ -946,7 +946,7 @@ void TupleJoiner::markMatches(uint32_t threadID, const vector& mat } } -boost::shared_array> TupleJoiner::getPMJoinArrays(uint32_t threadID) +std::shared_ptr[]> TupleJoiner::getPMJoinArrays(uint32_t threadID) { return pmJoinResults[threadID]; } @@ -954,7 +954,7 @@ boost::shared_array> TupleJoiner::getPMJoinArrays(uint32_t void TupleJoiner::setThreadCount(uint32_t cnt) { threadCount = cnt; - pmJoinResults.reset(new boost::shared_array>[cnt]); + pmJoinResults.reset(new std::shared_ptr[]>[cnt]); smallRow.reset(new Row[cnt]); for (uint32_t i = 0; i < cnt; i++) diff --git a/utils/joiner/tuplejoiner.h b/utils/joiner/tuplejoiner.h index dd05fe277..f97045351 100644 --- a/utils/joiner/tuplejoiner.h +++ b/utils/joiner/tuplejoiner.h @@ -22,7 +22,7 @@ #include #include #include -#include + #include #include @@ -321,8 +321,8 @@ class TupleJoiner void umJoinConvert(size_t begin, size_t end); void setThreadCount(uint32_t cnt); - void setPMJoinResults(boost::shared_array >, uint32_t threadID); - boost::shared_array > getPMJoinArrays(uint32_t threadID); + void setPMJoinResults(std::shared_ptr[]>, uint32_t threadID); + std::shared_ptr[]> getPMJoinArrays(uint32_t threadID); std::vector* getSmallSide() { return &rows; @@ -502,10 +502,10 @@ class TupleJoiner the logical block being processed. There are X threads at once, so up to X logical blocks being processed. For each of those there's a vector of matches. Each match is an index into 'rows'. */ - boost::shared_array > > pmJoinResults; + std::shared_ptr[]>[]> pmJoinResults; rowgroup::RowGroup smallRG, largeRG; boost::scoped_array smallRow; - // boost::shared_array smallNullMemory; + rowgroup::Row smallNullRow; enum JoinAlg @@ -517,7 +517,7 @@ class TupleJoiner }; JoinAlg joinAlg; joblist::JoinType joinType; - boost::shared_array > _pool; // pools for the table and nodes + std::shared_ptr[]> _pool; // pools for the table and nodes uint32_t threadCount; std::string tableName; diff --git a/utils/messageqcpp/bytestream.cpp b/utils/messageqcpp/bytestream.cpp index 828c92969..ba498f2fb 100644 --- a/utils/messageqcpp/bytestream.cpp +++ b/utils/messageqcpp/bytestream.cpp @@ -152,17 +152,17 @@ void ByteStream::growBuf(uint32_t toSize) } } -std::vector>& ByteStream::getLongStrings() +std::vector>& ByteStream::getLongStrings() { return longStrings; } -const std::vector>& ByteStream::getLongStrings() const +const std::vector>& ByteStream::getLongStrings() const { return longStrings; } -void ByteStream::setLongStrings(const std::vector>& other) +void ByteStream::setLongStrings(const std::vector>& other) { longStrings = other; } diff --git a/utils/messageqcpp/bytestream.h b/utils/messageqcpp/bytestream.h index 02a4cd645..6da89aaf5 100644 --- a/utils/messageqcpp/bytestream.h +++ b/utils/messageqcpp/bytestream.h @@ -26,7 +26,7 @@ #include #include #include -#include + #include #include #include @@ -435,9 +435,9 @@ class ByteStream : public Serializeable 3 * sizeof(uint32_t); // space for the BS magic & length & number of long strings. // Methods to get and set `long strings`. - EXPORT std::vector>& getLongStrings(); - EXPORT const std::vector>& getLongStrings() const; - EXPORT void setLongStrings(const std::vector>& other); + EXPORT std::vector>& getLongStrings(); + EXPORT const std::vector>& getLongStrings() const; + EXPORT void setLongStrings(const std::vector>& other); friend class ::ByteStreamTestSuite; @@ -469,7 +469,7 @@ class ByteStream : public Serializeable uint8_t* fCurOutPtr; // the point in fBuf where data is extracted from next uint32_t fMaxLen; // how big fBuf is currently // Stores `long strings`. - std::vector> longStrings; + std::vector> longStrings; }; template diff --git a/utils/messageqcpp/inetstreamsocket.cpp b/utils/messageqcpp/inetstreamsocket.cpp index 61ec082d1..1e94e0b66 100644 --- a/utils/messageqcpp/inetstreamsocket.cpp +++ b/utils/messageqcpp/inetstreamsocket.cpp @@ -73,7 +73,7 @@ using namespace std; #include using boost::scoped_array; -#include + #define INETSTREAMSOCKET_DLLEXPORT #include "inetstreamsocket.h" @@ -515,7 +515,7 @@ const SBS InetStreamSocket::read(const struct ::timespec* timeout, bool* isTimeO return SBS(new ByteStream(0)); res->advanceInputPtr(msglen); - std::vector> longStrings; + std::vector> longStrings; try { for (uint32_t i = 0; i < longStringSize; ++i) @@ -527,7 +527,7 @@ const SBS InetStreamSocket::read(const struct ::timespec* timeout, bool* isTimeO return SBS(new ByteStream(0)); // Allocate new memory for the `long string`. - boost::shared_array longString( + std::shared_ptr longString( new uint8_t[sizeof(rowgroup::StringStore::MemChunk) + memChunk.currentSize]); uint8_t* longStringData = longString.get(); diff --git a/utils/rowgroup/rowaggregation.cpp b/utils/rowgroup/rowaggregation.cpp index 5aab28837..a56ea3128 100644 --- a/utils/rowgroup/rowaggregation.cpp +++ b/utils/rowgroup/rowaggregation.cpp @@ -600,7 +600,7 @@ void RowAggregation::setJoinRowGroups(vector* pSmallSideRG, RowGroup* fSmallSideRGs = pSmallSideRG; fLargeSideRG = pLargeSideRG; fSmallSideCount = fSmallSideRGs->size(); - fSmallMappings.reset(new shared_array[fSmallSideCount]); + fSmallMappings.reset(new std::shared_ptr[fSmallSideCount]); for (uint32_t i = 0; i < fSmallSideCount; i++) fSmallMappings[i] = makeMapping((*fSmallSideRGs)[i], fRowGroupIn); diff --git a/utils/rowgroup/rowaggregation.h b/utils/rowgroup/rowaggregation.h index 901c8eb3d..12b4d4acc 100644 --- a/utils/rowgroup/rowaggregation.h +++ b/utils/rowgroup/rowaggregation.h @@ -35,7 +35,7 @@ #include #include #include -#include + #include #include @@ -331,7 +331,7 @@ struct GroupConcat uint64_t fSize; RowGroup fRowGroup; - boost::shared_array fMapping; + std::shared_ptr fMapping; std::vector> fOrderCond; // position to order by [asc/desc] joblist::ResourceManager* fRm; // resource manager boost::shared_ptr fSessionMemLimit; @@ -583,8 +583,8 @@ class RowAggregation : public messageqcpp::Serializeable // for support PM aggregation after PM hashjoin std::vector* fSmallSideRGs; RowGroup* fLargeSideRG; - boost::shared_array> fSmallMappings; - boost::shared_array fLargeMapping; + std::shared_ptr[]> fSmallMappings; + std::shared_ptr fLargeMapping; uint32_t fSmallSideCount; boost::scoped_array rowSmalls; diff --git a/utils/rowgroup/rowgroup.cpp b/utils/rowgroup/rowgroup.cpp index 4f6377631..42ba63351 100644 --- a/utils/rowgroup/rowgroup.cpp +++ b/utils/rowgroup/rowgroup.cpp @@ -31,9 +31,8 @@ #include using namespace std; -#include + #include -using namespace boost; #include "bytestream.h" using namespace messageqcpp; @@ -97,7 +96,7 @@ uint64_t StringStore::storeString(const uint8_t* data, uint32_t len) if ((len + 4) >= CHUNK_SIZE) { - shared_array newOne(new uint8_t[len + sizeof(MemChunk) + 4]); + std::shared_ptr newOne(new uint8_t[len + sizeof(MemChunk) + 4]); longStrings.push_back(newOne); lastMC = (MemChunk*)longStrings.back().get(); lastMC->capacity = lastMC->currentSize = len + 4; @@ -114,7 +113,7 @@ uint64_t StringStore::storeString(const uint8_t* data, uint32_t len) // mem usage debugging // if (lastMC) // cout << "Memchunk efficiency = " << lastMC->currentSize << "/" << lastMC->capacity << endl; - shared_array newOne(new uint8_t[CHUNK_SIZE + sizeof(MemChunk)]); + std::shared_ptr newOne(new uint8_t[CHUNK_SIZE + sizeof(MemChunk)]); mem.push_back(newOne); lastMC = (MemChunk*)mem.back().get(); lastMC->currentSize = 0; @@ -196,8 +195,8 @@ void StringStore::deserialize(ByteStream& bs) void StringStore::clear() { - vector > emptyv; - vector > emptyv2; + vector > emptyv; + vector > emptyv2; mem.swap(emptyv); longStrings.swap(emptyv2); empty = true; @@ -1338,9 +1337,9 @@ string RowGroup::toString(const std::vector& used) const return os.str(); } -boost::shared_array makeMapping(const RowGroup& r1, const RowGroup& r2) +std::shared_ptr makeMapping(const RowGroup& r1, const RowGroup& r2) { - shared_array ret(new int[r1.getColumnCount()]); + std::shared_ptr ret(new int[r1.getColumnCount()]); // bool reserved[r2.getColumnCount()]; bool* reserved = (bool*)alloca(r2.getColumnCount() * sizeof(bool)); uint32_t i, j; @@ -1365,7 +1364,7 @@ boost::shared_array makeMapping(const RowGroup& r1, const RowGroup& r2) return ret; } -void applyMapping(const boost::shared_array& mapping, const Row& in, Row* out) +void applyMapping(const std::shared_ptr& mapping, const Row& in, Row* out) { applyMapping(mapping.get(), in, out); } @@ -1406,7 +1405,7 @@ void applyMapping(const int* mapping, const Row& in, Row* out) RowGroup& RowGroup::operator+=(const RowGroup& rhs) { - boost::shared_array tmp; + std::shared_ptr tmp; uint32_t i, j; // not appendable if data is set assert(!data); diff --git a/utils/rowgroup/rowgroup.h b/utils/rowgroup/rowgroup.h index a5cfdd59c..6fdffa761 100644 --- a/utils/rowgroup/rowgroup.h +++ b/utils/rowgroup/rowgroup.h @@ -33,7 +33,7 @@ // #define NDEBUG #include #include -#include + #include #include #include @@ -177,10 +177,10 @@ class StringStore std::string empty_str; static constexpr const uint32_t CHUNK_SIZE = 64 * 1024; // allocators like powers of 2 - std::vector> mem; + std::vector> mem; // To store strings > 64KB (BLOB/TEXT) - std::vector> longStrings; + std::vector> longStrings; bool empty = true; bool fUseStoreStringMutex = false; //@bug6065, make StringStore::storeString() thread safe boost::mutex fMutex; @@ -609,7 +609,7 @@ private: bool hasCollation = false; bool hasLongStringField = false; uint32_t sTableThreshold = 20; - boost::shared_array forceInline; + std::shared_ptr forceInline; UserDataStore* userDataStore = nullptr; // For UDAF friend class RowGroup; @@ -1461,7 +1461,7 @@ class RowGroup : public messageqcpp::Serializeable inline std::vector& getColTypes(); inline const std::vector& getCharsetNumbers() const; inline uint32_t getCharsetNumber(uint32_t colIndex) const; - inline boost::shared_array& getForceInline(); + inline std::shared_ptr& getForceInline(); static inline uint32_t getHeaderSize() { return headerSize; @@ -1553,7 +1553,7 @@ class RowGroup : public messageqcpp::Serializeable bool hasCollation = false; bool hasLongStringField = false; uint32_t sTableThreshold = 20; - boost::shared_array forceInline; + std::shared_ptr forceInline; static const uint32_t headerSize = 18; static const uint32_t rowCountOffset = 0; @@ -1579,8 +1579,8 @@ inline uint64_t getFileRelativeRid(uint64_t baseRid); */ RowGroup operator+(const RowGroup& lhs, const RowGroup& rhs); -boost::shared_array makeMapping(const RowGroup& r1, const RowGroup& r2); -void applyMapping(const boost::shared_array& mapping, const Row& in, Row* out); +std::shared_ptr makeMapping(const RowGroup& r1, const RowGroup& r2); +void applyMapping(const std::shared_ptr& mapping, const Row& in, Row* out); void applyMapping(const std::vector& mapping, const Row& in, Row* out); void applyMapping(const int* mapping, const Row& in, Row* out); @@ -1803,7 +1803,7 @@ inline const std::vector& RowGroup::getColWidths() const return colWidths; } -inline boost::shared_array& RowGroup::getForceInline() +inline std::shared_ptr& RowGroup::getForceInline() { return forceInline; } diff --git a/utils/windowfunction/idborderby.cpp b/utils/windowfunction/idborderby.cpp index 3156a4e69..ec4008062 100644 --- a/utils/windowfunction/idborderby.cpp +++ b/utils/windowfunction/idborderby.cpp @@ -28,7 +28,7 @@ using namespace std; #include "calpontselectexecutionplan.h" #include "rowgroup.h" -#include + using namespace boost; #include "errorids.h" diff --git a/utils/windowfunction/idborderby.h b/utils/windowfunction/idborderby.h index dee63bd03..3ea9f892f 100644 --- a/utils/windowfunction/idborderby.h +++ b/utils/windowfunction/idborderby.h @@ -26,7 +26,7 @@ #include #include #include -#include + #include #include diff --git a/versioning/BRM/dbrm.cpp b/versioning/BRM/dbrm.cpp index 609d5d1e6..ae344602d 100644 --- a/versioning/BRM/dbrm.cpp +++ b/versioning/BRM/dbrm.cpp @@ -3184,7 +3184,7 @@ const TxnID DBRM::getTxnID(const SessionManagerServer::SID session) return ret; } -boost::shared_array DBRM::SIDTIDMap(int& len) +std::shared_ptr DBRM::SIDTIDMap(int& len) { #ifdef BRM_INFO @@ -3201,7 +3201,7 @@ boost::shared_array DBRM::SIDTIDMap(int& len) uint8_t err, tmp8; uint32_t tmp32; int i; - boost::shared_array ret; + std::shared_ptr ret; command << SID_TID_MAP; err = send_recv(command, response); diff --git a/versioning/BRM/dbrm.h b/versioning/BRM/dbrm.h index b7fe43278..6fa1836a6 100644 --- a/versioning/BRM/dbrm.h +++ b/versioning/BRM/dbrm.h @@ -32,7 +32,7 @@ #include #include #include -#include + #include #include "brmtypes.h" @@ -757,7 +757,7 @@ class DBRM EXPORT void committed(BRM::TxnID& txnid); EXPORT void rolledback(BRM::TxnID& txnid); EXPORT const BRM::TxnID getTxnID(const SessionManagerServer::SID session); - EXPORT boost::shared_array SIDTIDMap(int& len); + EXPORT std::shared_ptr SIDTIDMap(int& len); EXPORT void sessionmanager_reset(); /* Note, these pull #s from two separate sequences. That is, they both diff --git a/versioning/BRM/masterdbrmnode.cpp b/versioning/BRM/masterdbrmnode.cpp index cc757266a..1c28e4b71 100644 --- a/versioning/BRM/masterdbrmnode.cpp +++ b/versioning/BRM/masterdbrmnode.cpp @@ -1544,7 +1544,7 @@ void MasterDBRMNode::doSIDTIDMap(ByteStream& msg, ThreadParams* p) { ByteStream reply; int len, i; - boost::shared_array entries; + std::shared_ptr entries; try { diff --git a/versioning/BRM/sessionmanagerserver.cpp b/versioning/BRM/sessionmanagerserver.cpp index fcdbb893f..b0a5c3968 100644 --- a/versioning/BRM/sessionmanagerserver.cpp +++ b/versioning/BRM/sessionmanagerserver.cpp @@ -346,10 +346,10 @@ const TxnID SessionManagerServer::getTxnID(const SID session) return ret; } -shared_array SessionManagerServer::SIDTIDMap(int& len) +std::shared_ptr SessionManagerServer::SIDTIDMap(int& len) { int j; - shared_array ret; + std::shared_ptr ret; boost::mutex::scoped_lock lk(mutex); iterator it; diff --git a/versioning/BRM/sessionmanagerserver.h b/versioning/BRM/sessionmanagerserver.h index 3c068127f..84164ccd0 100644 --- a/versioning/BRM/sessionmanagerserver.h +++ b/versioning/BRM/sessionmanagerserver.h @@ -28,7 +28,7 @@ #include -#include + #include #include @@ -193,7 +193,7 @@ class SessionManagerServer * @return A pointer to the array. Note: The caller is responsible for * deallocating it. Use delete[]. */ - EXPORT boost::shared_array SIDTIDMap(int& len); + EXPORT std::shared_ptr SIDTIDMap(int& len); /** * get a unique 32-bit number diff --git a/writeengine/redistribute/we_redistributeworkerthread.h b/writeengine/redistribute/we_redistributeworkerthread.h index 9dc5fa417..fb787f498 100644 --- a/writeengine/redistribute/we_redistributeworkerthread.h +++ b/writeengine/redistribute/we_redistributeworkerthread.h @@ -27,7 +27,6 @@ #include #include "boost/shared_ptr.hpp" -#include "boost/shared_array.hpp" #include "boost/thread/mutex.hpp" #include "brmtypes.h" @@ -126,7 +125,7 @@ class RedistributeWorkerThread FILE* fOldFilePtr; std::set fNewDirSet; std::set fOldDirSet; - boost::shared_array fWriteBuffer; + std::shared_ptr fWriteBuffer; boost::shared_ptr fDbrm;