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;