diff --git a/CHANGELOG b/CHANGELOG index 3044478d..42d22b5a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,10 +1,11 @@ -1.0.2 +1.1 - debug: trace formatting changes - enhancement: add handling of OP 26.2 for experimental LOB support - fix: experimental LOB support - enhancement: code style corrections - fix: error handling of incorrect config file - fix: experimental LOB support Unicode character decoding +- new feature: basicfile LOB (removed being experimental) 1.0.1 - released on 2023.02.20 - fix: incorrect checkpoint file when non-ascii characters are used in schema files diff --git a/CMakeLists.txt b/CMakeLists.txt index c8141600..7e5b48e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,23 +1,23 @@ -#Copyright (C) 2018-2023 Adam Leszczynski (aleszczynski@bersler.com) +# Copyright (C) 2018-2023 Adam Leszczynski (aleszczynski@bersler.com) # -#This file is part of OpenLogReplicator. +# This file is part of OpenLogReplicator. # -#OpenLogReplicator is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License as published -#by the Free Software Foundation; either version 3, or (at your option) -#any later version. +# OpenLogReplicator is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published +# by the Free Software Foundation; either version 3, or (at your option) +# any later version. # -#OpenLogReplicator is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -#Public License for more details. +# OpenLogReplicator is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. # -#You should have received a copy of the GNU General Public License -#along with OpenLogReplicator; see the file LICENSE; If not see -#. +# You should have received a copy of the GNU General Public License +# along with OpenLogReplicator; see the file LICENSE; If not see +# . cmake_minimum_required(VERSION 3.16) -project(OpenLogReplicator VERSION 1.0.2) +project(OpenLogReplicator VERSION 1.1.0) set(CMAKE_CXX_STANDARD_REQUIRED TRUE) set(CMAKE_CXX_STANDARD 17) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4ef4877e..fce48913 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,20 +1,20 @@ -#Copyright (C) 2018-2023 Adam Leszczynski (aleszczynski@bersler.com) +# Copyright (C) 2018-2023 Adam Leszczynski (aleszczynski@bersler.com) # -#This file is part of OpenLogReplicator. +# This file is part of OpenLogReplicator. # -#OpenLogReplicator is free software; you can redistribute it and/or -#modify it under the terms of the GNU General Public License as published -#by the Free Software Foundation; either version 3, or (at your option) -#any later version. +# OpenLogReplicator is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published +# by the Free Software Foundation; either version 3, or (at your option) +# any later version. # -#OpenLogReplicator is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -#Public License for more details. +# OpenLogReplicator is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. # -#You should have received a copy of the GNU General Public License -#along with OpenLogReplicator; see the file LICENSE; If not see -#. +# You should have received a copy of the GNU General Public License +# along with OpenLogReplicator; see the file LICENSE; If not see +# . list(APPEND ListCommon common/ConfigurationException.cpp diff --git a/src/OpenLogReplicator.cpp b/src/OpenLogReplicator.cpp index 5baf1501..4c108669 100644 --- a/src/OpenLogReplicator.cpp +++ b/src/OpenLogReplicator.cpp @@ -243,12 +243,6 @@ namespace OpenLogReplicator { ctx->redoVerifyDelayUs = 500000; } - if (sourceJson.HasMember("experimental-lobs")) { - uint64_t experimentalLobs = Ctx::getJsonFieldU64(fileName, sourceJson, "experimental-lobs"); - if (experimentalLobs > 0) - ctx->experimentalLobs = true; - } - if (readerJson.HasMember("disable-checks")) { ctx->disableChecks = Ctx::getJsonFieldU64(fileName, readerJson, "disable-checks"); if (ctx->disableChecks > 7) diff --git a/src/builder/Builder.cpp b/src/builder/Builder.cpp index fa3116f6..7cb3f465 100644 --- a/src/builder/Builder.cpp +++ b/src/builder/Builder.cpp @@ -159,24 +159,16 @@ namespace OpenLogReplicator { break; case SYS_COL_TYPE_BLOB: - if (ctx->experimentalLobs) { - if (after && table != nullptr) { - if (parseLob(lobCtx, data, length, 0, table->obj, false)) - columnRaw(column->name, reinterpret_cast(valueBuffer), valueLength); - } - } else { - columnUnknown(column->name, data, length); + if (after && table != nullptr) { + if (parseLob(lobCtx, data, length, 0, table->obj, false)) + columnRaw(column->name, reinterpret_cast(valueBuffer), valueLength); } break; case SYS_COL_TYPE_CLOB: - if (ctx->experimentalLobs) { - if (after && table != nullptr) { - if (parseLob(lobCtx, data, length, column->charsetId, table->obj, true)) - columnString(column->name); - } - } else { - columnUnknown(column->name, data, length); + if (after && table != nullptr) { + if (parseLob(lobCtx, data, length, column->charsetId, table->obj, true)) + columnString(column->name); } break; diff --git a/src/common/Ctx.cpp b/src/common/Ctx.cpp index 714a0231..571f411b 100644 --- a/src/common/Ctx.cpp +++ b/src/common/Ctx.cpp @@ -102,7 +102,6 @@ namespace OpenLogReplicator { trace2(0), flags(0), disableChecks(0), - experimentalLobs(false), hardShutdown(false), softShutdown(false), replicatorFinished(false), diff --git a/src/common/Ctx.h b/src/common/Ctx.h index 0edce376..1bce85c3 100644 --- a/src/common/Ctx.h +++ b/src/common/Ctx.h @@ -273,7 +273,6 @@ namespace OpenLogReplicator { std::atomic trace2; std::atomic flags; std::atomic disableChecks; - std::atomic experimentalLobs; std::atomic hardShutdown; std::atomic softShutdown; std::atomic replicatorFinished; diff --git a/src/parser/Parser.cpp b/src/parser/Parser.cpp index 6d7e785f..4e929f0b 100644 --- a/src/parser/Parser.cpp +++ b/src/parser/Parser.cpp @@ -577,9 +577,6 @@ namespace OpenLogReplicator { } void Parser::appendToTransactionLob(RedoLogRecord* redoLogRecord1) { - if (!ctx->experimentalLobs) - return; - OracleLob* lob = metadata->schema->checkLobDict(redoLogRecord1->dataObj); if (lob == nullptr) { TRACE(TRACE2_LOB, "LOB" << @@ -947,9 +944,6 @@ namespace OpenLogReplicator { } void Parser::appendToTransactionIndex(RedoLogRecord* redoLogRecord1, RedoLogRecord* redoLogRecord2) { - if (!ctx->experimentalLobs) - return; - // Skip other PDB vectors if (metadata->conId > 0 && redoLogRecord2->conId != metadata->conId) return;