Skip to content

Commit

Permalink
update to 0.9.52
Browse files Browse the repository at this point in the history
  • Loading branch information
bersler committed Nov 5, 2022
1 parent dad73be commit 8ca078f
Show file tree
Hide file tree
Showing 62 changed files with 1,535 additions and 1,391 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
0.9.52
- experimental LOB processing fixes
- minor bug fixes
- code style cleanup

0.9.51
- added support for binary_float, binary_double types

Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.16)
project(OpenLogReplicator VERSION 0.9.51)
project(OpenLogReplicator VERSION 0.9.52)

set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
set(CMAKE_CXX_STANDARD 17)
Expand Down
10 changes: 5 additions & 5 deletions src/OpenLogReplicator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -353,11 +353,11 @@ namespace OpenLogReplicator {
startSequence, startTime, startTimeRel);
metadatas.push_back(metadata);

metadata->addElement("SYS", "CCOL\\$", OPTIONS_SYSTEM_TABLE);
metadata->addElement("SYS", "CDEF\\$", OPTIONS_SYSTEM_TABLE);
metadata->addElement("SYS", "COL\\$", OPTIONS_SYSTEM_TABLE);
metadata->addElement("SYS", "CCOL\\$", OPTIONS_SYSTEM_TABLE | OPTIONS_SCHEMA_TABLE);
metadata->addElement("SYS", "CDEF\\$", OPTIONS_SYSTEM_TABLE | OPTIONS_SCHEMA_TABLE);
metadata->addElement("SYS", "COL\\$", OPTIONS_SYSTEM_TABLE | OPTIONS_SCHEMA_TABLE);
metadata->addElement("SYS", "DEFERRED_STG\\$", OPTIONS_SYSTEM_TABLE);
metadata->addElement("SYS", "ECOL\\$", OPTIONS_SYSTEM_TABLE);
metadata->addElement("SYS", "ECOL\\$", OPTIONS_SYSTEM_TABLE | OPTIONS_SCHEMA_TABLE);
metadata->addElement("SYS", "LOB\\$", OPTIONS_SYSTEM_TABLE);
metadata->addElement("SYS", "LOBCOMPPART\\$", OPTIONS_SYSTEM_TABLE);
metadata->addElement("SYS", "LOBFRAG\\$", OPTIONS_SYSTEM_TABLE);
Expand Down Expand Up @@ -663,7 +663,7 @@ namespace OpenLogReplicator {
Replicator* replicator2 = nullptr;
for (Replicator* replicatorTmp : replicators)
if (replicatorTmp->alias == source)
replicator2 = (Replicator*)replicatorTmp;
replicator2 = replicatorTmp;
if (replicator2 == nullptr)
throw ConfigurationException(std::string("bad JSON, couldn't find reader for 'source' value: ") + source);

Expand Down
9 changes: 5 additions & 4 deletions src/StreamClient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ int main(int argc, char** argv) {
INFO("INFO database: " << request.database_name())
send(request, stream);
receive(response, stream);
INFO("- code: " << (uint64_t)response.code() << ", scn: " << response.scn())
INFO("- code: " << static_cast<uint64_t>(response.code()) << ", scn: " << response.scn())

uint64_t scn = 0;
if (response.code() == OpenLogReplicator::pb::ResponseCode::STARTED) {
Expand All @@ -114,7 +114,7 @@ int main(int argc, char** argv) {
}
send(request, stream);
receive(response, stream);
INFO("- code: " << (uint64_t)response.code() << ", scn: " << response.scn())
INFO("- code: " << static_cast<uint64_t>(response.code()) << ", scn: " << response.scn())

if (response.code() == OpenLogReplicator::pb::ResponseCode::STARTED || response.code() == OpenLogReplicator::pb::ResponseCode::ALREADY_STARTED) {
scn = response.scn();
Expand All @@ -136,14 +136,15 @@ int main(int argc, char** argv) {
INFO("REDO database: " << request.database_name())
send(request, stream);
receive(response, stream);
INFO("- code: " << (uint64_t)response.code())
INFO("- code: " << static_cast<uint64_t>(response.code()))

if (response.code() != OpenLogReplicator::pb::ResponseCode::STREAMING)
return 1;

for (;;) {
receive(response, stream);
INFO("- scn: " << std::dec << response.scn() << ", code: " << (uint64_t) response.code() << " payload size: " << response.payload_size())
INFO("- scn: " << std::dec << response.scn() << ", code: " << static_cast<uint64_t>(response.code()) << " payload size: " <<
response.payload_size())
lastScn = response.scn();
++num;

Expand Down
203 changes: 114 additions & 89 deletions src/builder/Builder.cpp

Large diffs are not rendered by default.

155 changes: 80 additions & 75 deletions src/builder/Builder.h

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions src/builder/BuilderJson.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -159,9 +159,9 @@ namespace OpenLogReplicator {
// 2012-04-23T18:25:43.511Z - ISO 8601 format
builderAppend('"');
if (epochTime.tm_year > 0) {
appendDec((uint64_t)epochTime.tm_year);
appendDec(static_cast<uint64_t>(epochTime.tm_year));
} else {
appendDec((uint64_t)(-epochTime.tm_year));
appendDec(static_cast<uint64_t>(-epochTime.tm_year));
builderAppend("BC", sizeof("BC") - 1);
}
builderAppend('-');
Expand Down Expand Up @@ -308,7 +308,7 @@ namespace OpenLogReplicator {
builderAppend(R"(,"columns":[)", sizeof(R"(,"columns":[)") - 1);

bool hasPrev = false;
for (typeCol column = 0; column < (typeCol)table->columns.size(); ++column) {
for (typeCol column = 0; column < static_cast<typeCol>(table->columns.size()); ++column) {
if (table->columns[column] == nullptr)
continue;

Expand Down
4 changes: 2 additions & 2 deletions src/builder/BuilderJson.h
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ namespace OpenLogReplicator {
} else {
uint64_t baseMax = valuesMax >> 6;
for (uint64_t base = 0; base <= baseMax; ++base) {
auto column = (typeCol)(base << 6);
auto column = static_cast<typeCol>(base << 6);
for (uint64_t mask = 1; mask != 0; mask <<= 1, ++column) {
if (valuesSet[base] < mask)
break;
Expand Down Expand Up @@ -183,7 +183,7 @@ namespace OpenLogReplicator {
} else {
uint64_t baseMax = valuesMax >> 6;
for (uint64_t base = 0; base <= baseMax; ++base) {
auto column = (typeCol)(base << 6);
auto column = static_cast<typeCol>(base << 6);
for (uint64_t mask = 1; mask != 0; mask <<= 1, ++column) {
if (valuesSet[base] < mask)
break;
Expand Down
36 changes: 18 additions & 18 deletions src/builder/BuilderProtobuf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -166,19 +166,19 @@ namespace OpenLogReplicator {
if (xidFormat == XID_FORMAT_TEXT_HEX) {
std::ostringstream ss;
ss << "0x";
ss << std::setfill('0') << std::setw(4) << std::hex << (uint64_t)lastXid.usn();
ss << std::setfill('0') << std::setw(4) << std::hex << static_cast<uint64_t>(lastXid.usn());
ss << '.';
ss << std::setfill('0') << std::setw(3) << std::hex << (uint64_t)lastXid.slt();
ss << std::setfill('0') << std::setw(3) << std::hex << static_cast<uint64_t>(lastXid.slt());
ss << '.';
ss << std::setfill('0') << std::setw(8) << std::hex << (uint64_t)lastXid.sqn();
ss << std::setfill('0') << std::setw(8) << std::hex << static_cast<uint64_t>(lastXid.sqn());
redoResponsePB->set_xid(ss.str());
} else if (xidFormat == XID_FORMAT_TEXT_DEC) {
std::ostringstream ss;
ss << (uint64_t)lastXid.usn();
ss << static_cast<uint64_t>(lastXid.usn());
ss << '.';
ss << (uint64_t)lastXid.slt();
ss << static_cast<uint64_t>(lastXid.slt());
ss << '.';
ss << (uint64_t)lastXid.sqn();
ss << static_cast<uint64_t>(lastXid.sqn());
redoResponsePB->set_xid(ss.str());
} else {
redoResponsePB->set_xidn(lastXid.getData());
Expand Down Expand Up @@ -210,7 +210,7 @@ namespace OpenLogReplicator {
schemaPB->add_column();
pb::Column* columnPB = schemaPB->mutable_column(schemaPB->column_size() - 1);

for (typeCol column = 0; column < (typeCol)table->columns.size(); ++column) {
for (typeCol column = 0; column < static_cast<typeCol>(table->columns.size()); ++column) {
if (table->columns[column] == nullptr)
continue;

Expand All @@ -219,13 +219,13 @@ namespace OpenLogReplicator {
switch(table->columns[column]->type) {
case SYS_COL_TYPE_VARCHAR:
columnPB->set_type(pb::VARCHAR2);
columnPB->set_length((int32_t)table->columns[column]->length);
columnPB->set_length(static_cast<int32_t>(table->columns[column]->length));
break;

case SYS_COL_TYPE_NUMBER:
columnPB->set_type(pb::NUMBER);
columnPB->set_precision((int32_t)table->columns[column]->precision);
columnPB->set_scale((int32_t)table->columns[column]->scale);
columnPB->set_precision(static_cast<int32_t>(table->columns[column]->precision));
columnPB->set_scale(static_cast<int32_t>(table->columns[column]->scale));
break;

case SYS_COL_TYPE_LONG: // long, not supported
Expand All @@ -238,7 +238,7 @@ namespace OpenLogReplicator {

case SYS_COL_TYPE_RAW:
columnPB->set_type(pb::RAW);
columnPB->set_length((int32_t)table->columns[column]->length);
columnPB->set_length(static_cast<int32_t>(table->columns[column]->length));
break;

case SYS_COL_TYPE_LONG_RAW: // Not supported
Expand All @@ -251,7 +251,7 @@ namespace OpenLogReplicator {

case SYS_COL_TYPE_CHAR:
columnPB->set_type(pb::CHAR);
columnPB->set_length((int32_t)table->columns[column]->length);
columnPB->set_length(static_cast<int32_t>(table->columns[column]->length));
break;

case SYS_COL_TYPE_FLOAT:
Expand All @@ -272,32 +272,32 @@ namespace OpenLogReplicator {

case SYS_COL_TYPE_TIMESTAMP:
columnPB->set_type(pb::TIMESTAMP);
columnPB->set_length((int32_t)table->columns[column]->length);
columnPB->set_length(static_cast<int32_t>(table->columns[column]->length));
break;

case SYS_COL_TYPE_TIMESTAMP_WITH_TZ:
columnPB->set_type(pb::TIMESTAMP_WITH_TZ);
columnPB->set_length((int32_t)table->columns[column]->length);
columnPB->set_length(static_cast<int32_t>(table->columns[column]->length));
break;

case SYS_COL_TYPE_INTERVAL_YEAR_TO_MONTH:
columnPB->set_type(pb::INTERVAL_YEAR_TO_MONTH);
columnPB->set_length((int32_t)table->columns[column]->length);
columnPB->set_length(static_cast<int32_t>(table->columns[column]->length));
break;

case SYS_COL_TYPE_INTERVAL_DAY_TO_SECOND:
columnPB->set_type(pb::INTERVAL_DAY_TO_SECOND);
columnPB->set_length((int32_t)table->columns[column]->length);
columnPB->set_length(static_cast<int32_t>(table->columns[column]->length));
break;

case SYS_COL_TYPE_URAWID:
columnPB->set_type(pb::UROWID);
columnPB->set_length((int32_t)table->columns[column]->length);
columnPB->set_length(static_cast<int32_t>(table->columns[column]->length));
break;

case SYS_COL_TYPE_TIMESTAMP_WITH_LOCAL_TZ: // Not supported
columnPB->set_type(pb::TIMESTAMP_WITH_LOCAL_TZ);
columnPB->set_length((int32_t)table->columns[column]->length);
columnPB->set_length(static_cast<int32_t>(table->columns[column]->length));
break;

default:
Expand Down
4 changes: 2 additions & 2 deletions src/builder/BuilderProtobuf.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ namespace OpenLogReplicator {
} else {
uint64_t baseMax = valuesMax >> 6;
for (uint64_t base = 0; base <= baseMax; ++base) {
auto column = (typeCol)(base << 6);
auto column = static_cast<typeCol>(base << 6);
for (uint64_t mask = 1; mask != 0; mask <<= 1, ++column) {
if (valuesSet[base] < mask)
break;
Expand Down Expand Up @@ -105,7 +105,7 @@ namespace OpenLogReplicator {
} else {
uint64_t baseMax = valuesMax >> 6;
for (uint64_t base = 0; base <= baseMax; ++base) {
auto column = (typeCol)(base << 6);
auto column = static_cast<typeCol>(base << 6);
for (uint64_t mask = 1; mask != 0; mask <<= 1, ++column) {
if (valuesSet[base] < mask)
break;
Expand Down
Loading

0 comments on commit 8ca078f

Please sign in to comment.