| Änderungsprotokolle |
|---|
Im folgenden sind die letzten Änderungen der verschiedenen Softwarepakete aufgeführt.
Letze 10 30 100 1000 10000 Einträge
| Kategorie | Datum | Version | Eintrag |
|---|---|---|---|
| lfcbase | 17.06.2026 | 1.23.6 | Version released |
| lfcbase | 17.06.2026 | 1.23.6 | Some compiler warning elimination for class Chain::toUpper and toLower ( dynamic wText allocation ) |
| cego | 17.06.2026 | 2.54.32 | Version released |
| cego | 16.06.2026 | 2.54.32 | Added new admin command object usage to show usage of tableset objects which reflects the useObject method of CegoDatabaseManager. This might be useful to detect any usage leaks and to get an overview of objects in use by running database threads |
| cego | 16.06.2026 | 2.54.32 | Small code adaptions for CegoFunction regarding procedure management ( replaced procedure stack for recursive procedure call by a single variable which is enough ) Added check127 for performance comparison of recursive versus iterative approaches ( anyhow, recursive approach makes sense for several design aspects :) |
| cego | 15.06.2026 | 2.54.31 | Version released |
| cego | 15.06.2026 | 2.54.31 | Patch added in CegoQueryManager, _authUser has to be stored locally, otherwise setUser method looses user information, if auth was not enabled |
| cego | 15.06.2026 | 2.54.30 | Version released |
| cego | 14.06.2026 | 2.54.30 | Added admin command set maxpagedelete to set up maximum number of pages marked for delete before forcing a checkpoint. This value is refreshed now with each checkpoint, so it can be adjusted hot. |
| cego | 14.06.2026 | 2.54.30 | Procedure cache basically works. A good example for usage is the procedure calcFibonacci, which calculates fibonacci numbers in a recursive manner :
drop if exists procedure calcFibonacci;
@
create procedure calcFibonacci(n in int) return int
begin
var f int;
var c int;
if :n > 2
then
:f = calcFibonacci( :n - 1 ) + calcFibonacci( :n - 2 );
else
:f = 1;
end;
return :f;
end;
@
With enabled proc cache, subsequent calls of calcFibonacci result in an improved performance, since the calculation is detected as static and can be cached :
CGCLT > select calcFibonacci(10); +-------------------+ | FUNC | | calcFibonacci(10) | +-------------------+ | 55 | +-------------------+ 1 tuples ok ( 0.073 s ) CGCLT > select calcFibonacci(10); +-------------------+ | FUNC | | calcFibonacci(10) | +-------------------+ | 55 | +-------------------+ 1 tuples ok ( 0.000 s ) |
| cego | 14.06.2026 | 2.54.30 | Reanimation of procedure cache. This feature was still just drafted. If procedure cache is enabled, calculated static values are stored to a local procedure cache and can be retrieved for subsequent calls of this procedure. The cache values are just used for static procedure return values, e.g. if values are calculated using nested queries, cache is not used. |
| cego | 13.06.2026 | 2.54.29 | Version released ( including post patch ) |
| cego | 13.06.2026 | 2.54.28 | Post patch for this version : In CegoFieldValue::castTo, changed __dateFormatLock to writeLock. This is needed, since with readlock the _dateFormatList could be traversed in parallel by the Datetime constructor. This may lead to concurreny issues |
| cego | 13.06.2026 | 2.54.28 | Version released |
| cego | 13.06.2026 | 2.54.28 | More code reorganization for CegoAuthManager, CegoQueryManager and CegoTableManager regarding the following design strategy : TableManager contains low level data access methods, QueryManger contains high level access and AuthMenager contains authorized access methods |
| cego | 12.06.2026 | 2.54.28 | Consolidation work done for CegoTableManager and CegoAuthManager ( including renaming from CegoQueryManager to CegoAuthManager ) |
| cego | 11.06.2026 | 2.54.28 | Changed return code of CegoBufferPool::writeCheckPoint to int to return the exit code of the optional escape command. This exit code then is indicated in the admin console |
| cego | 09.06.2026 | 2.54.27 | Version released |
| cego | 09.06.2026 | 2.54.27 | Some log mesage cleanup done for CegoRecoveryManager, CegoQueryManager and CegoTableManager. No functional impact in this patch |
| cego | 01.06.2026 | 2.54.26 | Version released |
| cego | 01.06.2026 | 2.54.26 | The previous patch is non-critical, since the method valueToFVL is actually just just by the btree verification |
| cego | 01.06.2026 | 2.54.26 | Bug fix in CegoBTreeValue::valueToFVL, idxPtr was increased to idxPtr += len + 1 in else condition of nullIndicator == 1, must be idxPtr += len instead, since further increment must be done, if isNullTermined returns true. ( compare this method to CegoBTreeValue::toChain, which is correct ) |
| cego | 24.05.2026 | 2.54.25 | Version released |
| cego | 24.05.2026 | 2.54.25 | Introduced crash recovery autocorrect option ( direct and post ) for index rebuild either direclty after invalidating index during recovery or at at the end of the recovery procedure. post advantage : in case of many insert operations during recovery, this might lead to a faster recovery time, since index is invalidated and not treated direct advantage : in case of index oriented update operations, this might lead to a better recovery performance |
| cego | 23.05.2026 | 2.54.25 | A recovery issue occured when using user function is expression list for update operations. For expressions containing user functions, the values for CegoQueryManager and tabSetId have to be setup explicit, since this is not done by redo log decoding. The coresponding setup method setQueryManager has been added for all involved classes ( CegoExpr, CegoTerm, CegoFactor, CaseCaseCond, etc ) Furthermore a new global variable CegoFieldValue::__recoveryTS has been introduced. During transaction recovery, this variable is setup to the corresponding recovery timestamp. So the constant datatime value sysdate is setup to the current recovery timestamp value ( otherwise the current timestamp is used ) |
| cego | 13.05.2026 | 2.54.24 | Version released |
| cego | 12.05.2026 | 2.54.24 | Added btree dump implementation to CegoAction::execDumpBTree |
| cego | 12.05.2026 | 2.54.24 | More cleanup of dump statements ( moved dump table / btree statements from CegoAdm.def to Cego.def ). Dump still supported for table objecs ( TODO : dump of btree objects ) |
| cego | 11.05.2026 | 2.54.24 | In CegoFunction::evalFieldValue, case USERDEFINED, removed cout debugging statements |
| cego | 08.04.2026 | 2.54.23 | Version released |
| lfcbase | 08.04.2026 | 1.23.5 | Version released |
| lfcbase | 08.04.2026 | 1.23.5 | Fix added in File::operator = and File:operator +=, after file copy operation, source file descriptor was not closed. This might lead to file descriptor leaks. |
| cego | 08.04.2026 | 2.54.23 | In CegoXMLSpace, set initial value for __fsyncOn = false ( was not initialized ) Small code cleanup in CegoArchiveThread |
| cego | 07.04.2026 | 2.54.22 | Version released |
| lfcbase | 07.04.2026 | 1.23.4 | Version released |
| lfcbase | 07.04.2026 | 1.23.4 | Improved error message for File::open with strerror details added |
| cego | 07.04.2026 | 2.54.22 | Added patch in CegoArchiveThread::job, in case of an exception while shifting logs, the sleep is also executed. This avoids log file noise in case of a repeating error, e.g. if the shifting logfile cannot be accessed for any reason |
| cego | 25.03.2026 | 2.54.21 | Improved checkpoint recovery. If crash occurs during checkpoint with enabled cpdump, the dump file is checked and if required, moved to ready state. This ensures a stable recovery also if a crash occurs after database xml is written and before the checkpoint dump file was moved to ready. |
| cego | 25.03.2026 | 2.54.21 | Version released |
| cego | 25.03.2026 | 2.54.21 | Cleanup work done for several encoding / decoding methods. Decoding constructors ( e.g. CegoSelect, CegoFactor, CegoTerm, etc ) have been reduced and for encoding, just the CegoProcBlock instance is needed ( for update query encoding inside procedures ) |
| cego | 22.03.2026 | 2.54.20 | Version released |
| cego | 22.03.2026 | 2.54.20 | small code cleanups |
| cego | 21.03.2026 | 2.54.19 | Version released |
| cego | 20.03.2026 | 2.54.19 | Improvement added to thread pool initialization ( db and admin ), if any network address cannot be bind, the daemon terminates immediately with error message ( introduction of init method to CeegoAdminThreadPool and CegoDbThreadPool ) |
| cego | 15.03.2026 | 2.54.18 | Version released |
| cego | 15.03.2026 | 2.54.18 | Improved exception handling for NETMNG_MAXSERCHAIN validation in CegoNet and CegoClient. In case of a validation, the connection on client side is closed in a controlled way with message "Fatal protocol error". Since there is no way to get more information from server side, this is ok.
On server side, in case of MAXSERCHAIN validation, the connection must be closed immediately ( also for security reasons ), since the serial protocol can not be reset or recovered In CegoDefs, NETMNG_MAXSERCHAIN has been increased to 4MB |
| cego | 14.03.2026 | 2.54.17 | Version released |
| cego | 14.03.2026 | 2.54.17 | In CegoDefs.h, introduced NETMNG_MAXSERCHAIN which defines the maxium length of a serial protocol message ( see CegoSerial.h ) For database configuration, which are using CLOBS, this value should bet setup large enough ( standard now 1MB ) |
| cego | 13.03.2026 | 2.54.16 | Version released |
| cego | 13.03.2026 | 2.54.16 | Fix for include added in CegoXMLSpace.h ( CegoAdminHandler.h was included with brackets, which leads to compile problem for using packages, should be included with quotes ) |
| cego | 05.03.2026 | 2.54.15 | Version released |
| cego | 05.03.2026 | 2.54.15 | In CegoClient, query abort via Cntrl-C was broken. This was caused by the pager mode expansion, which requires a special signal handling setup. For interactive mode, setup method was introduced to setup signals SIGINT and SIGPIPE |
| cego | 05.03.2026 | 2.54.15 | In CegoTableManager::checkBTreeIntegrity, improved message for duplicate btree values ( with validating btree value ) |
| cego | 02.03.2026 | 2.54.14 | Version released |
| cego | 01.03.2026 | 2.54.14 | Completed verify locks command with missing pool, querycache, tablecache, db and xml locks |
| cego | 01.03.2026 | 2.54.13 | Version released |
| cego | 01.03.2026 | 2.54.13 | In CegoLockHandler, added check for unlock methods to check for lockId == 0. This ensures to avoid unlock operations of undefined lockIds which can impact semaId=0 ( first record lock ). It has been observed, that in deadlock situations, this might lead to locking leaks for RECLOCK-0 |
| cego | 01.03.2026 | 2.54.13 | In CegoTableManager::checkBTreeIntegrity added support for allowDuplicateNull feature ( multiple null values in unique btree ) |
| cego | 28.02.2026 | 2.54.12 | Version released |
| cego | 27.02.2026 | 2.54.12 | Fix added in CegoQueryHelper::maxFieldSize. The returned size must be at least MAX_NULL_LEN, otherwise format errors occur ( string(1) field with null values ) |
| cego | 27.02.2026 | 2.54.12 | Added admin command "verify locks" to perform a test aquire of all lock manager locks read and write |
| cego | 27.02.2026 | 2.54.11 | Version released |
| cego | 27.02.2026 | 2.54.11 | Small exception improvement added for CegoFactor::evalFieldValue for query case |
| cegojdbc | 25.02.2026 | 1.16.1 | removed logback.xml to avoid logging side effects |
| cego | 25.02.2026 | 2.54.10 | Version released |
| cego | 24.02.2026 | 2.54.10 | Rework of tableset verification procedure. Using plain output format now, more details added and bugs removed |
| cego | 24.02.2026 | 2.54.9 | Version released |
| cego | 24.02.2026 | 2.54.9 | Added patch in CegoBtreeNode::verifyLeafFull. Before decoding values via CegoQueryHelper::decodeFVL, the btree schema has to be sorted in terms of field id. Otherwise, decoding might be not complete in case of non-ascending btree attributes. |
| cego | 19.02.2026 | 2.54.8 | Version released |
| cego | 19.02.2026 | 2.54.8 | Fix added in CegoAdminThread::srvVerifyTableSet for view loop iterator Cleanup distributed legacy stuff in CegoAdminHandler::syncWithInfo |
| cego | 14.02.2026 | 2.54.7 | Version released |
| cego | 13.02.2026 | 2.54.7 | Added patch in CegoAction::execProcCall and CegoAction::execFuncCall, in case of an exception, for the procedure instance, a cleanup should be called, otherwise the lock will not be released fail002 has been added for this scenario |
| cego | 08.02.2026 | 2.54.6 | Version released |
| lfcbase | 08.02.2026 | 1.23.3 | Version released |
| cego | 08.02.2026 | 2.54.6 | More rework done for CegoAdmScreen to support current backup and restore features. Also added online help. |
| cego | 07.02.2026 | 2.54.6 | More cleanup and improvements done for CegoAdmScreen ( cgadm curses based admin interface ) |
| cego | 07.02.2026 | 2.54.6 | Added dbcheck/failcheck to also check correct handling of failed queries |
| cego | 07.02.2026 | 2.54.6 | Improvements added for CegoAdmScreen ( e.h. help text at the bottom line ) |
| cego | 07.02.2026 | 2.54.6 | Fixes added for CegoFieldValue:castTo. In case of thrown data conversion exceptions, is is ensured, that _pV is set to _staticBuf after freed, otherwise memory fault cause by double free in desctructor may occur |
| lfcbase | 07.02.2026 | 1.23.3 | Fixes added for Screen class regarding. Some calculations where broken caused by the int to unsigned cleanup |
| cego | 05.02.2026 | 2.54.5 | Version released |
| cego | 05.02.2026 | 2.54.5 | Added patches to CegoBufferPool, CegoLogManager and CegoArchiveThread. The synchronization of the database xml file ( method CegXMLSpace::doc2Xml ) at daemon runtime is just executed during checkpointing. This should result in consistency for checkpoint lsn and current active logfile setup ( the doc2Xml method call in CegoLogManager::switchLogFile before resetLog lead to non reset log file in case of a system crash and error message "lsn too high" during startup recovery ) |
| cego | 04.02.2026 | 2.54.4 | Version released |
| cego | 03.02.2026 | 2.54.4 | Improved ts initfile handling. In case of an init file error, just an error is indicated with tableset startup success In CegoAdmScreen, added start recovery and stop recovery for db shadow mode |
| cego | 27.01.2026 | 2.54.3 | Version released |
| cego | 27.01.2026 | 2.54.3 | Another added in CegoQueryCursor, the previous patch must be modified in a way, that just for inner joins, the predicate is propagated to sub joins, otherwise ( left and right outer ) wrong evaluation may occur by a null value comparison effect. check126.sql has been added to show this effect |
| cego | 26.01.2026 | 2.54.3 | Added exception throw in CegoAdminThread::executeRestore, if tableset ticket was not found. The ticket is needed in any case and indicates, that the configured tableset root path matches with the root path in the ticket. The complete restore procedures will be described detailed in the online documentation. |
| cego | 25.01.2026 | 2.54.2 | Version released |
| cego | 25.01.2026 | 2.54.2 | Fix added in CegoQueryCursor::querySetup methods, _pJoinPred also has to be setup for left and right outer joins. An effect has been observed for the query below since a row is returned but should be not
select empid, e.ended from teacher t left outer join employment e on t.tchid = e.tchid where t.tchid = 1 and ( (e.ended is not null and e.ended < '01.01.1996' ) or e.ended > sysdate ); |
| cego | 24.01.2026 | 2.54.1 | Version released |
| cego | 24.01.2026 | 2.54.1 | Changed tableset ticket handling for backup recovery. The tableset ticket now is consolidated by the restore command ( before by recover command ) and after restore, the tableset state is set to INCOMPLETE in case of an online backup. |
| cego | 14.01.2026 | 2.54.0 | Version released |
| cego | 13.01.2026 | 2.54.0 | Offline backup support added for admin console. An offline backup can be triggered now via backup admin commnd for tableset in status OFFLINE ( recovery procedure is the same as for online backups : restore tableset, recover tableset ) |
| cego | 12.01.2026 | 2.54.0 | Reduction already done. Check suite passed without any errors. Still some code cleanup needed ... |
| cego | 11.01.2026 | 2.54.0 | Reduction of following classes done : CegoDistManager ( now CegoQueryManager ), CegoDistCursor ( now CegoQueryCursor ), CegoDbHander ( CegoDistDbHandler is obsolete ), just straight query handling is supported now, no more distributed queries Reduction of admin classes done : CegoAdminHandler, CegoAdminThread, CegoAdmAction and friends, all mediator services have been consolidated to native admin services Still some code cleanup needed, but already a huge amount of code has been removed. |
| cego | 10.01.2026 | 2.54.0 | Thoughts about redesign of cego mode started. The current design with mediator/primary/secondary with synchronous logging to secondary seems to be to complicated and fragile. A new approach might be to make secondary recovery based on complete archive logfiles, which are copied from primary to secondary asynchronously. The secondary host then must be controlled by himself ( no more mediator role ), so the complete database switch to secondary ist managed by an upper layer ( maybe not part of cego, since this also includes switch of a virtual host ) As a consequence, the cego mediator role will disappear ( just primary and secondary role are valid ) |
| cego | 09.01.2026 | 2.53.9 | Removed PIDFILE attribute from db xml. PIDFILE should be specified by database startup with pidfile option |
| cego | 03.01.2026 | 2.53.8 | Version released |
| cego | 03.01.2026 | 2.53.8 | Small patch added to CegoAdminThread::getBackupInfo. Also empty logTS token are accepted now, since there might be still no archive logs avaiable for the backup In tools/backupManager, LOGTS was set to None, if no archive logs are available |
| cego | 01.01.2026 | 2.53.7 | Version released |
