diff --git a/src/backend/gpopt/utils/COptTasks.cpp b/src/backend/gpopt/utils/COptTasks.cpp index 65195739842c7402850be524dbcc4b3b5eac2509..119fefa892fa5ea787a9b6d6b87dfde9e0273ac8 100644 --- a/src/backend/gpopt/utils/COptTasks.cpp +++ b/src/backend/gpopt/utils/COptTasks.cpp @@ -38,7 +38,6 @@ #include "gpos/_api.h" #include "gpos/common/CAutoP.h" -#include "gpos/io/COstreamFile.h" #include "gpos/io/COstreamString.h" #include "gpos/memory/CAutoMemoryPool.h" #include "gpos/task/CAutoTraceFlag.h" diff --git a/src/backend/gporca/libgpopt/src/base/CIOUtils.cpp b/src/backend/gporca/libgpopt/src/base/CIOUtils.cpp index 4cd4359d236ed1193f95768bb50020b873395fe3..6ece486f1840eeee5a3c4ac88f4cf9a8ced2f876 100644 --- a/src/backend/gporca/libgpopt/src/base/CIOUtils.cpp +++ b/src/backend/gporca/libgpopt/src/base/CIOUtils.cpp @@ -9,12 +9,12 @@ // Implementation of optimizer I/O utilities //--------------------------------------------------------------------------- +#include "gpopt/base/CIOUtils.h" + #include "gpos/base.h" +#include "gpos/io/CFileWriter.h" #include "gpos/task/CAutoSuspendAbort.h" #include "gpos/task/CWorker.h" -#include "gpos/io/COstreamFile.h" - -#include "gpopt/base/CIOUtils.h" using namespace gpopt; diff --git a/src/backend/gporca/libgpopt/src/engine/CEnumeratorConfig.cpp b/src/backend/gporca/libgpopt/src/engine/CEnumeratorConfig.cpp index 399da4f4e7fcd52d4995d42b08db1c4ed336ad8b..8d5b8391260a6c270611ab2b143556d22c4b34f7 100644 --- a/src/backend/gporca/libgpopt/src/engine/CEnumeratorConfig.cpp +++ b/src/backend/gporca/libgpopt/src/engine/CEnumeratorConfig.cpp @@ -9,19 +9,19 @@ // Implementation of plan enumerator config //--------------------------------------------------------------------------- +#include "gpopt/engine/CEnumeratorConfig.h" + +#include "gpopt/base/CIOUtils.h" +#include "gpopt/base/CUtils.h" + #include "gpos/base.h" -#include "gpos/io/COstreamFile.h" +#include "gpos/error/CAutoTrace.h" +#include "gpos/io/CFileDescriptor.h" #include "gpos/memory/CAutoMemoryPool.h" #include "gpos/task/CAutoSuspendAbort.h" -#include "gpos/error/CAutoTrace.h" #include "gpos/task/CTask.h" #include "gpos/task/CWorker.h" -#include "gpopt/base/CIOUtils.h" -#include "gpopt/base/CUtils.h" -#include "gpopt/engine/CEnumeratorConfig.h" - - using namespace gpos; using namespace gpopt; diff --git a/src/backend/gporca/libgpopt/src/minidump/CMinidumperUtils.cpp b/src/backend/gporca/libgpopt/src/minidump/CMinidumperUtils.cpp index 45d750aef8879a772c161476b230b2ce66e2eaf9..bbe810a9451205abdff7fc9ede1b2bf62b66b83b 100644 --- a/src/backend/gporca/libgpopt/src/minidump/CMinidumperUtils.cpp +++ b/src/backend/gporca/libgpopt/src/minidump/CMinidumperUtils.cpp @@ -17,7 +17,6 @@ #include "gpos/error/CAutoTrace.h" #include "gpos/error/CErrorContext.h" #include "gpos/error/CErrorHandlerStandard.h" -#include "gpos/io/COstreamFile.h" #include "gpos/memory/CAutoMemoryPool.h" #include "gpos/task/CAutoSuspendAbort.h" #include "gpos/task/CAutoTraceFlag.h" diff --git a/src/backend/gporca/libgpos/include/gpos/io/COstreamFile.h b/src/backend/gporca/libgpos/include/gpos/io/COstreamFile.h deleted file mode 100644 index cc16d147bdf19d129735c217032374701ec2c06a..0000000000000000000000000000000000000000 --- a/src/backend/gporca/libgpos/include/gpos/io/COstreamFile.h +++ /dev/null @@ -1,55 +0,0 @@ -//--------------------------------------------------------------------------- -// Greenplum Database -// Copyright (C) 2011 EMC Corp. -// -// @filename: -// COstreamFile.h -// -// @doc: -// Output file stream class; -//--------------------------------------------------------------------------- -#ifndef GPOS_COstreamFile_H -#define GPOS_COstreamFile_H - -#include "gpos/io/ioutils.h" -#include "gpos/io/CFileWriter.h" -#include "gpos/io/COstream.h" - -namespace gpos -{ -//--------------------------------------------------------------------------- -// @class: -// COstreamFile -// -// @doc: -// Implements an output stream writing to a file -// -//--------------------------------------------------------------------------- -class COstreamFile : public COstream -{ -private: - // underlying file writer - CFileWriter m_file_writer; - -public: - COstreamFile(const COstreamFile &) = delete; - - // please see comments in COstream.h for an explanation - using COstream::operator<<; - - // ctor - COstreamFile(const CHAR *file_path, - ULONG permission_bits = S_IRUSR | S_IWUSR); - - // dtor - ~COstreamFile() override; - - // implement << operator - IOstream &operator<<(const WCHAR *) override; -}; - -} // namespace gpos - -#endif // !GPOS_COstreamFile_H - -// EOF diff --git a/src/backend/gporca/libgpos/server/include/unittest/gpos/io/COstreamFileTest.h b/src/backend/gporca/libgpos/server/include/unittest/gpos/io/COstreamFileTest.h deleted file mode 100644 index 2d88f19246b0a67028c783c7920cd1e2a3f95f32..0000000000000000000000000000000000000000 --- a/src/backend/gporca/libgpos/server/include/unittest/gpos/io/COstreamFileTest.h +++ /dev/null @@ -1,47 +0,0 @@ -//--------------------------------------------------------------------------- -// Greenplum Database -// Copyright (C) 2011 EMC Corp. -// -// @filename: -// COstreamFileTest.h -// -// @doc: -// Test for COstreamFile -//--------------------------------------------------------------------------- -#ifndef GPOS_COstreamFileTest_H -#define GPOS_COstreamFileTest_H - -#include "gpos/base.h" - -namespace gpos -{ -//--------------------------------------------------------------------------- -// @class: -// COstreamFileTest -// -// @doc: -// Static unit tests for messages -// -//--------------------------------------------------------------------------- -class COstreamFileTest -{ -private: - // write to output file stream - static void Unittest_WriteFileStream(const CHAR *szFile); - - // check file stream for correctness - static void Unittest_CheckOutputFile(const CHAR *szFile); - - // delete temporary file and containing directory - static void Unittest_DeleteTmpFile(const CHAR *szDir, const CHAR *szFile); - -public: - // unittests - static GPOS_RESULT EresUnittest(); - static GPOS_RESULT EresUnittest_Basic(); -}; -} // namespace gpos - -#endif // !GPOS_COstreamFileTest_H - -// EOF diff --git a/src/backend/gporca/libgpos/server/src/startup/main.cpp b/src/backend/gporca/libgpos/server/src/startup/main.cpp index 978cf673158d905bb6e91fe16a29bff9ece5e620..f12cfbc09738d41f72082fdf4eb7b736db3bbe72 100644 --- a/src/backend/gporca/libgpos/server/src/startup/main.cpp +++ b/src/backend/gporca/libgpos/server/src/startup/main.cpp @@ -46,7 +46,6 @@ #include "unittest/gpos/error/CMiniDumperTest.h" #include "unittest/gpos/io/COstreamBasicTest.h" -#include "unittest/gpos/io/COstreamFileTest.h" #include "unittest/gpos/io/COstreamStringTest.h" #include "unittest/gpos/io/CFileTest.h" @@ -97,7 +96,6 @@ static gpos::CUnittest rgut[] = { // io GPOS_UNITTEST_STD(COstreamBasicTest), GPOS_UNITTEST_STD(COstreamStringTest), - GPOS_UNITTEST_STD(COstreamFileTest), GPOS_UNITTEST_STD(CFileTest), // memory diff --git a/src/backend/gporca/libgpos/server/src/unittest/gpos/io/COstreamFileTest.cpp b/src/backend/gporca/libgpos/server/src/unittest/gpos/io/COstreamFileTest.cpp deleted file mode 100644 index 88ca801d92f0c8fc0af0975ecbd008c3633766a9..0000000000000000000000000000000000000000 --- a/src/backend/gporca/libgpos/server/src/unittest/gpos/io/COstreamFileTest.cpp +++ /dev/null @@ -1,177 +0,0 @@ -//--------------------------------------------------------------------------- -// Greenplum Database -// Copyright (C) 2011 EMC Corp. -// -// @filename: -// COstreamFileTest.cpp -// -// @doc: -// Tests for COstreamFile -//--------------------------------------------------------------------------- - -#include "gpos/io/ioutils.h" -#include "gpos/io/CFileReader.h" -#include "gpos/io/COstreamFile.h" -#include "gpos/string/CStringStatic.h" -#include "gpos/string/CWStringStatic.h" -#include "gpos/string/CWStringConst.h" -#include "gpos/task/CAutoTraceFlag.h" -#include "gpos/test/CUnittest.h" - -#include "unittest/gpos/io/COstreamFileTest.h" - -using namespace gpos; - - -//--------------------------------------------------------------------------- -// @function: -// COstreamFileTest::EresUnittest -// -// @doc: -// Function for raising assert exceptions; again, encapsulated in a function -// to facilitate debugging -// -//--------------------------------------------------------------------------- -GPOS_RESULT -COstreamFileTest::EresUnittest() -{ - CUnittest rgut[] = { - GPOS_UNITTEST_FUNC(COstreamFileTest::EresUnittest_Basic), - }; - - return CUnittest::EresExecute(rgut, GPOS_ARRAY_SIZE(rgut)); -} - - -//--------------------------------------------------------------------------- -// @function: -// COstreamFileTest::EresUnittest_Basic -// -// @doc: -// Basic test for writing to output file stream; -// -//--------------------------------------------------------------------------- -GPOS_RESULT -COstreamFileTest::EresUnittest_Basic() -{ - // create temporary file in new directory under /tmp - CHAR file_path[GPOS_FILE_NAME_BUF_SIZE]; - CHAR szFile[GPOS_FILE_NAME_BUF_SIZE]; - - CStringStatic strPath(file_path, GPOS_ARRAY_SIZE(file_path)); - CStringStatic strFile(szFile, GPOS_ARRAY_SIZE(szFile)); - - strPath.AppendBuffer("/tmp/gpos_test_stream.XXXXXX"); - - // create dir - (void) ioutils::CreateTempDir(file_path); - - strFile.Append(&strPath); - strFile.AppendBuffer("/COstreamFileTest"); - - GPOS_TRY - { - Unittest_WriteFileStream(strFile.Buffer()); - - Unittest_CheckOutputFile(strFile.Buffer()); - } - GPOS_CATCH_EX(ex) - { - Unittest_DeleteTmpFile(strPath.Buffer(), strFile.Buffer()); - - GPOS_RETHROW(ex); - } - GPOS_CATCH_END; - - Unittest_DeleteTmpFile(strPath.Buffer(), strFile.Buffer()); - - return GPOS_OK; -} - - -//--------------------------------------------------------------------------- -// @function: -// COstreamFileTest::Unittest_WriteFileStream -// -// @doc: -// Write to output file stream -// -//--------------------------------------------------------------------------- -void -COstreamFileTest::Unittest_WriteFileStream(const CHAR *szFile) -{ - GPOS_ASSERT(NULL != szFile); - - COstreamFile osf(szFile); - - const WCHAR wc = 'W'; - const CHAR c = 'C'; - const ULLONG ull = 102; - const LINT li = -10; - const WCHAR wsz[] = GPOS_WSZ_LIT("some regular string"); - const INT hex = 0xdeadbeef; - - osf << wc << c << ull << li << wsz << COstream::EsmHex << hex; -} - - -//--------------------------------------------------------------------------- -// @function: -// COstreamFileTest::Unittest_CheckOutputFile -// -// @doc: -// Check the contents of the file used by the output stream -// -//--------------------------------------------------------------------------- -void -COstreamFileTest::Unittest_CheckOutputFile(const CHAR *szFile) -{ - GPOS_ASSERT(NULL != szFile); - - CFileReader fr; - fr.Open(szFile); - - const ULONG ulReadBufferSize = 1024; - WCHAR wszReadBuffer[ulReadBufferSize]; - - ULONG_PTR ulpRead GPOS_ASSERTS_ONLY = fr.ReadBytesToBuffer( - (BYTE *) wszReadBuffer, GPOS_ARRAY_SIZE(wszReadBuffer)); - - CWStringConst strExpected( - GPOS_WSZ_LIT("WC102-10some regular stringdeadbeef")); - - GPOS_ASSERT(ulpRead == - (ULONG_PTR) strExpected.Length() * GPOS_SIZEOF(WCHAR)); - GPOS_ASSERT(strExpected.Equals(&strExpected)); -} - - -//--------------------------------------------------------------------------- -// @function: -// COstreamFileTest::Unittest_DeleteTmpFile -// -// @doc: -// Delete temporary file; -// -//--------------------------------------------------------------------------- -void -COstreamFileTest::Unittest_DeleteTmpFile(const CHAR *szDir, const CHAR *szFile) -{ - GPOS_ASSERT(NULL != szDir); - GPOS_ASSERT(NULL != szFile); - - if (ioutils::PathExists(szFile)) - { - // delete temporary file - ioutils::Unlink(szFile); - } - - if (ioutils::PathExists(szDir)) - { - // delete temporary dir - ioutils::RemoveDir(szDir); - } -} - - -// EOF diff --git a/src/backend/gporca/libgpos/src/io/COstreamFile.cpp b/src/backend/gporca/libgpos/src/io/COstreamFile.cpp deleted file mode 100644 index e5c62f2d4d30dcd4b83dde170b4ff5123bb34dab..0000000000000000000000000000000000000000 --- a/src/backend/gporca/libgpos/src/io/COstreamFile.cpp +++ /dev/null @@ -1,64 +0,0 @@ -//--------------------------------------------------------------------------- -// Greenplum Database -// Copyright (C) 2011 EMC Corp. -// -// @filename: -// COstreamFile.cpp -// -// @doc: -// Implementation of output file stream class; -//--------------------------------------------------------------------------- - -#include "gpos/base.h" -#include "gpos/io/COstreamFile.h" - -using namespace gpos; - - -//--------------------------------------------------------------------------- -// @function: -// COstreamFile::COstreamFile -// -// @doc: -// Ctor -// -//--------------------------------------------------------------------------- -COstreamFile::COstreamFile(const CHAR *file_path, ULONG permission_bits) -{ - m_file_writer.Open(file_path, permission_bits); -} - - -//--------------------------------------------------------------------------- -// @function: -// COstreamFile::COstreamFile -// -// @doc: -// Dtor -// -//--------------------------------------------------------------------------- -COstreamFile::~COstreamFile() -{ - m_file_writer.Close(); -} - - -//--------------------------------------------------------------------------- -// @function: -// COstreamFile::operator<< -// -// @doc: -// WCHAR write thru; -// -//--------------------------------------------------------------------------- -IOstream & -COstreamFile::operator<<(const WCHAR *wsz) -{ - ULONG_PTR ulpSize = GPOS_WSZ_LENGTH(wsz) * GPOS_SIZEOF(WCHAR); - m_file_writer.Write((const BYTE *) wsz, ulpSize); - - return *this; -} - - -// EOF diff --git a/src/backend/gporca/libgpos/src/io/Makefile b/src/backend/gporca/libgpos/src/io/Makefile index 7ab8df9d3dbbe7a6ae9fcb51805ebf553e0def05..ee6ee62b64fea780f566ec4592dab71fbae461c3 100644 --- a/src/backend/gporca/libgpos/src/io/Makefile +++ b/src/backend/gporca/libgpos/src/io/Makefile @@ -15,7 +15,6 @@ OBJS = CFileDescriptor.o \ CFileWriter.o \ COstream.o \ COstreamBasic.o \ - COstreamFile.o \ COstreamString.o \ ioutils.o diff --git a/src/backend/gporca/server/src/unittest/gpopt/minidump/CMiniDumperDXLTest.cpp b/src/backend/gporca/server/src/unittest/gpopt/minidump/CMiniDumperDXLTest.cpp index 6e68bee0aa3897dbbdf96e64938830e397dd075f..584bb6ea8859506adf04e5e9015a28993071b42b 100644 --- a/src/backend/gporca/server/src/unittest/gpopt/minidump/CMiniDumperDXLTest.cpp +++ b/src/backend/gporca/server/src/unittest/gpopt/minidump/CMiniDumperDXLTest.cpp @@ -8,34 +8,34 @@ // @doc: // Test for DXL-based minidumps //--------------------------------------------------------------------------- +#include "unittest/gpopt/minidump/CMiniDumperDXLTest.h" + +#include "gpos/io/CFileDescriptor.h" #include "gpos/io/COstreamString.h" -#include "gpos/io/COstreamFile.h" #include "gpos/task/CAutoTraceFlag.h" -#include "naucrates/base/CQueryToDXLResult.h" -#include "naucrates/dxl/CDXLUtils.h" - #include "gpopt/base/CQueryContext.h" #include "gpopt/engine/CEngine.h" #include "gpopt/engine/CEnumeratorConfig.h" #include "gpopt/engine/CStatisticsConfig.h" #include "gpopt/eval/CConstExprEvaluatorDefault.h" -#include "gpopt/optimizer/COptimizerConfig.h" #include "gpopt/minidump/CDXLMinidump.h" #include "gpopt/minidump/CMiniDumperDXL.h" #include "gpopt/minidump/CMinidumperUtils.h" -#include "gpopt/minidump/CSerializableQuery.h" #include "gpopt/minidump/CSerializableMDAccessor.h" +#include "gpopt/minidump/CSerializableOptimizerConfig.h" #include "gpopt/minidump/CSerializablePlan.h" +#include "gpopt/minidump/CSerializableQuery.h" #include "gpopt/minidump/CSerializableStackTrace.h" -#include "gpopt/minidump/CSerializableOptimizerConfig.h" +#include "gpopt/optimizer/COptimizerConfig.h" #include "gpopt/translate/CTranslatorDXLToExpr.h" #include "gpopt/translate/CTranslatorExprToDXL.h" +#include "naucrates/base/CQueryToDXLResult.h" +#include "naucrates/dxl/CDXLUtils.h" #include "unittest/base.h" -#include "unittest/gpopt/minidump/CMiniDumperDXLTest.h" -#include "unittest/gpopt/translate/CTranslatorExprToDXLTest.h" #include "unittest/gpopt/CTestUtils.h" +#include "unittest/gpopt/translate/CTranslatorExprToDXLTest.h" #include