Cego Change Log
In the following, change log entries for the managed software packages is shown
Last 10 30 100 1000 10000 entries
| Category | Date | Version | Log |
|---|---|---|---|
| cego | 29.12.2025 | 2.53.6 | Added point in time recovery option to restore nut just pit ( timestamp ) but also to a specified lsn. This might be useful to restore exactly to a specific log entry ( timestamp is given in seconds, where multiple operations may occur ) |
| cego | 29.12.2025 | 2.53.6 | Added shiftactive mode for cego to rescue active online redo logs to archive destination. This is useful in case of online backup recovery after a crash, so before starting recovery, the current active online redo log can be explicit shifted. With the shift, the latest LSNs are catched and a full recovery can take place. Please note : This option is just useful, if there are uncorrupted online redo logfiles available after the crash. |
| cego | 28.12.2025 | 2.53.6 | Small improvements added to backupManager tool to evaluate next backup id ( now via shell function ) |
| cego | 26.12.2025 | 2.53.5 | Version released |
| cego | 26.12.2025 | 2.53.5 | Crash consistency checks ( checkCrashAndRecovery with 20 runs and checkRandonCrash with 200 runs ) passed |
| cego | 26.12.2025 | 2.53.5 | Patch added in CegoDistManager::startTableSet, final checkpoint must be written after starting log, otherwise no logswitch will be done |
| cego | 25.12.2025 | 2.53.5 | Basic backup recovery with heavy load, concurrent online backup and recovery up to last committed lsn passed ! |
| cego | 25.12.2025 | 2.53.5 | In CegoRecoveryManager, changed order in recovery procedure. Datafile recovery must be done after file registration, but before object registration. File recovery restores bitmaps and pages on file level and object registration loads pages into bufferpool. So we first have to update data files ( via dataFileRecovery ) and then these pages are loaded to bufferpool ( via registerObjects ). |
| cego | 24.12.2025 | 2.53.5 | Basic tableset recovery from online backup works. To treat th e 0-LSN-Sync logic, several adaptions for CegoRecoveryManager were necessary. Still missing are extensive crash recovery tests |
| cego | 24.12.2025 | 2.53.5 | Set LSN for LOGREC_SYNC operations to 0.
This is useful to simplify the recovery process especially for backup recoveries. With previous logic, LSN gaps occur in the archive log history file ( caused by LSN handling in CegoTableManger::insertDataTable with previous allocated LSN ) which result in incomplete recoveries. The change to LOGREC_SYNC=0 had some impacts for logfile and recovery handling done in CegoLogThreadPool::copyLog, CegoDistManager::startTableSet and CegoLogManager::logAction The new logic also avoids unnecessary archive logs with only LOGREC_SYNC operations, since these files are skipped by copyLog now. This new logic still has to be verified, especially in combination with online backups und subsequent recoveries |
| cego | 23.12.2025 | 2.53.5 | Added patch in CegoLogManager::logAction, logfile should be flushed if LOG_FULL occurs, otherwise it seems, that log entries get lost with subsequent log file switch ( still not verified ) |
| cego | 22.12.2025 | 2.53.4 | Version released |
| cego | 22.12.2025 | 2.53.4 | Added fix in CegoSelect::nextJoinTuple, in case of result ordering, the check for unknown order attribute has been removed. The attribute list returned with getAttrRefList may also contain attributes for nested ( or parent ) query attributes ( attr not found is returned in any case, if there is an invalid attribute reference ). check125 has been added to verify this case. |
| cego | 22.12.2025 | 2.53.4 | Fix added in CegoAdmAction, set threshold default value to 0 ( was -1 ) |
| lfcbase | 20.12.2025 | 1.23.2 | Version released |
| lfcbase | 20.12.2025 | 1.23.2 | Added out of range handling for integer and long values in Chain::asInteger and friend methods |
| lfcbase | 16.12.2025 | 1.23.1 | Version released |
| lfcbase | 16.12.2025 | 1.23.1 | Completed integer cleanup for Pager class, replacement of some asInteger with asUnsigned method calls ( BigInteger, NetHandler, etc. ) |
| cego | 15.12.2025 | 2.53.3 | Version released |
| cego | 15.12.2025 | 2.53.3 | Added several patches for trigger objects ( check self refering tables in trigger block to avoid recursion, object invalidation handling fixed ) |
| cego | 15.12.2025 | 2.53.3 | In CegoRecoveryManager::recoverCurrentTransactionLog , completed recovery procedure for trigger and alias objects. For drop operations, added CegoDatabaseManager::removeObject calls, to remove corresponding objects from object cache |
| cegodbd | 10.12.2025 | 1.5.4 | Version released |
| cegodbd | 10.12.2025 | 1.5.4 | Fix added for execute return value and $sth->rows value to return affected rows for update statements |
| cego | 09.12.2025 | 2.53.2 | Version released |
| cego | 09.12.2025 | 2.53.2 | Further fix added in CegoDbThreadPool for bad message handling |
| cego | 08.12.2025 | 2.53.1 | Version released |
| cegobridge | 08.12.2025 | 1.10.0 | Version released |
| cegobridge | 08.12.2025 | 1.10.0 | Adapted code for cego-2.53 |
| cegobridge | 08.12.2025 | 1.10.0 | Warning elimination done |
| cego | 07.12.2025 | 2.53.1 | Fix added in CegoDbHander::acceptSession and CegoSerial::readChain to treat empty or invalid session requests |
| cegojdbc | 07.12.2025 | 1.15.0 | Version released |
| cego | 07.12.2025 | 2.53.0 | Version released |
| lfcxml | 07.12.2025 | 1.3.9 | Version released |
| dragon | 07.12.2025 | 1.5.6 | Version released |
| lfcbase | 07.12.2025 | 1.23.0 | Version released |
| dragon | 06.12.2025 | 1.5.6 | Started with int to unsigned conversion, CPlusGenerator completed |
| lfcxml | 06.12.2025 | 1.3.9 | Converted from int to unsigned |
| cego | 05.12.2025 | 2.53.0 | In CegoObjectManager, several page variables have been changed from type int to PageIdType. This is relevant for large database configuration, where pageid exceeds integer type |
| cego | 05.12.2025 | 2.53.0 | Fix added in CegoLogRecord::decode, for logAction= LOGREC_BUPPAGE, the wrong size was increased ( int instead of PageIdType ). This might lead to recovery problems, if data pages are writtten to logfile during backup Fix added in CegoAttrDesc::evalTableReferences, alias was not set correctly for all cases, which might lead to wrong predicate evaluation ( detected with delete query with subselect in condition where references occur to delete table ) |
| cego | 30.11.2025 | 2.53.0 | Started with unsigned cleanup to follow corresponding patches in lfcbase |
| lfcbase | 28.11.2025 | 1.23.0 | Started with integer cleanup ( all int values will be replaced by unsigned or unsigned long, where is no need of nagative values ) |
| lfcbase | 26.11.2025 | 1.22.5 | Version released |
| lfcbase | 26.11.2025 | 1.22.5 | After warning elimination Chain::truncRight was broken in case to trunc to empty string. This occured with the change of some local variable from int to unsigned long |
| cego | 24.11.2025 | 2.52.44 | Version released |
| cego | 24.11.2025 | 2.52.44 | More elimination of warnings for compilation with GNU C++ |
| lfcbase | 24.11.2025 | 1.22.4 | Version released |
| lfcbase | 24.11.2025 | 1.22.4 | More warning elimination for compilation with GNU C++ Compiler |
| cego | 23.11.2025 | 2.52.43 | Version released |
| lfcbase | 23.11.2025 | 1.22.3 | Version released |
| cego | 23.11.2025 | 2.52.43 | Added patch for CegoJoinObject for correct and complete decoding. This is needed for database recovery procedure if nested join select occurs in update statement, e.g. update t1 set b1 = ( select max(b2) from t2 inner join t3 on t2.a2 = t3.a3 ); |
| cego | 23.11.2025 | 2.52.43 | Warnig elimination for several code modules. In CegoContentObject encoding and decoding method, the obsolete key flag in the schema information was removed. This leads to a incompatibel datastructure and requires tableset export/ import for an uplift ot this version To toChain method of CegoTableObject, CegoJoinObject and CegoAliasObject has been improved to treat undefined tabSetId argument ( defTabSetId = 0 ). |
| lfcbase | 23.11.2025 | 1.22.3 | Warning elimination in several code modules. Compile with -Wall should print no warnings anymore |
| cego | 17.11.2025 | 2.52.42 | Version released |
| cego | 17.11.2025 | 2.52.42 | In CegoAdminThread, for tableset and table import procedure added switch to next backup branch. This is required, since during import, logging is disabled. So after import, a new backup is needed. |
| cego | 10.11.2025 | 2.52.41 | Version released |
| lfcbase | 10.11.2025 | 1.22.2 | Version released |
| cego | 10.11.2025 | 2.52.41 | For CegoClient and CegoAdmin changed argument evaluation to handle pipe input data in a better way. Pipe mode is just used, if no batch or command mode ist setup and if data is available at stdin. This should also work for FreeBSD, when cgclt or cgadm is used via cronjob. It has been observed, that if a program is called by cron, poll returns data availanle at stdin also if there is no data available. |
| lfcbase | 10.11.2025 | 1.22.2 | Added patch in File::hasData to check return code of pool library call Added fix in basecheck ReplaceTest to return valid results |
| cego | 07.11.2025 | 2.52.40 | Version released |
| cego | 07.11.2025 | 2.52.40 | Please note : Since this patch changed content object encoding, the uplift reqiuires a tableset export/import ! |
| cego | 06.11.2025 | 2.52.40 | Fix added for CegoLogReader. __dateTimeFormat has to be setup to print date values in log data |
| cego | 06.11.2025 | 2.52.40 | In CegoContentObject, encoding and decoding was not done for tableAlias. This might lead query errors during crash or backup recovery for insert or update statements with nested selects. Table Alias has been added to encoding. |
| cego | 06.11.2025 | 2.52.39 | Version released |
| cego | 06.11.2025 | 2.52.39 | Fix added in CegoAggration decoding constructor. _pExpr must be set to 0, otherwise this might result in seg fault during tableset recovery. |
| cego | 06.11.2025 | 2.52.38 | Version released |
| cego | 06.11.2025 | 2.52.38 | Added stdin mode for cego admin console cgadm, so instead of using option --batchfile, admin commands can be feed by pipe |
| cego | 06.11.2025 | 2.52.37 | Version released |
| cego | 05.11.2025 | 2.52.37 | Cleanup and completion work done for CegoLogReader ( cglog ). For this also the abstract method CegoDecodable::getFormatted has been changed to getInfo, which provides a more compact output format. cglog is used to print ( binary ) redo logfiles in a human readable form. |
| cego | 02.11.2025 | 2.52.36 | Version released |
| cego | 02.11.2025 | 2.52.36 | For CegoLogReader added stdin feature, so log file can be piped via stdin to cglog Extended backup list to indicate most recent redo log timestamp. For this, the backupManager utility had to be adapted to retrieve last redo log timestamp from arch and tape directory |
| cego | 31.10.2025 | 2.52.35 | Version released |
| cego | 31.10.2025 | 2.52.35 | Added CegoXMLSpace::adjustPageOffset method to adjust page offset attribute after tableset recovery. This is needed, if a recovery is made from scratch with a new initialized database xml file |
| cego | 31.10.2025 | 2.52.35 | Changed method CegoXMLSpace::nextTSID to generic. Instead of calculating the next tableset id on XML_MAXTSID_ATTR, the id is calculated based on all defined tablesets. In case of a from scratch recovery ( with a new initialized db xml file ), this ensures id consistency |
| cego | 27.10.2025 | 2.52.34 | Version released |
| cego | 27.10.2025 | 2.52.34 | In CegoRecoveryManager::recoverTableSet shifted ticket recovery before file registration. So all needed tableset id values are set up correctly and no more need to adjust any ids. Just root path and branch id must contain appropriate values for newly defined tableset to be recovered |
| cego | 27.10.2025 | 2.52.34 | Another patch added for scratch recovery. If a tableset is defined for backup recovery, the tableset id must be adjusted to the corresponding id in the datafile. For this, new methods CegoTableManager::adjustTableSetId and CegoFileHandler::readTableSetId have been introduced and added to CegoRecoveryManager::recoverTableSet |
| cego | 26.10.2025 | 2.52.33 | Version released |
| cego | 26.10.2025 | 2.52.33 | Added tableset define parameter branchid. This parameter can be used to set up an appropriate backup branchid for from scratch recovery procedures |
| cego | 26.10.2025 | 2..52.33 | Added more stabilzation for online backup recovery from scratch, e.g. checking for existing tableset set entry in db xml during recovery and allow non existing entry. Perhaps it might be useful to check pagesize of backup datafiles and defined pagesize in db xml ... |
| cego | 23.10.2025 | 2.52.33 | Added improved utility scripts for online backup to tools directory ( logManager, backupManager, backupExecuter ) |
| cego | 20.10.2025 | 2.52.32 | Version released |
| cego | 20.10.2025 | 2.52.32 | Fix added in CeegoXMLSpace::getTableSetBackupBranch, double V() operation removed which caused XML locking issue Changed BRANCHID attribute to NEXTBRANCHID in XML root tag, to make meaning clear. |
| cego | 19.10.2025 | 2.52.31 | Version released |
| cego | 19.10.2025 | 2.52.31 | Changed Backup Branch Id from timestamp value to database wide unique numeric id. For this CegoXMLSpace::setTableSetBackupBranch method has changed to nextTableSetBackupBranch |
| cego | 29.09.2025 | 2.52.30 | Version released |
| cego | 29.09.2025 | 2.52.30 | Block variables in CegoDistCursor still have not been handled For this, the constructor has been expanded to take a block variable as an argument. The block variable then is propagated to the corresponding eval methods ( of CegoPredicate objects ) check124 has been added to illustrate a case, where this patch is needed. |
| cego | 18.08.2025 | 2.52.29 | Version released |
| cego | 17.08.2025 | 2.52.29 | In CegoDbThread::serveRequest, added further tableset states ( BACKUP, CHECKPOINT ) where sessions are accepted |
| cego | 17.08.2025 | 2.52.29 | Renamed new option forcestart to lockexpire. Since the argument expects an expire value, this seems to be a better naming. Added lockexpire option to bsd rc script |
| cego | 14.08.2025 | 2.52.28 | Version released |
| cego | 14.08.2025 | 2.52.28 | Added command line option forcestart with integer parameter seconds exceeded. If set, this option will check for the configured daemon lockfile and if the timestamp of the lockfile is older than now - seconds exceeded, the lock file is removed and the database is started. Since in the meantime, the database crash recovery seems to be pretty stable, this option makes sense. |
| cego | 13.08.2025 | 2.52.28 | Improved input handling in CegoClient. For interactive mode, trailing LF, CR and multiple semicolons are cut now. |
| cego | 11.08.2025 | 2.52.27 | Version released |
| cego | 10.08.2025 | 2.52.27 | Some code cleanup done in CegoSelect::nextTuple for code isolation regarding start and finish caching ( methods startCaching and finishCaching have been introduced ) Another performance patch was made regarding CegoSelect::reset method. Freeing table cursors is no more needed, so doRelease parameter was removed from the method. It is expected, that nested views and subqueries in expressions which are traced multiple times should run pretty faster. |
| cego | 08.08.2025 | 2.52.26 | Version released |
| cego | 08.08.2025 | 2.52.26 | Version released |
| cego | 08.08.2025 | 2.52.26 | For the admin command "threadinfo db", lastAction was added to the threadlist to indicate the current processed query. Once, this was indicated by "threadinfo db |
| cego | 08.08.2025 | 2.52.26 | Added format improvements for CegoAction::getPlanString to indent subqueries |
| cego | 08.08.2025 | 2.52.26 | Added fix in CegoPredicate::eval, the cleanUp method call was removed, since this seems to be not needed and throttles performance in case of nested select statements |
| cego | 01.08.2025 | 2.52.25 | Version released |
