Skip to content

Commit

Permalink
update to 0.9.41-beta
Browse files Browse the repository at this point in the history
  • Loading branch information
bersler committed Mar 27, 2022
1 parent 98dc537 commit e400715
Show file tree
Hide file tree
Showing 33 changed files with 128 additions and 44 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
0.9.41-beta
- conversion bug fixes

0.9.40-beta
- performance optimizations

Expand Down
20 changes: 10 additions & 10 deletions configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for OpenLogReplicator 0.9.40-beta.
# Generated by GNU Autoconf 2.69 for OpenLogReplicator 0.9.41-beta.
#
# Report bugs to <[email protected]>.
#
Expand Down Expand Up @@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='OpenLogReplicator'
PACKAGE_TARNAME='openlogreplicator'
PACKAGE_VERSION='0.9.40-beta'
PACKAGE_STRING='OpenLogReplicator 0.9.40-beta'
PACKAGE_VERSION='0.9.41-beta'
PACKAGE_STRING='OpenLogReplicator 0.9.41-beta'
PACKAGE_BUGREPORT='[email protected]'
PACKAGE_URL=''

Expand Down Expand Up @@ -1355,7 +1355,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures OpenLogReplicator 0.9.40-beta to adapt to many kinds of systems.
\`configure' configures OpenLogReplicator 0.9.41-beta to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

Expand Down Expand Up @@ -1427,7 +1427,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of OpenLogReplicator 0.9.40-beta:";;
short | recursive ) echo "Configuration of OpenLogReplicator 0.9.41-beta:";;
esac
cat <<\_ACEOF

Expand Down Expand Up @@ -1548,7 +1548,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
OpenLogReplicator configure 0.9.40-beta
OpenLogReplicator configure 0.9.41-beta
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
Expand Down Expand Up @@ -2453,7 +2453,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by OpenLogReplicator $as_me 0.9.40-beta, which was
It was created by OpenLogReplicator $as_me 0.9.41-beta, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
Expand Down Expand Up @@ -4716,7 +4716,7 @@ fi

# Define the identity of the package.
PACKAGE='openlogreplicator'
VERSION='0.9.40-beta'
VERSION='0.9.41-beta'


cat >>confdefs.h <<_ACEOF
Expand Down Expand Up @@ -17691,7 +17691,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by OpenLogReplicator $as_me 0.9.40-beta, which was
This file was extended by OpenLogReplicator $as_me 0.9.41-beta, which was
generated by GNU Autoconf 2.69. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -17757,7 +17757,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
OpenLogReplicator config.status 0.9.40-beta
OpenLogReplicator config.status 0.9.41-beta
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#<http://www.gnu.org/licenses/>.

AC_PREREQ(2.68)
AC_INIT([OpenLogReplicator],[0.9.40-beta],[[email protected]])
AC_INIT([OpenLogReplicator],[0.9.41-beta],[[email protected]])
AC_USE_SYSTEM_EXTENSIONS
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR(config)
Expand Down
2 changes: 1 addition & 1 deletion libtool
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#! /bin/bash
# Generated automatically by config.status (openlogreplicator) 0.9.40-beta
# Generated automatically by config.status (openlogreplicator) 0.9.41-beta
# NOTE: Changes made to this file will be lost: look at ltmain.sh.

# Provide generalized library-building support services.
Expand Down
2 changes: 1 addition & 1 deletion src/OpCode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ namespace OpenLogReplicator {

if (oracleAnalyzer->dumpRedoLog >= 1) {
uint8_t to = redoLogRecord->data[fieldPos + 19];
oracleAnalyzer->dumpStream << "tabn: "<< (uint64_t)redoLogRecord->tabn <<
oracleAnalyzer->dumpStream << "tabn: " << (uint64_t)redoLogRecord->tabn <<
" slot: " << std::dec << redoLogRecord->slot <<
" to: " << std::dec << (uint64_t)to << std::endl;
}
Expand Down
2 changes: 1 addition & 1 deletion src/OpCode0504.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ namespace OpenLogReplicator {
redoLogRecord->flg = redoLogRecord->data[fieldPos + 16];

if (oracleAnalyzer->dumpRedoLog >= 1) {
uint16_t srt = oracleAnalyzer->read16(redoLogRecord->data + fieldPos + 8); //to check
uint16_t srt = oracleAnalyzer->read16(redoLogRecord->data + fieldPos + 8); //FIXME
uint32_t sta = oracleAnalyzer->read32(redoLogRecord->data + fieldPos + 12);

oracleAnalyzer->dumpStream << "ktucm redo: slt: 0x" << std::setfill('0') << std::setw(4) << std::hex << (uint64_t)SLT(redoLogRecord->xid) <<
Expand Down
6 changes: 5 additions & 1 deletion src/OpCode1801.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Oracle Redo OpCode: 18.1
/* Oracle Redo OpCode: 24.1
Copyright (C) 2018-2022 Adam Leszczynski ([email protected])
This file is part of OpenLogReplicator.
Expand Down Expand Up @@ -33,6 +33,10 @@ namespace OpenLogReplicator {

oracleAnalyzer->nextField(redoLogRecord, fieldNum, fieldPos, fieldLength, 0x180101);
//field: 1
if (fieldLength < 18) {
WARNING("too short field for 24.1: " << std::dec << fieldLength << " offset: " << redoLogRecord->dataOffset);
return;
}
redoLogRecord->xid = XID(oracleAnalyzer->read16(redoLogRecord->data + fieldPos + 4),
oracleAnalyzer->read16(redoLogRecord->data + fieldPos + 6),
oracleAnalyzer->read32(redoLogRecord->data + fieldPos + 8));
Expand Down
42 changes: 21 additions & 21 deletions src/OracleAnalyzer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -363,13 +363,13 @@ namespace OpenLogReplicator {
}

void OracleAnalyzer::write56Big(uint8_t* buf, uint64_t val) {
buf[0] = (val >> 48) & 0xFF;
buf[1] = (val >> 40) & 0xFF;
buf[2] = (val >> 32) & 0xFF;
buf[3] = (val >> 24) & 0xFF;
buf[4] = (val >> 16) & 0xFF;
buf[5] = (val >> 8) & 0xFF;
buf[6] = val & 0xFF;
buf[0] = (val >> 24) & 0xFF;
buf[1] = (val >> 16) & 0xFF;
buf[2] = (val >> 8) & 0xFF;
buf[3] = val & 0xFF;
buf[4] = (val >> 40) & 0xFF;
buf[5] = (val >> 32) & 0xFF;
buf[6] = (val >> 48) & 0xFF;
}

void OracleAnalyzer::write64Little(uint8_t* buf, uint64_t val) {
Expand Down Expand Up @@ -408,29 +408,29 @@ namespace OpenLogReplicator {
buf[2] = (val >> 16) & 0xFF;
buf[3] = (val >> 24) & 0xFF;
buf[4] = (val >> 48) & 0xFF;
buf[5] = ((val >> 56) & 0xFF) | 0x80;
buf[5] = ((val >> 56) & 0x7F) | 0x80;
buf[6] = (val >> 32) & 0xFF;
buf[7] = (val >> 40) & 0xFF;
}
}

void OracleAnalyzer::writeSCNBig(uint8_t* buf, typeSCN val) {
if (val < 0x800000000000) {
buf[5] = val & 0xFF;
buf[4] = (val >> 8) & 0xFF;
buf[3] = (val >> 16) & 0xFF;
buf[2] = (val >> 24) & 0xFF;
buf[1] = (val >> 32) & 0xFF;
buf[0] = (val >> 40) & 0xFF;
buf[0] = (val >> 24) & 0xFF;
buf[1] = (val >> 16) & 0xFF;
buf[2] = (val >> 8) & 0xFF;
buf[3] = val & 0xFF;
buf[4] = (val >> 40) & 0xFF;
buf[5] = (val >> 32) & 0xFF;
} else {
buf[5] = val & 0xFF;
buf[4] = (val >> 8) & 0xFF;
buf[3] = (val >> 16) & 0xFF;
buf[2] = (val >> 24) & 0xFF;
buf[1] = (val >> 48) & 0xFF;
buf[0] = ((val >> 56) & 0xFF) | 0x80;
buf[7] = (val >> 32) & 0xFF;
buf[0] = (val >> 24) & 0xFF;
buf[1] = (val >> 16) & 0xFF;
buf[2] = (val >> 8) & 0xFF;
buf[3] = val & 0xFF;
buf[4] = ((val >> 56) & 0x7F) | 0x80;
buf[5] = (val >> 48) & 0xFF;
buf[6] = (val >> 40) & 0xFF;
buf[7] = (val >> 32) & 0xFF;
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/Reader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ namespace OpenLogReplicator {

if (version != oracleAnalyzer->version) {
ERROR("invalid database version (found: 0x" << std::setfill('0') << std::setw(8) << std::hex << compatVsn <<
", expected: 0x" << std::setfill('0') << std::setw(8) << std::hex << version << "): " << fileName);
", expected: 0x" << std::setfill('0') << std::setw(8) << std::hex << oracleAnalyzer->version << "): " << fileName);
return REDO_ERROR_BAD_DATA;
}

Expand Down
2 changes: 1 addition & 1 deletion src/RowId.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ namespace OpenLogReplicator {

dba = (((typeDBA)map64R[rowid[9]]) << 30) |
(((typeDBA)map64R[rowid[10]]) << 24) |
(((typeDBA)map64R[rowid[1]]) << 18) |
(((typeDBA)map64R[rowid[11]]) << 18) |
(((typeDBA)map64R[rowid[12]]) << 12) |
(((typeDBA)map64R[rowid[13]]) << 6) |
((typeDBA)map64R[rowid[14]]) |
Expand Down
6 changes: 6 additions & 0 deletions src/SysCCol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@ namespace OpenLogReplicator {
return false;
}

bool SysCCol::operator!=(const SysCCol& other) const {
if (other.rowId != rowId || other.con != con || other.intCol != intCol || other.obj != obj || other.spare1 != spare1)
return true;
return false;
}

SysCCol::SysCCol(RowId& rowId, typeCON con, typeCOL intCol, typeOBJ obj, uint64_t spare11, uint64_t spare12, bool touched) :
rowId(rowId),
con(con),
Expand Down
1 change: 1 addition & 0 deletions src/SysCCol.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ namespace OpenLogReplicator {
class SysCCol {
public:
SysCCol(RowId& rowId, typeCON con, typeCOL intCol, typeOBJ obj, uint64_t spare11, uint64_t spare12, bool touched);
bool operator!=(const SysCCol& other) const;

RowId rowId;
typeCON con;
Expand Down
6 changes: 6 additions & 0 deletions src/SysCDef.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ namespace OpenLogReplicator {
saved(false) {
}

bool SysCDef::operator!=(const SysCDef& other) const {
if (other.rowId != rowId || other.con != con || other.obj != obj || other.type != type)
return true;
return false;
}

bool SysCDef::isPK(void) {
return (type == 2);
}
Expand Down
1 change: 1 addition & 0 deletions src/SysCDef.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ namespace OpenLogReplicator {
class SysCDef {
public:
SysCDef(RowId& rowId, typeCON con, typeOBJ obj, typeTYPE type, bool touched);
bool operator!=(const SysCDef& other) const;
bool isPK(void);
bool isSupplementalLog(void);
bool isSupplementalLogPK(void);
Expand Down
10 changes: 8 additions & 2 deletions src/SysCol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ namespace OpenLogReplicator {
segCol(segCol) {
}


bool SysColSeg::operator<(const SysColSeg& other) const {
if (other.obj > obj)
return true;
Expand All @@ -49,7 +48,6 @@ namespace OpenLogReplicator {
intCol(intCol) {
}


bool SysColKey::operator<(const SysColKey& other) const {
if (other.obj > obj)
return true;
Expand Down Expand Up @@ -79,6 +77,14 @@ namespace OpenLogReplicator {
property.set(property1, property2);
}

bool SysCol::operator!=(const SysCol& other) const {
if (other.rowId != rowId || other.obj != obj || other.col != col || other.segCol != segCol || other.segCol != segCol || other.name.compare(name) != 0 ||
other.type != type || other.length != length || other.precision != precision || other.scale != scale || other.charsetForm != charsetForm ||
other.charsetId != charsetId || other.null_ != null_ || other.property != property)
return true;
return false;
}

bool SysCol::isInvisible(void) {
return property.isSet64(32);
}
Expand Down
1 change: 1 addition & 0 deletions src/SysCol.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ namespace OpenLogReplicator {
SysCol(RowId& rowId, typeOBJ obj, typeCOL col, typeCOL segCol, typeCOL intCol, const char* name, typeTYPE type,
uint64_t length, int64_t precision, int64_t scale, uint64_t charsetForm, uint64_t charsetId, int64_t null_,
uint64_t property1, uint64_t property2, bool touched);
bool operator!=(const SysCol& other) const;
bool isInvisible(void);
bool isStoredAsLob(void);
bool isConstraint(void);
Expand Down
6 changes: 6 additions & 0 deletions src/SysDeferredStg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ namespace OpenLogReplicator {
flagsStg.set(flagsStg1, flagsStg2);
}

bool SysDeferredStg::operator!=(const SysDeferredStg& other) const {
if (other.rowId != rowId || other.obj != obj || other.flagsStg != flagsStg)
return true;
return false;
}

bool SysDeferredStg::isCompressed(void) {
return flagsStg.isSet64(4);
}
Expand Down
1 change: 1 addition & 0 deletions src/SysDeferredStg.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ namespace OpenLogReplicator {
class SysDeferredStg {
public:
SysDeferredStg(RowId& rowId, typeOBJ obj, uint64_t flagsStg1, uint64_t flagsStg2, bool touched);
bool operator!=(const SysDeferredStg& other) const;
bool isCompressed(void);

RowId rowId;
Expand Down
7 changes: 6 additions & 1 deletion src/SysECol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ namespace OpenLogReplicator {
colNum(colNum) {
}


bool SysEColKey::operator==(const SysEColKey& other) const {
return (other.tabObj == tabObj) &&
(other.colNum == colNum);
Expand All @@ -49,6 +48,12 @@ namespace OpenLogReplicator {
touched(touched),
saved(false) {
}

bool SysECol::operator!=(const SysECol& other) const {
if (other.rowId != rowId || other.tabObj != tabObj || other.colNum != colNum || other.guardId != guardId)
return true;
return false;
}
}

namespace std {
Expand Down
1 change: 1 addition & 0 deletions src/SysECol.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ namespace OpenLogReplicator {
class SysECol {
public:
SysECol(RowId& rowId, typeOBJ tabObj, typeCOL colNum, typeCOL guardId, bool touched);
bool operator!=(const SysECol& other) const;

RowId rowId;
typeOBJ tabObj;
Expand Down
7 changes: 7 additions & 0 deletions src/SysObj.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,13 @@ namespace OpenLogReplicator {
flags.set(flags1, flags2);
}

bool SysObj::operator!=(const SysObj& other) const {
if (other.rowId != rowId || other.owner != owner || other.obj != obj || other.dataObj != dataObj || other.type != type || other.name.compare(name) != 0 ||
other.flags != flags)
return true;
return false;
}

bool SysObj::isTable(void) {
return (type == SYSOBJ_TYPE_TABLE);
}
Expand Down
1 change: 1 addition & 0 deletions src/SysObj.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ namespace OpenLogReplicator {
public:
SysObj(RowId& rowId, typeUSER owner, typeOBJ obj, typeDATAOBJ dataObj, typeTYPE type, const char* name,
uint64_t flags1, uint64_t flags2, bool single, bool touched);
bool operator!=(const SysObj& other) const;
bool isTable(void);
bool isTemporary(void);
bool isDropped(void);
Expand Down
7 changes: 7 additions & 0 deletions src/SysTab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ namespace OpenLogReplicator {
property.set(property1, property2);
}

bool SysTab::operator!=(const SysTab& other) const {
if (other.rowId != rowId || other.obj != obj || other.dataObj != dataObj || other.cluCols != cluCols || other.flags != flags ||
other.property != property)
return true;
return false;
}

bool SysTab::isBinary(void) {
return property.isSet64(1);
}
Expand Down
1 change: 1 addition & 0 deletions src/SysTab.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ namespace OpenLogReplicator {
public:
SysTab(RowId& rowId, typeOBJ obj, typeDATAOBJ dataObj, typeCOL cluCols, uint64_t flags1, uint64_t flags2, uint64_t property1,
uint64_t property2, bool touched);
bool operator!=(const SysTab& other) const;
bool isBinary(void);
bool isClustered(void);
bool isIot(void);
Expand Down
Loading

0 comments on commit e400715

Please sign in to comment.