Ä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 | 01.05.2025 | 1.21.3 | Added pattern search feature for Pager class |
cegojdbc | 01.05.2025 | 1.14.0 | Version released |
cegojdbc | 01.05.2025 | 1.14.0 | Support added for cego-2.52 |
cego | 01.05.2025 | 2.52.2 | Version released |
lfcbase | 01.05.2025 | 1.21.2 | Version released |
cego | 01.05.2025 | 2.52.2 | Fixes made for CegoFunction regarding Datetime long long values ( e.g. date2str from int to long long ) |
lfcbase | 01.05.2025 | 1.21.2 | Patches added in Datetime class to complete change from unsigned long long to long long value |
cego | 30.04.2025 | 2.52.1 | Version released |
lfcbase | 30.04.2025 | 1.21.1 | Version released |
cego | 30.04.2025 | 2.52.1 | Added patches for abort handler to cgclt pager mode Queries now can be interrupted with Cntrl-C also in pager mode |
lfcbase | 30.04.2025 | 1.21.1 | Added signal ignore for SIGINT to Pager constructor. This is needed, since on default SIGINT is catched by curses. This might lead to a conflict with the using application, since the application also might catch SIGINT |
cego | 30.04.2025 | 2.52.0 | Version released |
lfcbase | 30.04.2025 | 1.21.0 | Version released |
cego | 29.04.2025 | 2.52.0 | Adaptions made in CegoClient for new Pager API ( lfcbase-1.21.0 ) The new Pager class now handles query editing and result printing / scrolling |
lfcbase | 28.04.2025 | 1.21.0 | Started with Pager approach including an edit part. The idea is have a full editable part in horizontal splitted window, where a ( sql ) command can be edited. With Cntrl-e the command is executed and in the page part the result table is printed and can be scrolled. Some tricky work to implement a useful editor .. |
cego | 28.04.2025 | 2.51.10 | Version released |
cego | 28.04.2025 | 2.51.10 | Small fix in CegoBufferPool.h, in method writeCheckPoint replaced escCmd = Chain("") with escCmd = Chain(), since in the implementation, escCmd argument is checked for Chain() |
lfcbase | 27.04.2025 | 1.20.2 | Version released |
lfcbase | 27.04.2025 | 1.20.2 | More stabilization patches for reworked Pager class Removed init_color with custom color for select cursor since the custom color seems to be poor supported for curses. Fixes added to Pager::writeFooter |
lfcbase | 27.04.2025 | 1.20.1 | Version released |
lfcbase | 27.04.2025 | 1.20.1 | Improvements added to reworkes Pager class ( windows resizing, added start of page and end of page option ) |
cego | 26.04.2025 | 2.51.9 | Version released |
lfcbase | 26.04.2025 | 1.20.0 | Version released |
cego | 26.04.2025 | 2.51.9 | Made some adaptions for reworked lfcbase Pager class. |
lfcbase | 25.04.2025 | 1.20.0 | Rework of Pager class, since the API will change a little bit, minor version of lfcbase will increase to 1.20.0 |
cego | 24.04.2025 | 2.51.8 | Version released |
cego | 24.04.2025 | 2.51.8 | Added check script check119.sql to verify grammar expansion for stored procedure condition Added patch in CegoAction::procArg1() and CegoAction::procArg2() to check duplicate parameter names |
cego | 20.04.2025 | 2.51.8 | Added check118.sql to demonstrate explicit table locking for nested delete operation within a cursor loop |
cego | 16.04.2025 | 2.51.7 | Version released |
cego | 16.04.2025 | 2.51.7 | Added grammer change in Cego.def to ensure operator precedence for AND and OR condition operator. AND has higher precedence if no enclosing braces are given. The result for the following queries should be the same
select * from t1 where a = 42 or a = 1 and b = 'X' ; select * from t1 where a = 1 and b = 'X' or a = 42; select * from t1 where a = 42 or ( a = 1 and b = 'X' );With cego version before 2.51.7, braces have been mandatory to ensure operator precedence. With the new grammar extension, the AND operator has a higher presedence |
cego | 15.04.2025 | 2.51.6 | Version released |
cego | 15.04.2025 | 2.51.6 | Fix added in CegoFactor::getAggregationList, fore case QUERY and case FETCH, the not-supported exceptions have been removed, otherwise this leads a useless exception in CegoAttrCond::asConjunctionList where aggregations are just checked |
cego | 13.04.2025 | 2.51.5 | Version released |
cego | 13.04.2025 | 2.51.5 | Added querycache verification to db check routines |
cego | 13.04.2025 | 2.51.5 | Added querycache mode to command line options to set up query cache by batch |
cego | 11.04.2025 | 2.51.4 | Version released |
cego | 11.04.2025 | 2.51.4 | Fix added in CegoFactor::evalFieldValue, QUERY case, after query evaluation, the parentJoinBuf has to be reset, otherwise an invalid reference is used later to CegoSelect::getQueryId. This might result in core dumps, if query cache is enabled |
cego | 09.04.2025 | 2.51.3 | Version released |
cego | 09.04.2025 | 2.51.3 | Added patch in CegoSelect::initAggregation, for sum and avg aggregation, aggregation value is initialized with 0 and appropriate datatype ( instead of null value ). This leads to numeric result 0 in case of empty result sets ( instead of null value ) |
cego | 08.04.2025 | 2.51.2 | Version released |
lfcbase | 08.04.2025 | 1.19.1 | Version released |
cego | 08.04.2025 | 2.51.2 | Patch added in CegoFactor::toChain to add braces for condition case |
lfcbase | 08.04.2025 | 1.19.1 | Patch added in BigDecimal::div for null value check |
cego | 06.04.2025 | 2.51.1 | Version released |
cego | 05.04.2025 | 2.51.1 | Fix made in CegoDistCursor::distSetup to support FLA setting with no cursor condition. This is needed for query plan evaluation for nested inner/left outer/right outer joins See check114 as a sample |
cegojdbc | 05.04.2025 | 1.13.0 | Version released |
cegobridge | 05.04.2025 | 1.9.0 | Version released |
cego | 05.04.2025 | 2.51.0 | Version released |
lfcbase | 05.04.2025 | 1.19.0 | Version released |
cego | 03.04.2025 | 2.51.0 | Several changed in CegoFieldValue to switch from Datetime integer type unsigned long long to long long. This is required to support datetime comparison for values before 01.01.1970 |
lfcbase | 03.04.2025 | 1.19.0 | Changed Datetime::asLong to return signed long values ( long long ). This is needed to support timestamp values before 01.01.1970, which are signed negative |
cego | 02.04.2025 | 2.51.0 | Fixes added for LSN writing in CegoTableManager::stopTableSet and CegoMain::runDaemon. |
cegobridge | 02.04.2025 | 1.9.0 | Adaptions made for cego-2.51.0 |
cego | 02.04.2025 | 2.51.0 | Please note : Since CegoPredicate::CompType has received new type EXPRONLY, this requires a tableset export/import for upgrading to this version ( for predicate encoding / decoding ) |
cego | 31.03.2025 | 2.51.0 | Testsuite run done without any errors. This a pretty good proof for the significant code modifications coming with this release |
cego | 30.03.2025 | 2.50.6 | This is a hot patch to fix check constraint problem occured with 2.50.5 |
cego | 30.03.2025 | 2.51.0 | Patch added in CegoXPorter::xmlImportTableSet, after parsing the check condition, an execute call has to be performed, otherwise the condition pointer is not provided and a segmentation fault occurs during xml import |
cego | 23.03.2025 | 2.51.0 | Code basically compiles. Still some adaption work to do, before starting with basic testing ... |
cego | 17.03.2025 | 2.51.0 | Started with next minor version. This version consolidates grammar productions for query conditions and procedure conditions As a result, C++ classes CegoCondDesc and CegoProcCond should be merged to CegoCondition and CegoProcDesc and CegoProcPred should be merged to CegoPredicate. The modified grammar should result in a more powerful condition syntax with support of more sophisticated query and procedure statements. |
cego | 10.03.2025 | 2.50.5 | Version released |
cego | 10.03.2025 | 2.50.5 | Further special characters handled in CegoQueryHelper::sql2Regex ( $ and % ), see check113.sql for samples |
cego | 07.03.2025 | 2.50.4 | Version released |
cego | 07.03.2025 | 2.50.4 | Optimization added to CegoPredDesc::match. Matcher is just created, if the match method is called, since it might occur, that the condition is evaluated be CegoDistCursor via CegoAttrCond |
cego | 06.03.2025 | 2.50.4 | Fix in CegoAttrComp::getMatcher, there was still missing star escape, which has been added to CegoPredDesc constructor. To avoid two same pieces of code, CegoQueryHelper::sql2Regex has been introduced |
cego | 04.03.2025 | 2.50.3 | Version released |
cego | 21.02.2025 | 2.50.3 | In general, this version is a code cleanup release with a walkthrough over all modules |
cego | 21.02.2025 | 2.50.3 | Patch added in CegoPredDesc constructor to meet FreeBSD regex requirements ( regcomp fails with regex pattern containing concatenated star, e..g. ".**" ). So "*" is replaced with ".*" |
cegobridge | 30.01.2025 | 1.8.1 | Version released |
cego | 30.01.2025 | 2.50.2 | Version released |
cegobridge | 30.01.2025 | 1.8.1 | Fixes added for modified CegoAction::getSelect and CegoAction::getProcedure methods |
cego | 30.01.2025 | 2.50.2 | In CegoTableManager, made some exception message improvements ( instead of popping last message, the complete message stack is thrown ) |
cego | 25.01.2025 | 2.50.1 | Version released |
cego | 24.01.2025 | 2.50.1 | Further improvements added in CegoQuery to give more detailed error information in case of exceptions |
cegobridge | 22.01.2025 | 1.8.0 | Version released |
cegojdbc | 22.01.2025 | 1.12.0 | Version released |
cego | 22.01.2025 | 2.50.0 | Version released |
cego | 22.01.2025 | 2.50.0 | Added stabilization patches to CegoAction. Load statements for views, procedures, triggers and condition are treated regarding object allocation/free. These statements are for internal use only, so a database user receives a note message now |
cegobridge | 21.01.2025 | 1.8.0 | Support added for cego-2.50.0 |
cegojdbc | 21.01.2025 | 1.12.0 | Support added for cego-2.50.0 |
cego | 21.01.2025 | 2.50.0 | Added stabilization patches for nested grouping select, e.g. in exists subselect. In CegoSelect::reset, for _selectMode == GROUPING, grouping space is resetted now properly. |
cego | 20.01.2025 | 2.50.0 | For predicate export structure, changed from XML representation to native SQL syntax. This requires a dedicated Parser in CegoXPorter, which can handle predicate SQL representation, but saves lots of code, since all subsequent member classes of CegoPredDesc no more need to implement XML representation methods ( constructor, fromElement, toElement ) |
cego | 20.01.2025 | 2.49.23 | Additional check added to CegoObjectManager to avoid duplicate table objects of different type ( e.g. Table t1 and View t1 ). Table objects are either native tables, views or aliases. |
cego | 20.01.2025 | 2.49.23 | Patch added for view condition evaluation in CegoAttrCond::asConjunctionList, CegoSelect::setViewCond and CegoDistCursor::distSetup. If the view condition contains an aggregation attribute, the view condition cannot be completed. In this case, a dedicated evaluation of the Cursor is required.
Sample :
drop if exists table t1; create table t1 ( a int, b int, c int); insert into t1 values ( 1, 1, 10 ); insert into t1 values ( 1, 2, 20 ); insert into t1 values ( 2, 1, 5 ); insert into t1 values ( 2, 2, 42 ); insert into t1 values ( 2, 3, 42 ); insert into t1 values ( 3, 1, 1 ); insert into t1 values ( 3, 2, 65 ); insert into t1 values ( 3, 2, 12 ); drop if exists view v1; create view v1 as select a as a, b as b, sum ( c) as csum from t1 group by a, b; select a, b, csum from v1 where a = 3 and b = 2; -- csum cannot not be evaluated in the view condition -- cursor must perform a dedicated evaluation select a, b, csum from v1 where a = 3 and b = 2 and csum = 77; |
cego | 20.01.2025 | 2.49.23 | Added syntax expansion for group having clause to support advanced having conditions ( e.g. select a, sum(b), max(c) from t1 group by a having sum(b) > 10 and max(c) = 100; ) |
cego | 12.01.2025 | 2.49.22 | Version released |
cego | 12.01.2025 | 2.49.22 | For several modules, added exception trace information to improve error logging in case of any exception |
cego | 11.01.2025 | 2.49.22 | Patch added for CegoQueryCache::addEntry, getNumUsed added to search loop to find appropriate slot. This avoids some needless assignments, since used entries cannot be assigned.
Patch added CegoQueryCache::invalidate. For main loop, a delay has been added, to give other threads the chance to claim the lock |
cego | 23.12.2024 | 2.49.21 | Version released |
cego | 23.12.2024 | 2.49.21 | Patch for CegoFunction added. For methods getReturnType, getReturnTypeLen and evelFieldValue the following has been added : If proc object is getting used by useObject, the following getProcedure call must be catched for exception to unuse the object since _pProc is stiil null and the object so is not unused by cleanup |
cego | 07.12.2024 | 2.49.20 | Version released |
lfcbase | 07.12.2024 | 1.18.11 | Version released |
cego | 07.12.2024 | 2.49.20 | Added new lfcbase Net::serve6 method to db, admin and log threadpool. If no hostname is defined in database xml, an IP double stack configuration is set up. |
lfcbase | 07.12.2024 | 1.18.11 | In new method Net::serve6, added setsockopt to disable IPV6_V6ONLY. This is required for FreeBSD build, since at default FreeBSD binds single stack |
lfcbase | 07.12.2024 | 1.18.11 | Added Net::serve6 method to handle v46 protocol an any adress. |
cego | 07.12.2024 | 2.49.20 | Fix added in CegoDBThreadPool. CegoAdminThreadPool and CegoLogThreadPool. If database hostname is not defined, the corresponding service is served on any hostname. This avoids confusion regarding IPv4 and IPv6 host configuration ( e.g. on MacOSX Sequoia, java seems to handle localhost always as IPv4 127.0.0.1, while on POSIX layer, it is mapped to ::1, a bit strange ) |
cego | 28.11.2024 | 2.49.19 | Version released |
lfcbase | 28.11.2024 | 1.18.10 | Version released |
cego | 27.11.2024 | 2.49.19 | Patches and Extensions added to CegoAdmScreen for fully support of query history feature ( last and full over all db threads ). Screen2:Grid schema patches added to satisfy new column alignment feature for Screen2 |
lfcbase | 27.11.2024 | 1.18.10 | Patches added to Screen2::Grid class to support left and right alignment for data cols |
cego | 27.11.2024 | 2.49.18 | Version released |
lfcbase | 27.11.2024 | 1.18.9 | Version released |
cego | 27.11.2024 | 2.49.18 | Added query history suppport for cgadm screen mode |
lfcbase | 27.11.2024 | 1.18.9 | Small patch added for Screen2::Message class, since width and height may change for messages, window should be allocated new after each setInfo method call |
cego | 26.11.2024 | 2.49.18 | Introduces new cgadm admin commands - queryhist last n - queryhist cost n to show the query history for all db threads in the db thread pool. The last n queries or the most expensive n queries are indicated |
cego | 26.11.2024 | 2.49.18 | More work on db thread query history information. Added timestamp and cost information |
cego | 22.11.2024 | 2.49.17 | Version released |
lfcxml | 22.11.2024 | 1.3.8 | Version released |
lfcxml | 22.11.2024 | 1.3.8 | Patches added for pretty printing xml string |
cego | 21.11.2024 | 2.49.17 | Removed lockPool call in CegoAdminThread::srvExportTableSet and srvExportTable to avoid lock timeouts during long running exports Made some code cleanup in CegoAdminThread ( exception consolidation ) |
cegojdbc | 17.11.2024 | 1.11.1 | Version released |
cegojdbc | 17.11.2024 | 1.11.1 | Performance optimization added to CegoConnection.isValid method. Just check, if connection is closed. A validation request ( jdbc prodname ) is avoided, since some connection pools use this method before each request to validate the connection. |
cego | 13.11.2024 | 2.49.16 | Version released |
cego | 13.11.2024 | 2.49.16 | Added query history for db threads. Not just the last action is indicated via admin command "threadinfo db threadId", but also the last n queries processed by this thread. History Length can be configured via new cego command line option dbthreadhist |
cego | 11.11.2024 | 2.49.15 | Version released |
cego | 11.11.2024 | 2.49.15 | Improved abort handling for cgadm ( session hung, if Ctrl-C pressed while idle ) |
cego | 11.11.2024 | 2.49.15 | Memory leak fixed in CegoFileHandler::releaseFiles ( _fhList[i] was not deleted ) |
cego | 11.11.2024 | 2.49.15 | More memory leaks fixed in CegoAdminThread::job for _pTim instance ( not critical ) and CegoFileHandler::claimPage initBuf, which leaks in case of tableset creation |
cego | 10.11.2024 | 2.49.14 | Version released |
cego | 09.11.2024 | 2.49.14 | Another indent bug fixed in CegoQuery::toChain for DELETE_QUERY case *sigh* |
cego | 09.11.2024 | 2.49.13 | Version released |
cego | 07.11.2024 | 2.49.13 | Fix in CegoQuery::toChain, added missing space in UPDATE_QUERY case after where keyword |
cego | 01.11.2024 | 2.49.12 | Version released |
cego | 30.10.2024 | 2.49.12 | Added querycache threshold parameter. Just queries with execution time greater than threshold value are cached. This leads to a lower stressed cache and avoids cache latency for those queries. Threshold is given in msec, which seems to be appropriate for now. |
cego | 28.10.2024 | 2.49.12 | In CegoXMLSpace::addTableSeDef, added ARCHMODE attribute to set archmode to OFF as default |
cego | 27.10.2024 | 2.49.12 | More work done for cgmkdb utility script Advanced mode added, to set up advanced database parameters by script |
cego | 23.10.2024 | 2.49.11 | Version released |
cego | 23.10.2024 | 2.49.11 | Another fix for memory leak added in CegoFieldValue::getLocalCopy, Before allocation, _len has to be checked for _len < STATICFIELDBUF and then use _staticBuf, otherwise, the memory is lost |
cego | 23.10.2024 | 2.49.11 | Patch added for memory leak in CegoSelect::cleanUp and CegoSelect::reset, for both methods, _pCacheList has to checked and freed, since for uncompleted queries ( e.g. exists clause ) the _pCacheList was still not deleted |
cego | 20.10.2024 | 2.49.10 | Version released |
lfcbase | 20.10.2024 | 1.18.8 | Version released |
cego | 20.10.2024 | 2.49.10 | Adaptions made for CegoAdmScreen to treat lfcbase-1.18.8 API change for Screen2::Attribute |
lfcbase | 20.10.2024 | 1.18.18 | Change in Screen2::Attribute class. The class now provides three layout modes : HORIZONTAL, VERTICAL, OVERLAY. In OVERLAY mode, with left and right cursor key it is switched to visible attribute list. For this, the Screen2::Attribute constructor has been changed |
cego | 18.10.2024 | 2.49.10 | For CegoAdmScreen, added QueryCacheInfo to tableset menu |
lfcbase | 18.10.2024 | 1.18.8 | Added patch to Screen2::Attribute::setAttrList for refresh window after attrlist has been updated |
cego | 18.10.2024 | 2.49.10 | * Changed cgmkdb utility to interactive style. All required parameters are now asked via interactive shell input * Patches added to CegoAdmScreen to handle sortAreaSize values ( changed from type int to unsigned long long ). Furthmore, tablecache configuration menu has been added to tableset management panel |
lfcbase | 18.10.2024 | 1.18.8 | Added small patch to Screen2::Form::handleKey to treat pipe character ( | ) |
cego | 14.10.2024 | 2.49.9 | Version released |
lfcbase | 14.10.2024 | 1.18.7 | Version released |
cego | 14.10.2024 | 2.49.9 | Rework of table cache logic, which is still experimental. A table filter now can be defined to just cache a specified subset of tables. Since table cache is just useful for specific tables with read only flavor and medium size, this extension seems to makes sense. Cached table rows can be accessed directly without accessing buffer pool pages and without decoding. This might accelerate some database configurations, where query cache is not appropriate and hot spot readonly tables have to access very often and very fast. |
cego | 14.10.2024 | 2.49.9 | Added patch for memory leak in CegoSelect. Within CegoSelect::consolidateConjunctionList method, predicate and condition instances are created for conjunction organisation. These instances have to be registered and freed later within CegoSelect::cleanUp |
lfcbase | 14.10.2024 | 1.18.7 | Added patch in Matcher.cc to support extended regular expression (added REG_EXTENDED flag to regcomp call ) |
cego | 11.09.2024 | 2.49.9 | Added dedicated admin command to show query cache information including hit rate ( show querycache for tableset ) This will replace the querycache information shown with general show tableset admin command |
cego | 23.08.2024 | 2.49.8 | Version released |
cego | 23.08.2024 | 2.49.8 | Added patches for querycache. The CegoQueryCache::addEntry method now is limited to QUERYCACHE_MAXTRY tries to add an entry. Otherwise numFail counter is increaed, which is monitored for the query cache.
This should resolve deadlocks in smoother way ( no more lock timeouts ) in case of other db thread have the requested querycache slot in use. For performance reasons, CegoQueryCacheEntry::calcSize was introduced to just calculate the entry size in the constructor. |
cego | 22.08.2024 | 2.49.8 | Added lockId for lock objects in CegoBufferPool and CegoQueryCache |
cego | 12.08.2024 | 2.49.7 | Version released |
cego | 12.08.2024 | 2.49.7 | Fix added for CegoXPorter / CegoAdminThread / CegoBufferPool to treat locking issue during tableset / table import. Since the pool is locked during import ( by new introduced method lockPool ), no further locking calls must occur durung import. For this, log writing is disabled before lockPool is called and CegoBufferPool::logIt checks for active log ( via new isActive method ) before trying to get a lock. |
cego | 11.07.2024 | 2.49.6 | Version released |
cego | 11.07.2024 | 2.49.6 | Version released |
cego | 11.07.2024 | 2.49.6 | Indent format improvements made for select, insert and update queries. This is relevant for formatted sql code in stored procedures. |
cego | 02.07.2024 | 2.49.5 | Version released |
cego | 02.07.2024 | 2.49.5 | Since synchronization of tableset admin operations still not has been covered, this was added with this patch. In CegoBufferPool, new methods are provided for tableset oriented locking ( lockPool and unlockPool ) These methods are used by CegoAdminThread to synchronize concurrent tableset admin operations ( like stop tableset, drop tableset, export tableset, e.g. ) |
cegopython | 29.06.2024 | 1.0.1 | Version released |
cegopython | 29.06.2024 | 1.0.1 | Changed in curser.py from collections to collections.abc since collections.Sequence seems to be no more supported. |
cego | 29.06.2024 | 2.49.4 | Version released |
cego | 29.06.2024 | 2.49.4 | More stabilization added to c wrapper library. Rellocation of cpluscheck and c wrapper check to root directory. CegoCPlusCheck and cgwtest are now build during make all |
cegopython | 28.06.2024 | 1.0.0 | Version released |
cego | 27.06.2024 | 2.49.3 | Version released |
cego | 26.06.2024 | 2.49.3 | Added fix in CegoFieldValue for construction of double values ( added missing normFloatValue method call ) |
cegopython | 20.06.2024 | 1.0.0 | Initial implementation started. The cego python driver requires at least cego version 2.49.3, since this version contains several enhancements for the C wrapper API |
cego | 20.06.2024 | 2.49.3 | Added several patches and extendsion for C wrapper API |
cego | 13.06.2024 | 2.49.2 | Version released |
cego | 13.06.2024 | 2.49.2 | Added patches in CegoQueryCache to improve locking. For the addEntry method, the complete locking logic was redesigned to avoid deadlocks |
cego | 04.06.2024 | 2.49.1 | Version released |
cego | 04.06.2024 | 2.49.1 | Added missing thread lock information for admin thread list and thread stat command ( query + table locks, logmanager locks ) |
cego | 03.06.2024 | 2.49.1 | Added patch for CegoQueryCache to make cacheLock dedicated for each tableset. |
lfcxml | 02.06.2024 | 1.3.7 | Version released |
lfcxml | 02.06.2024 | 1.3.7 | Patch added in XMLSuite.cc to treat CDATA lookahead correctly. Trailing square brackets ( ] ) at the end of cdata might cause parsing problems |
cegojdbc | 15.05.2024 | 1.11.0 | Version released |
cegobridge | 15.05.2024 | 1.7.0 | Version released |
cego | 15.05.2024 | 2.49.0 | Version released |
cego | 08.05.2024 | 2.49.0 | Consolidation done for data types decimal and fixed. This version just supports decimal datatype which originally was fixed datatype. The original decimal datatype seemed to be useless. This patch has impact for several other packages but also import / export procedure. To migrate to version 2.49, you have to xml export data and make a renaming of the datatype strings "fixed" and "FIXED" to "decimal" and "DECIMAL" |
cego | 19.04.2024 | 2.48.49 | In CegoCaseCond, added getPlanList method to retrieve execution plan for nested selects. The planlist then is catched in CegoFactor::getPlanList |
cego | 01.04.2024 | 2.48.48 | Version released |
cego | 30.03.2024 | 2.48.48 | Fix in CegoAdmScreen::TableSet::TableSet constructor, SysUsage field added to indicate correct usage for system, temp and app files |
cego | 29.03.2024 | 2.48.47 | Version released |
cego | 29.03.2024 | 2.48.47 | Sample code for transaction effect :
---
drop if exists table t1; create table t1 (a int, b string(10)); start transaction; insert into t1 values ( 1, 'XXX'); insert into t1 values ( 1, 'XXX'); insert into t1 values ( 1, 'XXX'); -- here a double delete may occur delete from t1; commit; insert into t1 values ( 1, 'XXX'); select * from t1; |
cego | 29.03.2024 | 2.48.47 | Patch added for transaction handling in CegoTransactionManager::doCommit and CegoTableManager::deleteDataTableEntry. Just for tuple state COMMITTED, a rollback entry must be created, otherwise double tuple delete may occur. For tuple state INSERTED, tuple state is just set to OBSOLETE, for tuple state OBSOLETE and DELETED, nothing has to be done. In CegoTableManager::doCommit, tuple state just has to be set to COMMITTED in case of INSERTED tuples |
cego | 26.03.2024 | 2.48.46 | Version released |
cego | 26.03.2024 | 2.48.46 | Elimination of a cout in CegoQueryCache::QueryCacheEntry::cleanCache |
cegojdbc | 17.03.2024 | 1.10.6 | Version released |
cegojdbc | 17.03.2024 | 1.10.6 | Elimination of several warnings in code caused by legacy constructs |
cego | 17.03.2024 | 2.48.45 | Version released |
cego | 17.03.2024 | 2.48.45 | Added patches for return on update handling to treat value handling in return list.
The order in the return list must be stricter, otherwise field evaluation via FLA caching in CegoFactor fails. Furthermore, returnList has been localized ( new method CegoQueryHelper::localizeFL ) to ensure correct values after update cursor ist closed. |
cego | 15.03.2024 | 2.48.44 | Version released |
cego | 15.03.2024 | 2.48.44 | Patch added in CegoXPorter to improve exception handling for invalid export file names |
cego | 06.03.2024 | 2.48.43 | Version released |
cego | 06.03.2024 | 2.48.43 | Added patch in CegoSelect::evalSchema to treat null values for union all, added patch in CegoFunction::clone to treat counterId value |
cegojdbc | 28.02.2024 | 1.10.5 | Version released |
cegojdbc | 28.02.2024 | 1.10.5 | Added patch for CegoStatement.executeQuery, result set handling was not done correctly, if result sets are retrieve via getResultSet statement method |
cego | 13.02.2024 | 2.48.42 | Version released |
cego | 13.02.2024 | 2.48.42 | In CegoDistCursor::nextTuple, added query aborted check. This is needed to abort long running inner and outer join selects |
cego | 10.02.2024 | 2.48.41 | Version released |
cego | 10.02.2024 | 2.48.41 | Patch added in CegoProcedure::cleanup to set pMasterBlock to zero. In some cases, the setup master block lead to usage leaks for user function calls. See check110.sql as a sample to cause this problem. |
cego | 03.02.2024 | 2.48.40 | Version released |
cego | 03.02.2024 | 2.48.40 | Small patch on CegoDistManager::startTableSet, improvement for exception message added |
cego | 27.01.2024 | 2.48.39 | Version released |
cego | 27.01.2024 | 2.48.39 | Patch added in CegoAdminThread::srvParameterInfo to list current QUEUEDELAY value and configured scandal formats ( SCANDATETIMEFORMAT ) |
cego | 08.01.2024 | 2.48.38 | Version released |
cego | 08.01.2024 | 2.48.38 | Patch added in CegoQueryHelper::evalBetween The comparison ( f2 <= f1 && f1 <= f3 ) has changed to ( f1 >= f2 && f1 <= f3 ) This forces a type cast to f1 datatype in case mismatched datatypes. This might be useful for queries like select a from v1 where a between '30.11.2023' and '31.12.2023'; where a cast should be done to date time value ( instead of string ) |
cego | 19.12.2023 | 2.48.37 | Version released |
cego | 19.12.2023 | 2.48.37 | Patch added in CegoQueryHelper::encodeFL and CegoQueryHelper::decodeFL. Die dim field value was still not treated. This might lead to wrong fixed values for update operations during crash recovery operation |
cegobridge | 13.12.2023 | 1.6.5 | Version released |
cegobridge | 13.12.2023 | 1.6.5 | Fix for renamed scandate function added |
cego | 13.12.2023 | 2.48.36 | Version released |
cego | 13.12.2023 | 2.48.36 | Fix in CegoXPorter for view import. For view creation, field entries in schema must be setup with a unique id ( analog to view creation via sql command ) |
cego | 08.12.2023 | 2.48.35 | Version released |
cegojdbc | 08.12.2023 | 1.10.4 | Version released |
cegojdbc | 08.12.2023 | 1.10.4 | Adaptions made for cego-2.48.35 |
cego | 08.12.2023 | 2.48.35 | Renaming date function dateformat to scandate since this is rather a scanning function. Please note, that cegojdbc uses this function in CegoPreparedStatement class. The renaming is adapted in ceegojdbc-1.10.4 |
cego | 16.11.2023 | 2.48.34 | Version released ( Please note : View reload required ! ) |
cego | 16.11.2023 | 2.48.34 | In CegoDistCursor::getTuple, the tuple retrievel has been changed for view objects. Instead of overwriting the given pFLA, tuple are first retrieved in an empty fvl. Then just the required attribute values in the pFLA are updated. This should result in a better performance but also in a consistent fla structure for FLA caching ( in CegoFactor, _flaCached variable must not be reset if FLA has been setup ) This patch required reload of all view objects ( since attr for view schema must be unique, see evalSchema patch before ) and is still under observation. |
cego | 16.11.2023 | 2.48.33 | Version released |
cego | 16.11.2023 | 2.48.33 | Add patch in CegoFactor::setFieldListArray, _flaCached again is set to false since the field list in the the array may change ( e.g. for outer join queries used in views ) |
cego | 14.11.2023 | 2.48.32 | Version released |
cego | 14.11.2023 | 2.48.32 | Patch added to support nested case conditions like
case when t2.a = 1 then case when t2.b = t1.b then 'VALID' else 'INVALID' end else 'VALID' end as statusFor this, in CegoAction, pCaseCond handle has been stacked |
cego | 13.11.2023 | 2.48.31 | Version released |
cego | 13.11.2023 | 2.48.31 | Added patch in CegoSelect::evalSchema. At the end of the method, schema ids are calculated to provide unique attribute ids for views |
lfcbase | 12.11.2023 | 1.18.6 | Version released |
lfcbase | 12.11.2023 | 1.18.6 | Patch added in Sleeper class to support larger values for milliSleep and microSleep. For this, also input parameter type has changed from int to unsigned long |
cego | 31.10.2023 | 2.48.30 | Version released |
cego | 31.10.2023 | 2.48.30 | Patch added for CegoCaseCond::evalField to eval appropriate datatype. If the case condition contains null type this was not done correctly |
cego | 08.08.2023 | 2.48.29 | Version released |
cego | 08.08.2023 | 2.48.29 | Fix added in CegoAggregation::decode, c flag was not decoded correctly ( wrong order in memcpy function ) |
cegodbd | 30.07.2023 | 1.5.3 | Version released |
cegodbd | 30.07.2023 | 1.5.3 | Small patch in dbdimp.h ( elimination register variable ) to compile with FreeBSD 14 |
cego | 29.07.2023 | 2.48.28 | Version released |
cego | 29.07.2023 | 2.48.28 | Fix added in CegoProcQueryStmt::execute, after execution of the query, the cleanUp method must be called to avoid leaks regarding stored proc object use ( this corresponds to the new optimized stored proc handling ) |
cego | 27.06.2023 | 2.48.27 | Version released |
cego | 27.06.2023 | 2.48.27 | In CegoFunction constructors, added _pProc = 0 initialization for decoding and fromElement constructors. This avoid a set fault, in case of database recovery, when a predicate expression with user function is dedoded from log file |
cego | 14.06.2023 | 2.48.26 | Version released |
cego | 14.06.2023 | 2.48.26 | Patch addd for tableset stop procedure. With the new optimized stored procedure handling ( CegoFunction module ), the object cleanup must be done BEFORE the tableset is finally stopped. Otherwise an uncaught exception occurs ( tableset not online ) which results in database crash after tableset shutdown. Several modules have been modified for this |
cego | 12.05.2023 | 2.48.25 | Version released |
cego | 12.05.2023 | 2.48.25 | Patch added in CegoFunction to avoid useObject leaks |
cego | 11.05.2023 | 2.48.24 | Version released |
cego | 11.05.2023 | 2.48.24 | Performance improvement added for stored procedures.
In CegoFunction, the procedure handle now is stored after first stored procedure call ( instead of freeing the handle and request it again with the next call )
So for subsequent function calls, the handle is already available, which improves stored procedure execution time significantly. As a consequene, code has been added for cleanUp the handle at the end of the query ( object is also in use during the whole query with CegoDatabaseManager::useObject and must be unused by cleanup ) |
cego | 28.04.2023 | 2.48.23 | Version released |
cego | 28.04.2023 | 2.48.23 | Patch added in CegoTableManager::updateTuple, reactivated evalExtTableReferences method call, since this is needed for update with nested selects, where external attributes are referenced in combination with enabled query cache ( e.g. update t1 set a = ( select a from t2 where t1.b = t2.b ) ) |
cegojdbc | 13.04.2023 | 1.10.3 | Version released |
cegojdbc | 13.04.2023 | 1.10.3 | Patches in CegoPreparedStatement to replace date function with dateformat function |
cego | 05.04.2023 | 2.48.22 | Version released |
lfcbase | 05.04.2023 | 1.18.5 | Version released |
cego | 05.04.2023 | 2.48.22 | Changes in CegoAdmScreen::DBThread panel to show long queries with new Screen2::Message panel |
lfcbase | 05.04.2023 | 1.18.5 | Improvements for Screen2:Message panel |
lfcbase | 30.03.2023 | 1.18.4 | Version released |
lfcbase | 29.03.2023 | 1.18.4 | Added scrollable feature to Screen2::Message, so longer messages can be handeled now be the panel |
cego | 21.03.2023 | 2.48.21 | Version released |
cego | 21.03.2023 | 2.48.21 | Fix added for CegoAdmScreen in tableset parameter panel. Initfile was not setup correctly ( null value indicated, should be empty string ) |
cego | 15.03.2023 | 2.48.20 | Version released |
cego | 15.03.2023 | 2.48.20 | Added default append mode setting for tableset. WIth cgadm the appendmode can be setup ( e.g. enable appendmode for TS1 ) It may be useful to have enabled appendmode at default for insert intensive tableset configurations |
lfcxml | 09.03.2023 | 1.3.6 | Version released |
lfcxml | 09.03.2023 | 1.3.6 | Since there occur some build problems on FreeBSD, a rebuild of configure and Makefile.am with ( a newer version of ) autoreconf on Ubuntu Linux system was done |
cego | 06.03.2023 | 2.48.19 | Version released |
lfcbase | 06.03.2023 | 1.18.3 | Version released |
cego | 06.03.2023 | 2.48.19 | Added parameter menu item to CegoAdmScreen tableset action menu to customize tableset sortareasize, autocorrect, checkpoint interval and init file |
cego | 05.03.2023 | 2.48.19 | Added Edit menu to CegoAdmScreen to modify tableset entries in status DEFINED |
lfcbase | 04.03.2023 | 1.18.3 | Code cleanup, made Screen2:Panel:~Panel virtual to avoid compiler warnings |
cego | 04.03.2023 | 2.48.19 | Code cleanup, elimination of same warnings regarding unreachable case statements ( no issues, just to satisfy compiler ) |
cego | 03.03.2023 | 2.48.18 | Version released |
cego | 03.03.2023 | 2.48.18 | Some adaptions for extended Screen2 interface with refresh customizing. |
lfcbase | 03.03.2023 | 1.18.2 | Version released |
lfcbase | 03.03.2023 | 1.18.2 | Opimization in Screen2 to customize screen refreshes ( introduced virtual method Panel::doRefresh ) |
cego | 03.03.2023 | 2.48.17 | Version released |
cego | 03.03.2023 | 2.48.17 | Fixes added for CegoAdmScreen, to avoid too many admin requests, backup panel and data file panel are just refreshed initially and after add objects. Fix added in CegoObjectManager::alterObject, the getNewFilePage has been changed to type CegoObject::SYSTEM. Otherwise, a page from a tuple datafile is allocated, which results in strange effects |
lfcbase | 27.02.2023 | 1.18.1 | Version released |
lfcbase | 27.02.2023 | 1.18.1 | Patches added for clean MinGW compile. It seems, the MinGW people took some changes in the system libraries API ( e.g. mkdir, sigaction and ioctl ) No effect for Unix compiles |
cego | 15.02.2023 | 2.48.16 | Version released |
cego | 15.02.2023 | 2.48.16 | Fix added for CegoAdmScreen, the data file root path still was not added to new datafiles in the tableset add datafile mask |
cegobridge | 26.01.2023 | 1.6.4 | Version released |
cego | 26.01.2023 | 2.48.15 | Version released |
cegobridge | 26.01.2023 | 1.6.4 | Fixes for new dateformat function ( cego-2.48.13 and up ) and more sophisticated database procedure use ( select in procedure ) |
cego | 26.01.2023 | 2.48.15 | Fixes added in CegoAction and CegoSelect to treat cego parser with tablemanager pointer = 0. This is needed for cegobridge to parse procedures and generated other db specific code |
cego | 24.01.2023 | 2.48.14 | Version released |
cego | 23.01.2023 | 2.48.14 | Fix added in CegoObjectManager::alterObject, after freeing old page entry, page should be unfixed with marked as dirty. In the main loop, unfix has been changed to dirty = false |
cego | 22.01.2023 | 2.48.13 | Version released |
cego | 18.01.2023 | 2.48.12 | Version released |
cego | 18.01.2023 | 2.48.12 | Added function dateformat which can be feeded with two expressions to return a datetime value from a given format and value string ( analog to date(x,y) which expects constant input values ) |
cego | 17.01.2023 | 2.48.12 | Added more date functions to the datefunc package. Now there are the following date functions available int second(datetime d) int minute(datetime d) int hour(datetime d) int day(datetime d) int month(datetime d) int year(datetime d) datetime plusHour(datetime d, int hr) datetime plusDay(datetime d, int dy) datetime plusMonth(datetime d, int mt) datetime plusYear(datetime d, int yr) datetime minusHour(datetime d, int hr) datetime minusDay(datetime d, int dy) datetime minusMonth(datetime d, int mt) datetime minusYear(datetime d, int yr) |
cego | 17.01.2023 | 2.48.12 | In CegoMain, added DEFAULTDATETIMEFORMAT1 to dateFormat list to also parse this format for native cast from string to datetime |
cego | 05.01.2023 | 2.48.11 | Version released |
cego | 05.01.2023 | 2.48.11 | Added Query Cache menu to CegoAdmScreen to manage query cache parameters |
cegobridge | 03.01.2023 | 1.6.3 | Version released |
cegobridge | 03.01.2023 | 1.6.3 | Fixes added |
cego | 03.01.2023 | 2.48.10 | Added lfcbase Screen2 support to CegoAdmScreen |
lfcbase | 03.01.2023 | 1.18.0 | Uplift to Version 1.18.0 with released Screen2 interface |
lfcbase | 26.12.2022 | 1.17.5 | Added Screen2 class, which is next generation implementation of Screen in a more object oriented manner. See Screen2Test.cc in the basecheck directory how to use Screen2 |
cego | 21.12.2022 | 2.48.9 | Version released |
cego | 21.12.2022 | 2.48.9 | Fixes added for alias object usage ( e.g. in combination with views ) |
cego | 20.12.2022 | 2.48.9 | Added defTabSetId parameter to several toChain methods to write views, procedures and triggers without explizit tableset references. This migtht be useful, if a tableset dump just references objects for a single tableset and it should be loaded to a tableset with a different name. ( e.g. select a from t1@TS1 is written as select a from t1, if active tableset is TS1 ) |
cego | 16.12.2022 | 2.48.8 | Version released |
cego | 15.12.2022 | 2.48.8 | Fix added in CegoAction::execViewCreate(), in case of grace mode, empty schema must be stored with created view to force recompile via CegoDistManager::reloadView |
cego | 28.11.2022 | 2.48.7 | Version released |
cego | 28.11.2022 | 2.48.7 | Fix for CegoSelect::nextTuple, _cacheSchema was not setup for union selects in case of empty result of the first union entry. This leads to an exception with cache claim leak. The claim leak has also been fixed by adding a cleanUp call to CegoSelect destructor |
cego | 26.11.2022 | 2.48.6 | Version released |
cego | 26.11.2022 | 2.48.6 | Introduced grace mode for graceful object creation. Using this mode, views and procedures can refer to objects, which still not exist. This mode might be useful for initial loads ( e.g. from a dump file ) to avoid dependency errors |
cego | 25.11.2022 | 2.48.6 | Fixes added for CegoClient dump and batch mode, has been tested with more complex acc application |
cego | 24.11.2022 | 2.48.6 | Fixes added in CegoClient for dump mode. Some attribute and attribute values have not treated correctly ( default values, dimension for fixed attributes, clob values ) |
cego | 24.11.2022 | 2.48.6 | More improvements for online backup / restore. Branch id is now added to archive log filename, so in case of new created or data file modified tablesets, the corresponding logfiles can be filtered. Archive logfile information for ready-for-archive and archived logfiles has been added to archive log information |
cego | 22.11.2022 | 2.48.5 | Version released |
lfcbase | 22.11.2022 | 1.17.4 | Version released |
cego | 22.11.2022 | 2.48.5 | Further improvements for cgadm screen mode. confirm dialogs added and backup log history indicated for online backups in case of errors |
lfcbase | 22.11.2022 | 1.17.4 | Further improvements for Screen::showFormBox and showInfoBox ( selected rows and newline treatment ) |
cego | 21.11.2022 | 2.48.4 | Version released |
cego | 21.11.2022 | 2.48.4 | Added backup branch option for backup manager. So just valid backup files can be treated by the manager. New sample backup manager available in samples/chkdb |
lfcbase | 20.11.2022 | 1.17.3 | Version released |
cego | 20.11.2022 | 2.48.3 | Version released |
lfcbase | 20.11.2022 | 1.17.3 | Fix for some geometries in Screen::showFormBox |
cego | 20.11.2022 | 2.48.3 | Introduced Backup branch id for online backup verification. Due to datafile page id constraints, just online backups can be recovered inside one backup branch. Creation of a tableset and adding a datafile to a tableset violates this contraint, so a new backup branch is created. |
cego | 18.11.2022 | 2.48.2 | Version released |
lfcbase | 18.11.2022 | 1.17.2 | Version released |
cego | 18.11.2022 | 2.48.2 | Small adaptions for cgadm screen mode window sizes ( corresponds to lfcbase-1.17.2 ) |
lfcbase | 18.11.2022 | 1.17.2 | Improvements done for Screen::showFormBox ( scrolling content in input mask ) |
cego | 17.11.2022 | 2.48.1 | Version released |
lfcbase | 17.11.2022 | 1.17.1 | Version released |
cegojdbc | 16.11.2022 | 1.10.2 | Version released |
cegojdbc | 16.11.2022 | 1.10.2 | Added support for cego 2.48 |
cego | 16.11.2022 | 2.48.0 | Version released |
lfcbase | 16.11.2022 | 1.17.0 | Version released |
cego | 15.11.2022 | 2.48.0 | Uplift to next minor version, since many changes habe in CegoAdmScreen class ( was CegoAdmMon ). This requires lfc-1.17.0. Several stabilization fixes also have been added. For database xml file, a unique database id has been introduced to validate ticket file from performed online backups ( db id must match ) |
lfcbase | 15.11.2022 | 1.17.0 | Uplift to Version 1.17.0 since many changed have been made to Screen class ( was Monitor ). The changes require a recompile for consuming packages ( here : cego ) |
cego | 13.11.2022 | 2.47.37 | Fix added in CegoXMLSpace for user and role create routines. In case of already defined entities, exception was thrown before xml lock release Fix added in CegoXMLSpace::getActiveTableSet to also retrieve offline tablesets via includeOffline flag. This is needed for CegoLogThreadPool to archive occupied logfiles for tablesets in status offline ( for other reasons, runstate is set now at the beginning of the tableset stop procedure ) |
lfcbase | 13.11.2022 | 1.16.8 | Improvements done for ncurses based Monitor class. Added confirm box and improved form box |
cego | 08.11.2022 | 2.47.36 | Version released |
cego | 08.11.2022 | 2.47.36 | Fix added in CegoTableManager::updateTuple, for the given expression list, contained subqueries must be retrieved and analyzed for external table references. Since the external count was not evaluated correctly, this lead to a incomplete CegoSelect::getQueryId result. With enabled query cache, the following update did not work correct : update posrule pr set artid = ( select artid from article a where a.artnr = pr.artnr ); |
lfcbase | 03.11.2022 | 1.16.7 | Version released |
lfcbase | 03.11.2022 | 1.16.7 | Some patches added to compile with newer MinGW framework ( Tested on Windows 10 ) |
cego | 24.10.2022 | 2.47.35 | Version released |
cego | 24.10.2022 | 2.47.35 | Grammar fix in Cego.def to ensure _returnOnFirst variable is set to false for non return update statements ( added production NoUpdateReturnOpt ) |
cego | 23.10.2022 | 2.47.34 | Version released |
cego | 23.10.2022 | 2.47.34 | Added join optimization fix in CegoSelect::buildJoinTables. Inadequate predicates ( e.g. not equal compare ) are not priorized for table join order any more. For this the method CegoPredDesc::prioOnJoin has been introduced |
cego | 19.10.2022 | 2.47.33 | Version released |
cego | 19.10.2022 | 2.47.33 | Fix in CegoFunction::getId, the GETCOUNT function still was not treated Some cleanup of source file was done (removed tilde files ) |
cego | 30.09.2022 | 2.47.32 | Version released |
cego | 30.09.2022 | 2.47.32 | Fix added in CegoFactor and CegoFieldValue. To get the factor id for query cache management, a dedicated method was introduced in CegoFieldValue ( getId ) This method uses for DATETIME values valAsChain(true) ( to evaluate current timestamp in case of sysdate values ) and for all others toChain() ( to distinguish x = null and x = 'null' ) |
cego | 24.09.2022 | 2.47.32 | Added nohead option to cgclt to print out query results with no head information ( useful in combination with raw mode to retrieve pure data ) |
cego | 23.09.2022 | 2.47.31 | Version released |
cego | 23.09.2022 | 2.47.31 | Fix added in CegoTableManager::alterDataTable, the altering table object has to be retrieved completely via getObject to setup data page id and last data page id. With the new introduced object manager method alterObject, these values are not copied during the alter procedure. |
cego | 23.09.2022 | 2.47.30 | Version released |
cego | 23.09.2022 | 2.47.30 | Fix in CegoObjectManager for alterTableObject. If a new system page has to be allocated, this page was not linked. This might lead to loss table objects for corresponding altering queries. Furthermore, the ObjectManager has been cleaned and shrinked in a was, that generic create and alter methods are now provided for all objects ( createObject and alterObject using encoding method inherited from CegoDecodableObject ). This results in shrinked code, since the create/alter operations are just implemented once. |
cego | 21.09.2022 | 2.47.29 | Version released |
cego | 21.09.2022 | 2.47.29 | Fix in CegoCaseCondition to allow null types in condition ( see dbcheck/check106.sql for a sample ) |
cego | 19.09.2022 | 2.47.28 | Version released |
lfcbase | 19.09.2022 | 1.16.6 | Version released |
cego | 19.09.2022 | 2.47.28 | In CegoFieldValue::castTo, cast from varchar to fixed is done now with now introduced BigDecimal::scaleTo method ( comes with lfcbase-1.16.6 ). This includes an appropriate rounding in case of precision reduction. |
lfcbase | 19.09.2022 | 1.16.6 | Added new method BigDecimal::scaleTo to change scaling for an instance. This includes an appropriate rounding, if scaling is reduced |
cego | 16.08.2022 | 2.47.27 | Version released |
cego | 16.08.2022 | 2.47.27 | Fix in CegoProcBlock::toChain, dimension has still not been treated for fixed procedure variables |
lfcbase | 16.08.2022 | 1.16.5 | Version released |
lfcbase | 16.08.2022 | 1.16.5 | Fix in BigDecimal::operator ==, if _val, _scale and _isPositive does not match, we still have to call further checks ... |
cego | 10.07.2022 | 2.47.26 | Version released |
cego | 10.07.2022 | 2.47.26 | In CegoFieldValue, completed appropriate rounding via cast for decimal types to integer types |
cego | 08.07.2022 | 2.47.25 | Post Log : Added FLOAT_TO_INT macro to CegoFieldValue module to cast to integer values with appropriate rounding |
cego | 08.07.2022 | 2.47.25 | Version released |
cego | 08.07.2022 | 2.47.25 | Added small patch for verification check to meet new BigDecimal patch in lfcbase ( Version 1.16.4 ) |
lfcbase | 08.07.2022 | 1.16.4 | Version released |
lfcbase | 08.07.2022 | 1.16.4 | Fix added for BigDecimal to avoid rounding for zero trailing values, e.g. 119.00 / 100.00 was 1.1, should be 1.19 |
lfcxml | 10.06.2022 | 1.3.5 | Version released |
lfcxml | 10.06.2022 | 1.3.5 | Fix added in XMLSuite::putAttribute to treat empty attribute values as Chain() instead of Chain("") |
cego | 08.04.2022 | 2.47.24 | Version released |
cego | 08.04.2022 | 2.47.24 | Fix in CegoFunction::evalFieldValue for case REPLACE. If replace string is null, then empty string is replaced instead of "null" string. |
lfcbase | 26.03.2022 | 1.16.3 | Version released |
lfcbase | 26.03.2022 | 1.16.3 | Fix added for BigDecimal comparison regarding negative values. For this, the privste method compAbs has been introduced |
cego | 27.02.2022 | 2.47.23 | Version released |
lfcxml | 27.02.2022 | 1.3.4 | Version released |
cego | 27.02.2022 | 2.47.23 | Replaced Chain("") with Chain() for several. This was motivated by a observed bug for check constraint xml import, where a comparision between Chain() and Chain("") returned false |
lfcxml | 27.02.2022 | 1.3.4 | In Element::getAttributeValue, for empty string now Chain() is returned instead of Chain("") |
cego | 17.02.2022 | 2.47.22 | Version released |
cego | 17.02.2022 | 2.47.22 | Fix in CegoLogManager::stopLog, the log handle must NOT be deleted, otherwise, a subsequent startLog and logAction method will result in a dump. This effect has been observed while importing a single table ( via xml import ) which failed, if the table already exists. In this case, no checkpoint is written and log handle i no more valid. A subsequent modifying db request then results in a core dump. |
cego | 13.02.2022 | 2.47.21 | Version released |
cego | 12.02.2022 | 2.47.21 | Added function getcount to retrieve current counter value for a specific counter |
cego | 12.02.2022 | 2.47.20 | Version released |
cego | 12.02.2022 | 2.47.20 | Fix in CegoTableManager::createBTree to catch exclusicve useObject timeout before committing btree. In this case, the already created btree object should be deleted. Fix added in CegoClient to active abort interrupt also during tuple fetch |
cego | 04.02.2022 | 2.47.19 | Version released |
cego | 04.02.2022 | 2.47.19 | More work has been done regarding clean shutdown of the database / tableset stop while busy db sessions still exist. For this, CegoDistCursr desctructor method has been stabilized, so no exception is thrown. Otherwise, double memory freeing of cursor resources might occur which results in a crash |
cego | 03.02.2022 | 2.47.19 | In CegoTableManager::stopTableset, relocated the setTableSetRunState method above and added a sleep of DBM_LOCKDELAY. This gives hanging db threads a chance, to terminate save |
cego | 03.02.2022 | 2.47.19 | Changed CegoDatabaseManager::useObject method to take pointer to CegoTableManager as an argument instead of threadId. The tablemanager is used to support thread termination in case of lock delays |
cegojdbc | 25.01.2022 | 1.10.1 | Version released |
cego | 25.01.2022 | 2.47.18 | Version released |
cegojdbc | 25.01.2022 | 1.10.1 | Improved CegoDatabaseMetaData.getTables implementation to treat table type parameter for TABLE and VIEW objects. This implementation requires cego-2.47.18 |
cego | 25.01.2022 | 2.47.18 | Change in CegoJDBCInfo for table list retrievel. This JDBC meta information command is not split to tab and vie for dedicated retrievel of table and view objects |
cego | 23.01.2022 | 2.47.17 | Version released |
cego | 23.01.2022 | 2.47.17 | Fix in CegoFunction::clone, also if _exprList is empty, the function must treated and cloned completely including table manager reference. Otherwise, for user defined function with no arguments which are used in views will throw an exception |
cego | 09.01.2022 | 2.47.16 | Version released |
cego | 09.01.2022 | 2.47.16 | Code cleanup |
cego | 08.01.2022 | 2.47.15 | Version released |
cego | 08.01.2022 | 2.47.15 | Fix in CegoAttrComp for equal, lt and gt operators. The compMode ATTR was not treated correctly in a way, that the attrDesc part was not evaluated. This might lead to missing attr cond entries for sophisticated queries. A verify check ( verify008 ) has been added to check this case |
cego | 05.01.2022 | 2.47.14 | Version released |
cego | 05.01.2022 | 2.47.14 | Version released |
cego | 05.01.2022 | 2.47.14 | In CegoDistManager::startTableset the method setCurrentLSN has to called before registerObjects since this methods might also trigger checkpoints |
cego | 04.01.2022 | 2.47.13 | Version released |
cego | 04.01.2022 | 2.47.13 | Fix in CegoXPorter::readIndexObject, index schema expects rather tablename instead of indexname. As a result binary and plain imports with index objects have failed. |
cegobridge | 31.12.2021 | 1.6.2 | Version released |
cegobridge | 31.12.2021 | 1.6.2 | Added some patches for better MySQL grammar support. This includes also escape character handling for several special characters ( \\, \n,\t etc ) |
cego | 25.12.2021 | 2.47.12 | Version released |
cego | 25.12.2021 | 2.47.12 | Fix in CegoDistManager::renameLocalObject, before renaming the object, it has to be checked, if the new object name is already in use |
cego | 20.12.2021 | 2.47.11 | Version released |
cego | 20.12.2021 | 2.47.11 | Fix in CegoDistManager::startTableSet, the current lsn has to be setup before performing the cleanup option. cleanup uses bufferFix which might result in a checkpoint. For this the current lsn has to be setup |
cego | 16.12.2021 | 2.47.10 | Version released |
cego | 16.12.2021 | 2.47.10 | In CegoQuery, added execSchema which is copied for each execution call from _schema ( to have a virgin schema definition ). The execSchema then is enriched in the appropriate way. For the insert query, an addExprList variable was decleare to store the addition needed expression to complete the insert value list ( instead of adding it to _exprListArray ). After performing the query, the allocated and inserted expression have to be deleted. This implementation seems to be more useful for procedure based queries, where the intiantiated CegoQuery object is executed multiple times |
cego | 16.12.2021 | 2.47.10 | In CegoDistManager, reload message for views, procedure and trigger is avoided now ( since this occurs for each db thread during startup ) |
cego | 14.12.2021 | 2.47.9 | Version released |
cego | 14.12.2021 | 2.47.9 | In CegoAttrComp::setup(ListTdrop if exists table sr; create table sr ( srid int, srcode int); drop if exists table vt; create table vt ( vtid int, srid int, vtcode int); drop if exists table svmap; create table svmap ( srcode int, vtcode int); drop if exists view srvtview; create view srvtview as select vt.vtid as vtid, sr.srcode as srcode, vt.vtcode as vtcode from sr, vt where vt.srid = sr.srid ; insert into sr values ( 1, 42); insert into sr values ( 2, 43); insert into vt values ( 1, 1, 4711); insert into vt values ( 2, 1, 4712); insert into vt values ( 2, 2, 4713); insert into svmap values ( 42, 4711 ); insert into svmap values ( 44, 11); select * from srvtview; select * from svmap m where not exists ( select vtid from srvtview v where v.srcode = m.srcode and v.vtcode = m.vtcode ); |
cego | 12.10.2021 | 2.47.8 | Version released |
cego | 12.10.2021 | 2.47.8 | Fix in CegoGroupSpace::getValueForAgg, The return value ( of type CegoFieldValue ) must be converted to a local copy, since the reference to the bufferpool might be invalidated |
cegodbd | 11.10.2021 | 1.5.2 | Version released |
cegodbd | 31.08.2021 | 1.5.2 | Fix of soem memory leaks in dbdimp.c for function cego_st_execute. The msg and schema attribute of statement handle have to be checked for allocated values, before new memory is allocated |
cego | 29.08.2021 | 2.47.7 | Version released |
cego | 29.08.2021 | 2.47.7 | Added format correction in CegoField::castTo for case VARCHAR to FIXED. In case of string values without leading zeros ( e.g. .345 ), leading zero is concated. |
cegodbd | 28.08.2021 | 1.5.1 | Version released |
cegodbd | 28.08.2021 | 1.5.1 | In dbdimp.h, changed MAXPROTSTRING to 15 ( from 10 ), since the protocol string "fastserial" does not fit in. Problems have just been observed on Ubuntu Linux |
cego | 04.07.2021 | 2.47.6 | Version released |
cego | 04.07.2021 | 2.47.6 | Fix in CegoFactor::evalFieldValue(), for case CegoFactor::QUERY, the fetched value must be saved to a local copy, otherwise the buffer could be overwritten by the subsequent nextTuple method call to complete the query for query cache. As a result, wrong values are returned in case of heavy buffer cache relocation. |
cego | 02.07.2021 | 2.47.5 | Version released |
cego | 02.07.2021 | 2.47.5 | Usage of new HashT methods ( getRangePos and RemovePos ) for CegoQueryCache to remove entries from query cache array more efficient |
lfcbase | 02.07.2021 | 1.16.2 | Version released |
lfcbase | 02.07.2021 | 1.16.2 | Added HashT::getRangePos and HashT::RemovePos for more efficient hash array manipulation |
cego | 02.07.2021 | 2.47.4 | Version released |
cego | 02.07.2021 | 2.47.4 | Fix in CegoQueryCacheEntry::cleanCache, reset of all relevant variables. Furthermore, in CegoQueryCache methods, remove from hasharray is checked for return code true |
cego | 06.06.2021 | 2.47.3 | Version released |
lfcxml | 06.06.2021 | 1.3.3. | Version released |
dragon | 06.06.2021 | 1.5.5 | Version released |
cego | 06.06.2021 | 2.47.3 | New generated parsers ( Cego.def and CegoAdm.def ) with dragon 1.5.5 |
lfcxml | 06.06.2021 | 1.3.3 | New generated xml parser with dragon-1.5.5 |
dragon | 06.06.2021 | 1.5.5 | For CPlusParser generator, catched exception in case of exceeded max token length. In the past, exceeded token length lead to seg faults ... |
cegobridge | 24.05.2021 | 1.6.1 | Version released |
cego | 24.05.2021 | 2.47.2 | Version released |
cego | 24.05.2021 | 2.47.2 | Fix in CegoQueryHelper::checkIndexForPredicate, wrong tabSetId was used for getObjectListByTable, must be table specific |
cegobridge | 24.05.2021 | 1.6.1 | In method void MySQLAction::storeVarcharType, dimension value was doubled, since MySQL calculates visible length for varchars and cego length in bytes. So for multibyte character encodings, length might exceed ... |
cego | 21.05.2021 | 2.47.1 | Version released |
lfcbase | 21.05.2021 | 1.16.1 | Version released |
cego | 20.05.2021 | 2.47.1 | Rework of new hash array based query cache. The new introduced methods HashT::FirstInRange and HashT::NextInRange are used to find an appropriate hash array slot to replace entries in an occupied array. |
cego | 20.05.2021 | 2.47.1 | Added cego command line mode setpwd to setup user password for offline database |
lfcbase | 20.05.2021 | 1.16.1 | Added HastT::FirstInRange and HashT::NextInRange methods to retrieve hash value range |
cegojdbc | 31.03.2021 | 1.10.0 | To support Spring Boot URL convention, the url has to be changed Spring Boot checks for a leading jdbc token, so the new form is jdbc:cego: |
cegojdbc | 22.02.2021 | 1.9.8 | Support for cego version 2.47 added |
cego | 21.02.2021 | 2.47.0 | Version released |
lfcbase | 21.02.2021 | 1.16.0 | Version released |
cego | 21.02.2021 | 2.47.0 | Improvements done for query cache handling ( more support for nested queries, stabilization fixes ) |
cego | 13.02.2021 | 2.47.0 | Fix in CegoClient and CegoAction for comment parsing. Comment token in string are treated now. For this, a new method CegoQueryHelper::skipComment has been introduced |
cego | 13.02.2021 | 2.47.0 | Integration of HashT into QueryCache for faster access of cached query entries. |
lfcbase | 07.02.2021 | 1.16.0 | Introduction of template class HashT |
cego | 01.02.2021 | 2.46.8 | Version released |
cego | 01.02.2021 | 2.46.8 | Removed log entry in CegoDatabaseManager::checkTableSetRunState |
cego | 29.01.2021 | 2.46.7 | Version released |
cego | 29.01.2021 | 2.46.7 | Added fix in CegoTableManager::createBTree
For btree value extraction, we also have to use valueFromSchema(tableSchema, btreeSchema). Otherwise, in case if inverted index attributes, the values are not extraced correctly Sample : create table t1 ( a int, b string(10)); insert into t1 values ( 1, 'alpha'); create btree b1 on t1(b,a); -- inverted, value for a would be not setup correctly |
lfcbase | 27.01.2021 | 1.15.1 | Version released |
lfcbase | 27.01.2021 | 1.15.1 | Fix in BigDecimal::div to treat negative values correctly ( for corScale calculation, the absolute values have to be used ) |
cego | 24.01.2021 | 2.46.6 | Version released |
cego | 24.01.2021 | 2.46.6 | Fix in CegoObjectManager / CegoDatabaseManager added. The checkTableSetRunState method has been moved to CegoDatabaseManager. This ensures a single point of check definition. In the previous version, tableset RECOVERY mode was not treated for useObject, unuseObject and objectExists method calls which might lead to crash recovery abort. |
cego | 03.12.2020 | 2.46.5 | Version released |
cego | 03.12.2020 | 2.46.5 | Fix in CegoTableManager for table altering. No type conversion allowed with alter modify and no length shrinking |
cego | 02.12.2020 | 2.46.4 | Version released |
cego | 02.12.2020 | 2.46.4 | Bad patch in 2.46.3 for CegoFunction::evalFieldValue. Procedure call is valid for nested calls inside stored procedures. So it is allowed to call procedure as a function. In any case, the precedure returns null value |
cego | 01.12.2020 | 2.46.3 | Version released |
cego | 01.12.2020 | 2.46.3 | Added MAXDELETEPAGE parameter to show parameter admin command set default checkpoint value for new defined tablesets added function check in CegoFunction::evalFieldValue to ensure, this is not a procedure without return value |
cego | 01.12.2020 | 2.46.2 | Version released |
cego | 01.12.2020 | 2.46.2 | Added error msg improvement in CegoProcBlock |
cego | 30.11.2020 | 2.46.1 | Version released |
lfcxml | 30.11.2020 | 1.3.2 | Version released |
lfcxml | 30.11.2020 | 1.3.2 | Changed parser table to be static again ( was changed to dynamic because of some memory allocation investigations ) Also this solves the compile issue for Linux compiles |
dragon | 30.11.2020 | 1.5.4 | Version released |
cego | 30.11.2020 | 2.46.1 | Fix in CegoExpr::evalField, fixed dimension was still not handled here for ADD and SUB cases |
dragon | 30.11.2020 | 1.5.4 | Added stdlib.h include for generated parser code with dynamic parse table allocation ( malloc is used ). For Linux compiles, this is required |
lfcxml | 29.11.2020 | 1.3.1 | Version released |
lfcxml | 29.11.2020 | 1.3.1 | Cleanup patch for some code reorganising and cleanup |
cegobridge | 28.11.2020 | 1.6.0 | Version released |
cego | 28.11.2020 | 2.46.0 | Version released |
cegojdbc | 28.11.2020 | 1.9.7 | Version released |
lfcxml | 28.11.2020 | 1.3.0 | Version released |
lfcbase | 28.11.2020 | 1.15.0 | Version released |
cegobridge | 28.11.2020 | 1.6.0 | Uplift patch for cego-2.46.x |
cegojdbc | 28.11.2020 | 1.9.7 | Uplift patch for cego-2.46.x, no other patches added |
lfcxml | 28.11.2020 | 1.3.0 | Changed XMLInStream::putFirst and XMLInStream::putNext to make dataList a reference parameter. Since this affects the API, thi is an uplift to 1.3.0. Furthermore, a memory bug was fixed in XMLSuite::nextChar for the scanData part. After increasing the j counter, everytime it must be checked for reaching the datalen. Otherwise this may result in strange memory effects |
cego | 27.11.2020 | 2.46.0 | Added type dimension information for CegoField class. This enables the database to define length and dim information for fixed and decimal data types. For this the syntax has been expanded. Instead of storing RESERVED_BTREE_FLOATLEN for btrees on fixed or decimal columns, the specified length information is used now. Please note that database uplift to version 2.46.x requires a xml tableset export and import, since table structure information has been changed |
lfcbase | 27.11.2020 | 1.15.0 | Fix in BigInteger::mul and BigInteger::div, signing was not treated ( e.g. -12 * 12 => -144 ( was 144 ) ) |
lfcbase | 21.11.2020 | 1.15.0 | Added template class GraphT for dependency graph implementations |
cego | 19.11.2020 | 2.45.36 | Version released |
cego | 19.11.2020 | 2.45.36 | Another query cache fix in CegoFunction:getId, rand and liob functions have been added to throw MOD_QUERY_ID exception, since for those function it can not be ad hoc decided, if the result is modified |
cego | 18.11.2020 | 2.45.36 | Added fix in CegoViewObject::getId. Since it cannot be decided, if the underlying query result has been changed, we have to throw MOD_QUERY_ID |
cego | 18.11.2020 | 2.45.35 | Version released |
cego | 18.11.2020 | 2.45.35 | Added noinit option to cgadm tableset start command. With the noinit option, the configured init file will not be processed after tableset startup, otherwise this will be processed now ( if any configured ) All output messages are written to main log file. |
cego | 18.11.2020 | 2.45.35 | Redirected output for CegoAction and CegoOutput added to print output to logfile. This is useful in case of tableset init file, where several SQL action could be performed |
cego | 18.11.2020 | 2.45.35 | Fix in CegoAction::execSetCounter, new value must be checked for null value and if so, set counter to 0. The bug caused a seg fault .. |
cego | 17.11.2020 | 2.45.34 | Version released |
cego | 17.11.2020 | 2.45.34 | Further fix in CegoPredDesc::getFieldList, case CegoPredDesc::NULLCOMP, getFieldList method call added for pExpr1, in CegoPredDesc::setFieldListArray method calls added for _pC and _pNotPred. For this, setFieldListArray method has been introduced in CegoCondDesc. This fixes should complete case cond handling e.g. for aggregation queries. check097 has been expanded for this |
cego | 17.11.2020 | 2.45.33 | Version released |
cego | 17.11.2020 | 2.45.33 | Improved runstate handling in CegoDistManager |
cego | 16.11.2020 | 2.45.32 | Version released |
cego | 16.11.2020 | 2.45.32 | Also CegoObjectManager has been modified to check tableset run state for several methods. For this, method CegoObjectManager::checkTableSetRunState has been introduced. |
cego | 16.11.2020 | 2.45.32 | Added check in CegoDatabaseManager::objectExists to verify, if corresponding tableset is online. So instead of "invalid object" exception, a tableset offline exception is thrown, which might be more useful |
cego | 14.11.2020 | 2.45.31 | Version released |
cego | 14.11.2020 | 2.45.31 | Added case-cond support for aggregation queries, e.g.
select sum(b) as sc, case when sum(b) > 700 then 'X' else 'Y' end as xy from t1; |
cego | 11.11.2020 | 2.45.30 | Version released |
cego | 11.11.2020 | 2.45.30 | Fix in CegoCaseCond::evalField, all expression are evaluated now and are checked for type mismatch. Expressions must return the same type, otherwise this might lead to value evaluation problems. This fix also leads to fix in CegoFieldValue::getDim() and CegoFactor::evalField since now getDim ist used for field length specification which is also compared by CegoCaseCond::evalField |
cego | 28.10.2020 | 2.45.29 | Version released |
lfcbase | 28.10.2020 | 1.14.6 | Version released |
cego | 28.10.2020 | 2.45.29 | Linux compatibility fix added in src/CegoAdmAction ( added stdlib.h and string.h include ) |
lfcbase | 28.10.2020 | 1.14.6 | Linux compatibility fix in basecheck/NetClient.cc ( include stdlib.h added ) |
lfcbase | 26.10.2020 | 1.14.5 | Version released |
lfcbase | 26.10.2020 | 1.14.5 | Fix added in BigDecimal::div method. Dividend has to be checked for zero value, otherwise the method ends in an infinite loop by evaluating corScale value |
cego | 22.10.2020 | 2.45.28 | Version released |
cego | 21.10.2020 | 2.45.28 | Change in CegoAction::execProcCall and CegoAction::execFuncCall, procedure/function arguments are evaluated and cast in this methods now. This is needed, to support string to clob casting for procedure arguments.
As a consequence the CegoProcedure::execute method has been changed to receive ListT |
cego | 06.10.2020 | 2.45.27 | Version released |
cego | 03.10.2020 | 2.45.27 | Added format fix to CegoAction::formatTableInfo, to treat very long object names, max name length of all corresponding objects is now calculated and output is printed in appropriate format |
cego | 01.10.2020 | 2.45.27 | Removed debug message in CegoProcBlock::execute exception block |
cego | 23.09.2020 | 2.45.26 | Version released |
cego | 23.09.2020 | 2.45.26 | Fix in CegoTableManager::insertDataTable, before call getObjectListByTable, type must be checked ( must be CegoObject::TABLE ), otherwise ( for system objects ) not found exception arises. This error may appear with the admin commands begin backup and end back ( stat information is written to bustat system table ) |
cego | 18.09.2020 | 2.45.25 | Version released |
cego | 18.09.2020 | 2.45.25 | More rework on CegoFieldValue for improved cast handling ( especially on fixed values ) |
cego | 18.09.2020 | 2.45.24 | Version released |
cego | 18.09.2020 | 2.45.24 | Typo fix in CegoTerm::evalField and CegoExpr::evalField |
cego | 16.09.2020 | 2.45.23 | Version released |
cego | 16.09.2020 | 2.45.23 | Fix in CegoProcVar::setValue, a castTo has been added to cast to appropriate target type |
cego | 10.09.2020 | 2.45.22 | Version released |
cego | 10.09.2020 | 2.45.22 | Fix in CegoTerm::evalField and CegoExpr::evalField, type and length calculation must correspond to cast logic in CegoFieldValue ( corresponding operators for mul, div, add and sub ) |
cego | 03.09.2020 | 2.45.21 | Version released |
lfcxml | 03.09.2020 | 1.2.11 | Version released |
cego | 03.09.2020 | 2.45.21 | Fix in CegoFieldValue::castTo, case VARCHAR_TYPE to FIXED_TYPE, plain integers have not been accepted. check091 added for this |
lfcxml | 03.09.2020 | 1.2.11 | Sync patch for MinGW package build |
cego | 28.08.2020 | 2.45.20 | Version released |
cego | 28.08.2020 | 2.45.20 | This is a sync patch for package repositories to recompile with lfcbase-1.14.4 |
lfcbase | 25.08.2020 | 1.14.4 | Version released |
lfcbase | 25.08.2020 | 1.14.4 | Patch in basecheck/FileTest.cc ( remove include ioctl.h ) for clean MinGW compile |
lfcbase | 25.08.2020 | 1.14.3 | Version released |
lfcbase | 25.08.2020 | 1.14.3 | Note : recompile for using packages required ( dragon + lfcxml + cego ) |
lfcbase | 25.08.2020 | 1.14.3 | Increased in class Chain STATICBUFSIZE from 50 to 100 and TMPBUFSIZE from 30 to 100 |
lfcbase | 25.08.2020 | 1.14.3 | Fix in Chain, replacement of sprintf with snprintf to avoid buffer overflow |
cego | 24.08.2020 | 2.45.19 | Version released |
cego | 24.08.2020 | 2.45.19 | Fix in CegoAction::insertArg to check for duplicate attribute specification in insert statement ( e.g. insert into t1 ( a, a ) values ... ) |
cego | 14.08.2020 | 2.45..18 | Version released |
cego | 14.08.2020 | 2.45.18 | Fix in CegoClient for treating interactive input. Ctl-D input lead to segmentation fault, if used in multiline statements. |
cego | 29.07.2020 | 2.45.17 | Version released |
cego | 12.07.2020 | 2.45.17 | Patch in CegoAction::formatTableInfo. For size calculation of btree objects, null value must be used instead of INVALID, otherwise, wrong values are indicated during btree build |
cego | 08.07.2020 | 2.45.17 | Patch in CegoLogManager::switchLogFile, we first have to switch log file and then change the status to OCCUPIED. Otherwise, the logfile archiver ( CegoLogThreadPool::shiftRedoLogs ) might access occupied logfile in parallel. Since this is a different thread and File::open seems to be not thread safe, bad things might happen ... |
cego | 31.05.2020 | 2.45.16 | Version released |
cego | 31.05.2020 | 2.45.16 | Fix in CegoQueryHelper::checkIndexForPredicate, index evaluation for alias objects was still not treated Fix in CegoDistCursor::getPlan and CegoAction::getJoinPlanString to cover execution plan for alias objects |
cego | 29.05.2020 | 2.45.15 | Version released |
cego | 29.05.2020 | 2.45.15 | Fix in CegoObjectManager::getObjectListByTable, if object does not exist, an exception is thrown now. This resulted in a fix for CegoQueryHelper::checkIndexForPredicate, where now the table alias has to be mapped to the correct physical table name ( via coList as a new method argument ) Fix in CegoAttrDesc::evalTableReferences to treat alias objects in joins Grammar expansion to support inner/left outer/right outer joins without a condition. This might be useful for specific join order to use appropriate table indices ( see dbcheck/check088.sql ) |
cego | 23.05.2020 | 2.45.14 | Version released |
cego | 23.05.2020 | 2.45.14 | In CegoMain, changed separator token for tsdef from ":;" to "=", since for mingw configurations, absolute path handling was broken. This resulted in adapations for mkdb and cgmkdb scripts. |
cego | 22.05.2020 | 2.45.13 | Version released |
cego | 22.05.2020 | 2.45.13 | For update with return statements, added the on first option. Since the return variable can only store one return values, this option specifies, if the update should return after first tuple or if all matching tuples should be updated. |
cego | 22.05.2020 | 2.45.13 | |
cego | 22.05.2020 | 2.45.13 | In CegoClient, changed home variable to HOME also for MinGW compilations ( instead of HOMEPATH ) |
sysmt | 12.05.2020 | 7.2.7 | * Update to Vaadin 14.1.28 * Changed to NativeButtonRenderer in Maintain Report Panel * Changed to InputStream in CSVExporter ( instead of temp file ) |
cego | 15.03.2020 | 2.45.12 | Version released |
cego | 14.03.2020 | 2.45.12 | Patch in update with return clause.
It seems to be useful, that in combination with return, update should return after first matching tuple providing the updated tuple in the return clause. So the values for the tuple can be stored in procedure variables.
create table t1 ( a int, b string(30)); insert into t1 values ( 1, 'DONE'); insert into t1 values ( 2, 'DONE'); insert into t1 values ( 3, 'WAIT'); insert into t1 values ( 4, 'DONE'); insert into t1 values ( 5, 'WAIT'); update t1 set b = 'DONE' where b = 'WAIT' return :a = a;Just the tuple with a = 3 is update and the value of a is returned in the procedure variable :a |
cego | 27.01.2020 | 2.45.11 | Version released |
cego | 27.01.2020 | 2.45.11 | Fix in CegoFieldValue::negate, for FIXED_TYPE values, trailing zeros have to be treated. Otherwise, select null - a from t1 where a = 0.10 will result in 0.1 |
cego | 21.01.2020 | 2.45.10 | Version released |
cego | 21.01.2020 | 2.45.10 | Fix in CegoBtreeManager for duplicate null handling. The corresponding btree value has to be checked to be null. For this, the method CegoBTreeValue::isNull has been introduced |
cegobridge | 30.11.2019 | 1.5.4 | Version released |
cego | 30.11.2019 | 2.45.9 | Version released |
cego | 30.11.2019 | 2.45.9 | Fix in CegoBTreeManager, the allowDuplicateNull flag was not treated any more. The duplicate handling has been moved from CegoBtreeNode to CegoBtreeManager |
cegobridge | 25.11.2019 | 1.5.4 | Fixes in MySQLFormatter to treat several datatypes and default values |
cego | 24.11.2019 | 2.45.8 | Version released |
cego | 24.11.2019 | 2.45.8 | In CegoXMLSpace, changed access methods for mediator, primary and secondary in a way, that the default value ist the current hostname. In this case, no attribute values are set up. This reduces complexity and avoids to change the entries manually, if the hostname changes ( Again : do not edit the database xml without any deeper knowledge ) . |
cego | 24.11.2019 | 2.45.8 | Improvement in CegoAdmAction for input handling. Used the same methods for nextChar and friends as in CegoAction |
cego | 23.09.2019 | 2.45.7 | Version released |
cego | 22.09.2019 | 2.45.7 | Added method CegoBTreeNode::verifyLeafFull for full btree verification in a sense, that each btree value is compared with the corresponding table data entry via datapointer reference |
cego | 22.09.2019 | 2.45.7 | Fix in CegoSelect::setVIewCond, a view condition id has to be calculated which is later used for getQueryId(). Otherwise, wrong query cache entries are used in case of views with outer conditions |
cego | 05.08.2019 | 2.45.6 | Version released |
lfcbase | 05.08.2019 | 1.14.2 | Version released |
cego | 04.08.2019 | 2.45.6 | Added command line option --fsync to enable physical disk synchronisation for logging and checkpointing. This options slows down database significantly but ensures consistent data in case of an operating system crash |
lfcbase | 04.08.2019 | 1.14.2 | In configure.ac added check for darwin. This is required, since for File::flush implemention, darwin rather requires a fcntl call with option F_FULLFSYNC instead of fsync ( see OSX man page for fsync ) |
lfcbase | 14.07.2019 | 1.14.1 | Version released |
lfcbase | 14.07.2019 | 1.14.1 | Adaptions made for clean mingw compiles |
cego | 14.07.2019 | 2.45.5 | Version released |
lfcbase | 14.07.2019 | 1.14.0 | Version released |
cego | 13.07.2019 | 2.45.5 | In CegoClient, added input data check via File::hasData ( available with lfcbase 1.14.0 ). Now, pipe input is autodetected, so the command line argument "--pipe" has been removed |
lfcbase | 13.07.2019 | 1.14.0 | Added File::hasData method to check for available input data from file descriptor ( implemented with POSIX poll function ) |
cego | 13.07.2019 | 2.45.4 | Version released |
cego | 12.07.2019 | 2.45.4 | Code cleanup to avoid warnings with -Wswitch-enum |
dragon | 12.07.2019 | 1.5.3 | Version released |
dragon | 12.07.2019 | 1.5.3 | Small cosmetic patch in CPlusGenerator parse method. Instead of default, NULLACTION case has been added to avoid compile warnings with -Wswitch-enum |
cego | 11.07.2019 | 2.45.3 | Release build verified for MinGW |
cego | 11.07.2019 | 2.45.3 | Version released |
cego | 11.07.2019 | 2.45.3 | Fix in CegoFieldValue::fastComp, the castTo method calls for t1 and t2 have to be switched, since first ist has to be checked to cast to native btree datatype ( used in CegoBTreeCursor::traceLog, inRange and fullMatch )
create table t1 ( a int, d datetime); create btree b1 on t1(b); select a from t1 where b = '12.07.2019'; -- should be casted from string to datetime |
cegobridge | 09.07.2019 | 1.5.3 | Version released |
cego | 09.07.2019 | 2.45.2 | Version released |
cego | 09.07.2019 | 2.45.2 | Fix in CegoQuery::execute for INSERTBYSELECT_QUERY case. Since the selected tuples are clustered ( MAX_CLUSTERED_INSERT) we have to create a local copy for the corresponding field values. Otherwise, tuple information could be invalidated by relocated buffer pool pages |
cegobridge | 09.07.2019 | 1.5.3 | MySQL SET lines are no more parsed. instead, the scanner ignores these lines |
cego | 07.07.2019 | 2.45.1 | Version released |
cego | 07.07.2019 | 2.45.1 | Treated alias insert queries with empty schema, e.g.
insert into a1 values ( 1, 'XXX'); |
cego | 06.07.2019 | 2.45.1 | Some patches added for alias management to allow alias defintions as a subset of the original table, e.g.
create table t1 ( a int, b string(10), c string(30)) create alias a1 on t1 ( a as ax, b as bx);This has required some fixes in CegoAliasObject::mapSchema and CegoQueryHelper::mapFLA |
cegobridge | 06.07.2019 | 1.5.2 | Version released |
cegobridge | 06.07.2019 | 1.5.2 | Fix in MySQLAction::storeAttrColumn, _defaultOptString.length() and _nullOptString.length() must be compared greater 1 ( not 0 ) |
cegobridge | 03.07.2019 | 1.5.1 | Version released |
cegojdbc | 03.07.2019 | 1.9.6 | Version released |
cego | 03.07.2019 | 2.45.0 | Version released |
cego | 02.07.2019 | 2.45.0 | Added trigger and alias object handling to CegoXPorter binary export and import |
cego | 02.07.2019 | 2.45.0 | Added alias and trigger xml export and import feature ( trigger xport was still not implemented ) Fix in CegoDbThread::loadObjects for trigger reload, instead of triggerList.Next(), triggerList.First() was called, which result in an infinite loop in case of existing trigger objects |
cegojdbc | 01.07.2019 | 1.9.6 | Support for cego-2.45 added. Fix in CegoFixed::toString, zero concatenation must be done from left, otherwise wrong conversion for low values occurs ( e.g. 22.03 is printed as 22.30 ) |
cego | 30.06.2019 | 2.45.0 | More work on table alias handling. Now works with more sophisticated select queries ( e.g. select ax from a1 aa where aa.ax = 1; ) For this, some fixes had to be done in CegoContentObject, since the the table alias attribute ( _tabAlias ) was not setup in constructor and other methods |
cego | 29.06.2019 | 2.45.0 | Basic alias mapping for select works
Here comes a sample SQL script
drop if exists table t1; list alias; desc alias a1; drop if exists alias a1; create table t1 ( a int, b string(30)); create alias a1 on t1 ( a as ax, b as bx ); insert into a1 ( ax, bx ) values ( 1, 'XXX'); insert into a1 ( ax, bx ) values ( 2, 'YYY'); insert into a1 ( ax, bx ) values ( 3, 'ZZZ'); select ax from a1; |
cego | 27.06.2019 | 2.45.0 | Added alias mapping for insert, update and delete queries ( CegoQueryHelper::mapAliasPredicate still to implement ) |
cego | 27.06.2019 | 2.45.0 | In CegoDistManager::registerObjects, added registration for fkey, check, trigger and alias |
cego | 26.06.2019 | 2.45.0 | Implemented base semantic actions for creating, listing and describe alias objects ( still no usage ) |
cego | 25.06.2019 | 2.45.0 | Added classes CegoAliasObject and CegoAttrAlias for table alias handling |
cego | 25.06.2019 | 2.45.0 | Added table alias feature to grammar definition. Table aliases allow alternate table name and attribute name definitions for a table ( create alias ... ) |
cegobridge | 22.06.2019 | 1.5.1 | Added stored procedure grammar defintions to MySQLParser.def. Semantic actions still not implemented |
cegobridge | 21.06.2019 | 1.5.1 | In MySQLAction::storeKey, changed btreename to |
cegobridge | 21.06.2019 | 1.5.1 | Actived append mode in CegoBridge::main, which speeds up import performance significantly |
cegobridge | 21.06.2019 | 1.5.1 | Added MySQL type support for type date and type bigint |
cego | 17.05.2019 | 2.44.14 | Version released |
cego | 17.05.2019 | 2.44.14 | Adapted copyright |
cego | 17.05.2019 | 2.44.14 | Some improved exception handling in CegoTableManager::checkIntegrity ( more detail information about violated object ) |
cego | 15.05.2019 | 2.44.14 | Code cleanup CegoTableManager, drop/create/alter operations inside a transaction no more allowed |
cego | 12.05.2019 | 2.44.13 | Version released |
cego | 12.05.2019 | 2.44.13 | Version passed checkCrashRecovery with the following parameters
NUMRUN=100 DOTRANSACTION=-dotransaction ARANGE=10000 AINTERVAL=500 ACOUNT=30000 PRIMARY=primary POOLSIZE=191All relevant checkpoint situations have been observed over all run |
cego | 12.05.2019 | 2.44.13 | Introduced CegoBufferPool::getCPCount() to return to current checkpoint count. This method is used by CegoTableManager, CegoObjectManager and CegoTransactionManager to decide, if a consitency checkpoint is required |
cego | 12.05.2019 | 2.44.13 | Fix in CegoBTreeManager::checkDuplicate, the check for uflag ( returned CegoBTreeNode::valueExists ) to check for high value is not enough if, entries have been deleted from node. Instead, all subsequent pages have to be checked until a value higher is found |
cego | 11.05.2019 | 2.44.13 | Further recovery fix in CegoTableManager::insertDataTable
In case of an insert exception ( e.g. duplicate pkey ), a checkpoint is forced now after deleteData to ensure file consistency In CegoObjectManager::insertPageData a second checkpoint is forced after data copy, if a previous checkpoint has occured. Otherwise this insert might be ignored during recovery because of lower LSN |
cego | 11.05.2019 | 2.44.12 | Version released |
cego | 11.05.2019 | 2.44.12 |
|
cego | 10.05.2019 | 2.44.12 | In CegoTableManager::deleteDataTable, moved the LSN allocation at the end. If checkpoint occcurs during delete operation, the sync LSN might be higher and the delete operation is not recovered |
cego | 10.05.2019 | 2.44.12 | Several fixes and improvements regarding crash recovery
|
cego | 09.05.2019 | 2.44.11 | Version released |
cego | 09.05.2019 | 2.44.11 | Fix in CegoRecovery:::recoverCurrentTransactionLog, for LOGREC_INSERT and LOGREC_DELETE, the corresponding index have to be invalidated with CegoTableManager::invalidateIndexForTable. This logic was already implemented but removed in context of more sophisticated transaction handling ( patch 2.39.11 and around ) |
cego | 08.05.2019 | 2.44.11 | Small fix in CegoObjectCursor constructor, changed _isEOC = false to _isEOC = ( pageId == 0 ). This causes getFirst to return false in case of truncated objects ( can occur for RBSEG objects ) |
cegojdbc | 05.05.2019 | 1.9.5 | Version released |
cegojdbc | 05.05.2019 | 1.9.5 | Added driver support for cego version 2.44 |
cego | 04.05.2019 | 2.44.10 | Version released |
cego | 04.05.2019 | 2.44.10 | Fix in CegoAction::readChain() to support "\r" escape character Fix in CegoBTreeCursor::getFirst, in case of pAttrCond = 0, getNext has to be called if current leaf page is empty, otherwise cursor trace is incomplete ( just used for CegoDistManager::verifyTable |
cego | 04.05.2019 | 2.44.10 | Fix in CegoBTreeNode::getChildPage, parameter traceMin has been introduced, which is needed to trace btree with CegoBTreeManager::deleteBTree. Otherwise, it might happen that btree entries are not found ( occurs just for non-unique btree objects ) |
cego | 03.05.2019 | 2.44.10 | Modified rc script to check for configured tablesets to be online ( via cgadm ) This requires additional configuration parameters in rc.conf |
lfcbase | 02.05.2019 | 1.13.1 | Version released |
lfcbase | 02.05.2019 | 1.13.1 | Stability patch in Datetime::asChain methods. The result of localtime is checked for null pointer ( may occur in case of very large long values, for which the instance has been created ) and in this case, an exception is thrown |
cego | 02.05.2019 | 2.44.9 | Version released |
cego | 02.05.2019 | 2.44.9 | Version released |
cego | 02.05.2019 | 2.44.9 | Removed legacy method CegoAggregation::setInit/isInit |
cego | 02.05.2019 | 2.44.9 | Fix in CegoQueryHelper::aggregateTuple, since the field value reference for aggregation field value might be no more valid during the aggregation run, a local copy is created via CegoFieldValue::getLocalCopy. |
cego | 28.04.2019 | 2.44.8 | Version released |
cego | 27.04.2019 | 2.44.8 | Added method CegoClient::treateEscape to handle escacpe charaters in command strings for interactive and batch mode ( newline, carriage return und tab ) |
cego | 27.04.2019 | 2.44.8 | Further optimization in CegoFunction::getReturnTypeLen, if the length argument in left, right substr function is a constant, this value is used for schema definition, otherwise the length of the source is used.
Sampleselect left(a,3) from t1 => length 3 is used for schema select left(a,b) from t1 => definition of a is used for schemaFurther ptimization done in CegoSelect and CegoAction for schema evaluation. |
cego | 26.04.2019 | 2.44.7 | Version released |
cego | 26.04.2019 | 2.44.7 | In CegoSelect::evalSelection, optimization provided in a way, that schema is not evaluated explizit anymore. Rather the previous analysed schema ( prepare method, _evalSchema ) is used. Since for dynamic field length, the resulting schema must be estiamated, this approach is ok. |
cego | 25.04.2019 | 2.44.7 | Fix added in CegoFunction::getReturnTypeLen, evalFieldValue for expression values could fail, since FLA ist still not set up. For this case, now the cont value RETVAL_LEN is returned as an estimation. |
cego | 23.04.2019 | 2.44.6 | Version released |
cego | 23.04.2019 | 2.44.6 | Added some code cleanup and additional checks ( check082 and check083 ) |
cego | 22.04.2019 | 2.44.5 | Version released |
cego | 22.04.2019 | 2.44.5 | Added fix in CegoAttrComp::setup, _posSetup variable was not setup correctly for case BTWN / VALUE2VALUE which might lead to invalid join array access. |
cego | 22.04.2019 | 2.44.4 | Version released |
cego | 22.04.2019 | 2.44.4 | Added fix in CegoExpr::evalField and CegoTerm::evalField to provide correct result type. This is required for fastserial protocol usage. Also added fix in CegoFieldValue::operators +-*/ to cast to the largest value |
cego | 22.04.2019 | 2.44.3 | Version released |
cego | 22.04.2019 | 2.44.3 | Optimization added in CegoBufferPool::bufferFix. If there is no available slot in the bufferpool, a checkpoint is forced for the corresponding tableset ( already implemented ). Now if still no available slot, we force checkpoint for all other online tableset of the database. This might be useful, if the bufferpool is heavily occupied by other tablesets with dirty pages. |
cego | 21.04.2019 | 2.44.2 | Version released |
cego | 21.04.2019 | 2.44.2 | Fix in CegoTableManager::deleteDataTable, before resolving external table references via evalExtTableReferences, the subquery must be prepared, to resolve local attributes first |
cego | 21.04.2019 | 2.44.1 | Version released |
cego | 21.04.2019 | 2.44.1 | In CegoFIleHandler, introduced read only mode, which is used for tableset export |
cego | 21.04.2019 | 2.44.1 | For connection pools ( db, admin, lock ) added a check for max connection queue length ( CegoDefs::NETMNG_MAXQUEUELEN ) to protect against port penetration |
cego | 20.04.2019 | 2.44.0 | Version released |
lfcbase | 20.04.2019 | 1.13.0 | Version released |
cego | 20.04.2019 | 2.44.0 | Compile successful on mingw |
lfcbase | 20.04.2019 | 1.13.0 | Compile succesful for mingw |
cego | 19.04.2019 | 2.44.0 | Added authorization for log connection via dedicated loguser.
The log user is setup via cgadm with "set loguser |
cego | 19.04.2019 | 2.44.0 | In CegoDbThreadPool, CegoAdminThreadPool and CegoLogThreadPool, pHandle variable was not initialized ( to zero ). This might cause a crash of the system in case of heavy request penetration or other net exception. |
cego | 19.04.2019 | 2.44.0 | Added logging of incoming connection source information. This requires lfcbase-1.13.0, since ip source information has just been added to NetHandler class |
lfcbase | 19.04.2019 | 1.13.0 | Added ip source information to NetHandler class, which is provided via Net::nextRequest. |
cego | 08.03.2019 | 2.43.4 | Version released |
cego | 07.03.2019 | 2.43.4 | Added fix in CegoSelect::getSchema, In case of union selects, the schema fields have to be checked for type compatibilty. For const null values in expression list, the schema is adapted to the appropriate type in deeper unions. This is required, since the schema types must be consistenst for the whole row set. |
cego | 21.02.2019 | 2.43.3 | Version released |
cego | 20.02.2019 | 2.43.3 | Fix in CegoAttrCond::asConjunctionList, CegoExpr and CegoDistCursor to treat external expression references ( setting up for view objects in selection tableset ). The FLA for the external predicate expressions has to be setup by CegoExpr::setExternalFieldArrayList. Otherwise the FLA for the external expressions might be overwritten by the nested view object which leads to unknown attribute errors. As a sample to reproduce this problem check080 has been added. |
cegojdbc | 29.01.2019 | 1.9.4 | Version released |
cegojdbc | 29.01.2019 | 1.9.4 | Patch added in CegoDataRow, the byte buffer has to be reminded, to allow multiple calls for CegoResultSet.getInt/getLong/etc. |
cego | 24.01.2019 | 2.43.2 | Version released |
cego | 24.01.2019 | 2.43.2 | Some code cleanup in CegoRecoveryManager |
cego | 21.01.2019 | 2.43.1 | Version released |
cego | 21.01.2019 | 2.43.1 | Sync patches in CegoBufferPool:writeCheckPoint to keep database konsistent in several crash cases. The patches habe been checkd with the samples/chkdb/checkRandomCrash Script for about 1000 crashes and recoveries. |
cegojdbc | 15.01.2019 | 1.9.3 | Version released |
cegojdbc | 15.01.2019 | 1.9.3 | Added compatibility check for cego version 2.43. Since there not have been made any protocol changes, the driver already works with cego version 2.43.x |
cego | 13.01.2019 | 2.43.0 | Version released |
cego | 12.01.2019 | 2.43.0 | Adapt cego rc file to support cpdump and cleanup tableset start options |
cego | 12.01.2019 | 2.43.0 | Introduced checkpoint dump option.
With this option enabled at tableset startup time, first a dump of the dirty buffer pool pages is written. If written completely, the dump file is commited ( renamed ) and the recorded pages are physically written to the data file. This option avoids inconsistent data file in case of a system crash during the checkpoint procedure. After system crash, the dump file is checked and if commited, the dumped pages are written again to the data files. This operation is idempotent and so can be repeated several times until the dump has been completely written to datafiles and is removed then. |
lfcbase | 07.01.2019 | 1.12.7 | Version released |
lfcbase | 07.01.2019 | 1.12.7 | Small patch in ShmTest.cc to avoid seg fault for MinGW "make check" ( Shared Memory is just dummy implementation for MinGW ) |
cego | 05.01.2019 | 2.42.17 | Version released |
lfcbase | 05.01.2019 | 1.12.6 | Version released |
cego | 05.01.2019 | 2.42.17 | Improvement for datafile cleanup added. For this, method CegoTableManager::cleanTableSet has been introduced which traces through all relevant database objects and marks allocated pages ( CegoFileHandler::commitPageEntry ). In case of a bitmap diff, the commited bitmap is written to the datafile. This method allows a complete cleanup of data files after a crash where no allocation leaks result anymore. The method has been proven with crashCheckAndRecovery |
cego | 04.01.2019 | 2.42.17 | Further code cleanup in CegoFileHandler, Changed fixStat type from int to unsigned and size calculation for bitmap handling consequently to unsigned |
lfcbase | 04.01.2019 | 1.12.6 | Introduction of constructor Chain(unsigned) and method asUnsigned |
cego | 02.01.2019 | 2.42.16 | Version released |
lfcxml | 02.01.2019 | 1.2.10 | Version released |
dragon | 02.01.2019 | 1.5.2 | Version released |
lfcbase | 02.01.2019 | 1.12.5 | Version released |
cego | 02.01.2019 | 2.42.16 | Code cleanup to compile warning free with -Wall |
lfcxml | 02.01.2019 | 1.2.10 | Changed generated XML parser code to virtual destructor |
dragon | 02.01.2019 | 1.5.2 | Small code cleanup for clean compile -Wall. Changed to code generation with virtual destructor |
lfcbase | 02.01.2019 | 1.12.5 | Code cleanup done with elimination of all warning thrown by -Wall |
cego | 02.01.2019 | 2.42.15 | Version released |
cego | 02.01.2019 | 2.42.15 | Small improvement in CegoBufferPool / CegoFileHandler for page backup handling ( consolidation if isPageBackup and isPageMarked to needPageBackup ). This should improve checkpoint performance |
cego | 01.01.2019 | 2.42.15 | Introduced CegoBufferPool::optimizePool method. This method analyses the bufferppol and if possible, relocates often used pages page entries to its optimal position ( pageIndex = hashId ). This may result in paging out of other pages with lower fixstat values. The method is called during every checkpoint. |
cego | 29.12.2018 | 2.42.14 | Version released |
cego | 29.12.2018 | 2.42.14 | Quality check with 1000 loops in checkCrashAndRecovery performed successful ( for redo logfile size = 10000000, simple case, no transaction checkpoint split ) |
cego | 29.12.2018 | 2.42.14 | Added CegoTableManager::resetTemp & friends methods to perform a reset of the temp space after starting a tableset. This ensures, that allocation leaks caused by a system crash are removed |
cego | 29.12.2018 | 2.42.14 | Redesign of CegoBTreeNode::valueExists compare handling. In some transactional cases, the old logic did not reach valid entries. For this a specific search down / search up inside the tree node has bee added. |
cego | 28.12.2018 | 2.42.14 | More investigation with checkCrashAndRecovery. As a result, tastep information is now also stored in log entries ( CegoLogRecord ). This is required, to decide about the visibility of table data during recovery for open transaction. This is ugly stuff ... Normally, this is a minor change to version 2.43.x since format of log files is incompatible now. But there is now impact for normal operation ( just in case of crash or backup recoveries ). So I leave the version to 2.42.14 |
cego | 27.12.2018 | 2.42.14 | More checks with checkCrashAndRecovery using larger transaction sizes. This lead to a transaction handling bug in CegoBtreeNode::isTupleVisible, tuple state must be NOT in state OBSOLETE to be visible.
Otherwise, the small script breaks :
start transaction; insert into t1 values ( 1, 'XXX'); update t1 set b = 'FFF' where a = 1; -- here comes a duplicate error commit; |
cego | 26.12.2018 | 2.42.13 | Version released |
cego | 26.12.2018 | 2.42.13 | Several fixes added for recovery procedure. LOGREC_DELETE_COMMIT and LOGREC_UPDATE_COMMIT log message types have been removed, index rebuild is done at the end of recovery. This must be done, otherwise in case of open transactions, btree references might be corrupted. This whole recovery process has been tested and verified with a powerful script ( samples/chkdb/checkCrashAndRecovery ), which generates random insert/update/delete operations on a table in transactional chunks ( using cgblow --mode=arb2 ) and the daemon is crashed and restarted. The table content before and after crash is compared then. The recovery procedure seems to be stable now. |
cego | 25.12.2018 | 2.42.12 | Version released |
cego | 24.12.2018 | 2.42.12 | Changed CegoBufferPool::bufferRelease in a way, that frees pages are just saved in a list. the pages are deleted from datafile if the next checkpoint is reached ( writeCheckPoint method ). This ensures transaction save handling also for clob recovery operations. |
cego | 29.11.2018 | 2.42.11 | Version released |
cego | 28.11.2018 | 2.42.11 | Remwork of CegoTableManager::dropObjectSynced method. Cleanup of implementation in a sense the useObject / unuseObject is consequently moved this level ( was not for procedures and views ). Also fixed issue of missing pDBMng->removeObject call |
cego | 20.11.2018 | 2.42.10 | Version released |
cego | 20.11.2018 | 2.42.10 | More restrictive checks for drop table with referenced foreign key added. Now it is not allowed to drop a table with existing key reference ( except self refering tables ) |
cego | 19.11.2018 | 2.42.10 | Added truncate command for truncating table object. Redesign also done for dropTable method in terms of log messages. Now one single log message in created for dropping a table ( instead of dedicated messages for each corresponding object like index, key, check, et ) |
lfcxml | 12.11.2018 | 1.2.9 | Version released |
lfcxml | 12.11.2018 | 1.2.9 | Added missing includes string.h and stdlib.h in Element.cc and xmltext.cc required for clean Linux compile |
cego | 12.11.2018 | 2.42.9 | Version released |
cego | 10.11.2018 | 2.42.9 | Fix in CegoDistManager::createLocalDataTable, exception catched if primary could not be created and data table is removed in this case Some method redesign in CegoBTreeManager and CegoBTreeNode for better handling of unique btrees. CegoBTreeNode::getChildPage now returns the upper page, for this also the method CegoBTreeValue::iEqualHigher has been introduced. Duplicates are checked with new introduced method CegoBTreeNode::checkDuplicate |
cego | 08.11.2018 | 2.42.8 | Version released |
cego | 07.11.2018 | 2.42.8 | Some improvements added regarding procedure exception handling |
cego | 06.11.2018 | 2.42.8 | restrictions added for lock Table / unlock table command ( in CegoDatabaseManager::unuseObject ) to ensure, that unlock operations are just valid, if the corresponding table is locked by the calling thread |
cego | 06.11.2018 | 2.42.7 | Version released |
cego | 06.11.2018 | 2.42.7 | Adaptions made in CegoXPorter for new memory outstream mng in lfcxml 1.2.8 |
lfcxml | 06.11.2018 | 1.2.8 | Version released |
lfcxml | 06.11.2018 | 1.2.8 | Changed memory management for outStream handle in Element ( is done by producer now ) |
lfcxml | 04.11.2018 | 1.2.7 | Version released |
lfcxml | 04.11.2018 | 1.2.7 | Patch in XMLSuite to treat CDATA handling in a better way. The detection of CDATA endtoken ( "]]>" ) was not handled correctly, if moreData has to be called during read the endtoken. To handle this, a lookahead has been introduced and as a consequence, the XML grammar has been modified ( read of endtoken is completely done by scanner, no more grammar symbols are needed anymore ) |
cego | 02.11.2018 | 2.42.6 | Version released |
cego | 02.11.2018 | 2.42.6 | Small optimizsation done in CegoBTreeCursor. Instead of using releaseDataPtrUnlocked and claimDataPtrUnlocked method, now the combined method releaseAndClaimDataPtrUnlocked is used. In case of traversing tuples which are located in the same page, this avoids bufferFix / bufferUnfix operations, since the requested pageId is already fixed ( the releaseAndClaim method has also been modified for this ) |
cego | 01.11.2018 | 2.42.5 | Version released |
cego | 01.11.2018 | 2.42.5 | Add avgFixTry attribute to bufferpool information to indicate the average number of fix tries |
cego | 01.11.2018 | 2.43.0 | Recognized a fatal design issue with new primary key design : since the tuple data store within primary key has no static data pointer anymore, there no efficient and trivial way to handle further index object on this data. Actually, I have no idea how to deal with this issue, so I stopped progress of this version. Detected bugs ( detect duplicated primary in btree nodes and small issue in CegoXPorter ) are fixed with version 2.42.5 |
cego | 28.10.2018 | 2.43.0 | XML and binary export/import with new primary key structure works now |
cego | 27.10.2018 | 2.43.0 | Primary key adaptions made for CegoXPorter. Old XML format still can be imported ( primary key handling ) but NOT binary/plain export files |
cego | 27.10.2018 | 2.43.0 | Fix added to CegoBTreeNode::getChildPage. For unique trees and primary trees, just the leaf nodes have been checked. Also the tree nodes have to be checked for duplicates, otherwise, duplicate entries may occur. |
cego | 27.10.2018 | 2.43.0 | Implementation of CegoTableManager::createPrimaryKey added. This methods converts an existing table to a btree table ith primary key. The syntax for primary key creation has been changed ( Now : alter table xxx add primary key ( x, y, z ) ) |
cego | 25.10.2018 | 2.43.0 | More work on CegoBTreeManager and friends to complete insert for primary btree values ( split node ) Extension for CegoBTreeCursor to support traversation of tables with primary key. Logic basically works ! |
cego | 23.10.2018 | 2.43.0 | CegoBTreeManager and friends have been adapted for primary key handling. Inserting primary btree values basically works with first leaf page |
cego | 21.10.2018 | 2.43.0 | Started with alternate primary key implementation. In this sense, the primary key stores the complete tuple data ( instead of datapointers to records in a table object ). In case of index traces, this avoids several bufferfix/bufferunfix operations and should result in a better database performance. Still pretty much work ahead ... |
cego | 20.10.2018 | 2.42.5 | Small optimization in CegoBufferPool::bufferFix, in step 1, the pool is locked not outside the loop over numtries. This decreased locking granularity but avoids some lock operation and should improve bufferpool performance |
lfcbase | 20.10.2018 | 1.12.4 | Fix in NanoTimer, changed return value for getSum method to unsigned long long |
cego | 15.10.2018 | 2.42.4 | Version released |
cego | 15.10.2018 | 2.42.4 | Fix in CegoAction::execListCounter, changed scheme type to LONG_TYPE, which is important for fastserial protocol |
lfcbase | 15.10.2018 | 1.12.3 | Version released |
lfcbase | 15.10.2018 | 1.12.3 | In basecheck/ChainTest, the visibelLength Test has been disabled for MinGW compiles since setlocale seems to be broken in MinGW |
cego | 14.10.2018 | 2.42.3 | Lock timeout definitions have been increased from 10000 to 30000 ms. ( CegoDefs.h ) |
cego | 13.10.2018 | 2.42.3 | In samples/rc/cego startscript added cego_protocol parameter to support fastserial mode |
cego | 13.10.2018 | 2.42.2 | Version released |
cego | 13.10.2018 | 2.42.2 | Version released |
cego | 13.10.2018 | 2.42.2 | Fix in CegoAction::formatTableInfo, the field types for schema attributes PAGES and RELEVANCE have to changed to INT_TYPE, for fastserial protocol this is important |
cego | 01.10.2018 | 2.42.1 | Post note : This patch contains a fix for datetime value encoding/decoding in CegoFieldValue. It still was done with 4 byte ( since version 2.40.0, cego uses 8 byte datetime length ) |
cegojdbc | 01.10.2018 | 1.9.2 | Version released |
cegojdbc | 01.10.2018 | 1.9.2 | Completed data type handling in CegoDataRow |
cego | 30.09.2018 | 2.42.1 | Version released |
cego | 29.09.2018 | 2.42.1 | Fix in CegoTableManager::alterDataTable, for case RENAME, the schema is checked for already existing attribute name |
cegojdbc | 29.09.2018 | 1.9.2 | Completed data type handling in CegoDataRow::valueAsString |
cegojdbc | 25.09.2018 | 1.9.1 | Version released |
cegojdbc | 25.09.2018 | 1.9.1 | Set TCP_NODELAY flag for sockets in CegoNet.java ( via Socket.setTcpNoDelay(true). Disabling the Nagle's algorithm leads to a much better network performance, since the latencies for any response packets is reduced significantly. ( For scenarios with heavy parallel load with many sustained queries, I observed speedup up to 3 or 4 times faster ) |
cegobridge | 23.09.2018 | 1.5.0 | Version released |
cegobridge | 23.09.2018 | 1.5.0 | Added support for fastserial protocol |
cegodbd | 23.09.2018 | 1.5.0 | Version released |
cegodbd | 23.09.2018 | 1.5.0 | Added support for fastserial protocol |
cegojdbc | 23.09.2018 | 1.9.0 | Version released |
cego | 23.09.2018 | 2.42.0 | Version released |
cego | 21.09.2018 | 2.42.0 | Fix in CegoDbThread::serveRequest, case GETBLOB and GETCLOB, the clobref still was not treated there, which lead to corrupted lob results if, the lob service is used ( normally via JDBC with the ResultSet.getBlob/getClob methods ) |
cego | 20.09.2018 | 2.42.0 | Small protocol modifications also made for serial protocol ( cego type id is now transfered to client ) which incompatibles serial protocol with earlier versions ( < 2.42.x ) |
cegojdbc | 20.09.2018 | 1.9.0 | Add support for fastserial protocol. |
cego | 19.09.2018 | 2.42.0 | Added new network protocol fastserial for improved transfer performance from db client to db server ( and vice versa ). The fastserial protocal ist based on the native serial protocol but is no more plain ASCII/UTF. Instead field length information is transferred as plain integers. In this sense, the protocol is machine dependent. |
cego | 18.09.2018 | 2.41.7 | Version released |
cego | 17.09.2018 | 2.41.7 | Performance improvement in CegoQueryHelper::decodeFVL, changed to a more efficient way to setup field values |
cego | 17.09.2018 | 2.41.7 | Performance improvement in CegoSelect::evalSelection, in case of aggregations and grouping, the field value is already setup by getFieldList method, so no need to iterate through pJoinBuf |
cego | 16.09.2018 | 2.41.6 | Version released |
cego | 16.09.2018 | 2.41.6 | Performance optimization in CegoObjectManager, changed CegoObjectManager::claimDataPtrUnlocked to return void, the CegoBufferPage is returned as a reference parameter, this avoid copy operation for the buffer page variable |
cego | 16.09.2018 | 2.41.6 | Removed unused CegoFieldValue variables in CegoBTreeCursor methods inRange / fullMatch. This may impact cursor performance, since this methods are heavily called. |
cego | 15.09.2018 | 2.41.6 | Optimization done in CegoTableManager::getClobs/getBlobs, lobList parameter changed to reference instead of returning the lobList. This avoids copy operation of the lobList during insert or update which might be pretty expensive |
cego | 14.09.2018 | 2.41.6 | Fix/optimization in CegoBTreeValue, the static array _idxArray was removed. Instead, memory is allocated dynamically, when used ( just, if method valueFromSchema is called in btree insert case ). This should improve performance for btree cursor, since, no memory must be stacked, if a btree value variable is declared |
cego | 14.09.2018 | 2.41.6 | Several code optimizations regarding method parameter handling ( rather try to use reference instead of return copy, e.g. changed CegoExpr::getFieldList and friends |
cego | 03.09.2018 | 2.41.5 | Version released |
cego | 03.09.2018 | 2.41.5 | Fix in CegoAttrCond::setup(ListTdrop if exists table t1; create table t1 ( a int, b string(10), c string(10)); insert into t1 values ( 1, 'W0001', '001'); insert into t1 values ( 1, 'W0001', '003'); insert into t1 values ( 1, 'W0138', '002'); insert into t1 values ( 1, 'W0138', '001'); select * from t1 tx where exists ( select * from t1 ty where tx.a = ty.a and tx.c = ty.c and ty.b = 'W0001' ) and tx.b = 'W0138';With the patch, result is +-----------+-----------+-----------+ | tx | tx | tx | | a | b | c | +-----------+-----------+-----------+ | 1 | W0138 | 001 | +-----------+-----------+-----------+ |
cego | 31.08.2018 | 2.41.4 | Version released |
cego | 31.08.2018 | 2.41.4 | Added database functions blobref and clobref to indicate the amount of lob references for a given lob |
cego | 30.08.2018 | 2.41.4 | Fix in CegoDbThread::serveRequest, case PUTBLOB and PUTCLOB, the blobRef/blobSize setup was not handled correctly here |
cego | 30.08.2018 | 2.41.3 | Version released |
lfcbase | 30.08.2018 | 1.12.2 | Version released |
lfcbase | 30.08.2018 | 1.12.2 | Fix in basecheck/DateTimeTest. Added an #ifdef MINGW32 for datetime values beyond 2040 |
cego | 30.08.2018 | 2.41.3 | Fix in CegoFactor::checkLob, the method implementation was still not complete. This might lead to problems during crash recovery of update operations |
cegojdbc | 29.08.2018 | 1.8.4 | Version released |
dragon | 30.07.2018 | 1.5.1 | Version released |
dragon | 30.07.2018 | 1.5.1 | Fix in src/Main.cc and samples/gxmain-master.cc. Include of stdlib.h added, since this is needed for Linux compiles ( exit function ) In GoLangGenerator.cc scanner code was added to complete scanner state machine ( there still was missing some code for transition jumps ) |
dragon | 27.07.2018 | 1.5.0 | Version released |
dragon | 26.07.2018 | 1.5.0 | Added code generation for GoLang. GoCode is generated, compiles and basically works Still some cleanup stuff required |
cego | 29.06.2018 | 2.41.2 | Version released |
cego | 29.06.2018 | 2.42.2 | Improvement for join optimizer in CegoSelect::consolidateConjunctionList. With the new introduced method CegoQueryHelper::checkIndexForPredicate the conjunction list elements are checked. This leads to a better join order, where index related predicates are evaluated first. |
cego | 19.06.2018 | 2.41.1 | Version released |
cego | 18.06.2018 | 2.41.1 | Performance optimization for bulk insert ( insert into t1 values ( 1, 'XX'),(2,'YY'),... ) Just with the last inserted tuple, the online redo logs are flushed to disk. For the the method paramter flushLog has been introduced for several methods ( CegoLogManager::logAction, CegoBufferBool::logIt, CegoTableManager::insertDataTable ) |
cego | 17.06.2018 | 2.41.0 | Version released |
cego | 16.06.2018 | 2.41.0 | Modified lob handling in a way, that references to lobs are managed. This avoids expensive lob copy operations in case of update queries with lob values. Since the lob reference counter is stored inside the lob, this incompatibles the datafile format with previous versions. In case of a tableset with lob values, an export and import is required for this version Also lob recovery handling for update operations is fixed in this version ( CegoQueryHelper::encodeUpdRec and CegoQueryHelper::decodeUpdRec ) |
cego | 14.06.2018 | 2.40.14 | Patch in CegoProcedure::execute to treat cast from string to clob. For this the method parameters had to be expanded to provide TableManager and TableSetID which is required, to add a clob ( in case of a string to clob cast ) |
cego | 14.06.2018 | 2.40.13 | Version released |
cego | 13.06.2018 | 2.40.13 | Fix in CegoDistCursor, class variable _useCache was not initialized, might lead to poor cursor performance, since the table data is cached although cache not enabled. Performance improvement for insert query. In case of array insert ( insert into t1 values ( 1, 'XX'), (2, 'YY'), (3, 'ZZ') ... ) insert operations are handled in a more efficient way |
cego | 12.06.2018 | 2.40.12 | Version released |
cego | 12.06.2018 | 2.40.12 | Modification for transaction handling in CegoDistManager::deleteLocalDataTable. Now the delete operation is executed inside a single transaction ( for any performance in the past, nested transactions had been executed in CegoTableManager::deleteDataTableEntrySynced, which leads to very poor delete performance ) |
cegojdbc | 09.06.2018 | 1.8.3 | Version released |
cegojdbc | 09.06.2018 | 1.8.3 | Fixes in CegoSerialTokenizer for correct Umlauthandling.For this, the source string is converted to a byte array, since just in the array, the correct token positions can be detected ( Java treats umlaute as single characters ) |
cego | 08.06.2018 | 2.40.11 | Version released |
cego | 08.06.2018 | 2.40.11 | Fix in CegoBTreeNode::operator = , _entrySize was not copied. This might lead to btree build problems |
cego | 08.06.2018 | 2.40.11 | Fix in CegoBTreeNode::operator = , _entrySize was not copied. This might lead to btree build problems |
cego | 06.06.2018 | 2.40.10 | Version released |
cego | 03.06.2018 | 2.40.10 | In CegoFieldValue, small performance improvements for compare methods ( isEqual, isLess, isMore ... ) are made |
cego | 01.06.2018 | 2.40.9 | Version released |
cego | 01.06.2018 | 2.40.9 | In CegoFieldValue::fastComp for type VARCHAR now memcmp is used rather than strcmp. For type DATETIME, the compare is directly done on field pointers ( instead of copying to local unsigned long long variables ) |
cego | 01.06.2018 | 2.40.9 | Performance improvement in CegoAttrComp / CegoAttrCond classes. In the CegoAttrComp::setup method, the field value position is now also cached. So for subsequent method calls, the cached field array position is used instead of searching the position by looping through the array. |
cego | 25.05.2018 | 2.40.8 | Version released |
cego | 25.05.2018 | 2.40.8 | Modification of tableinfo information. Just object information is returned now without size information for each object. For large table configurations, this avoids response delay. To get size information, the command tablesize has been introduced. In this sense, tableinfo output is a subset of tablesize output. |
cego | 24.05.2018 | 2.40.7 | Version released |
cego | 23.05.2018 | 2.40.7 | Further performance improvement for advanced select queries.
In CegoSelect, the attribute cache in not cleared anymore. This assumes to setup the the FLA structure with CegoExpr::setFieldListArray method. For this, the CegoExpr::evalField method had to be modified, since CegoSelect::getSchema had set up field list array with a different structure. Now the field information is given as an argument to getField, so the field list array has not to be set up. It has been observed, that for sophisticated queries the performance improvement can be up to 30% depending on the number of join fields and joined tables. |
cego | 22.05.2018 | 2.40.6 | Version released |
cego | 15.05.2018 | 2.40.6 | Patch added for inner/outer joins with null condition in where clause ( e.g. select t1.a, t2.d from t1 left outer join t2 on t1.a = t2.c where t2.d is null ). The where condition has to be evaluated out of join, otherwise the may lead to wrong results. For this reason, n CegoDistCursor::joinSetup, the _innerCond and _outerCond variables are set to empty now in case of inner/outer join. |
cego | 13.05.2018 | 2.40.5 | Version released |
cego | 11.05.2018 | 2.40.5 | Small optimization for inner joins added. In CegoDistCursor::distSetup, _doEval is set to false, if the join type is inner join. For any outer joins, the evaluation is still required |
cego | 09.05.2018 | 2.40.4 | Version released |
cego | 08.05.2018 | 2.40.4 | Performance patch in CegoBTreeCursor::getFirst added. Instead of tracing each value in the first leaf node to find the entry point, this is now done by a binary search. This reduces search efforts from O(n) to O(log(n)) where n is the number of maximum index entries per btree leaf node. This might reduce query execution time for complex joins with extensive use of btree cursors |
cego | 06.05.2018 | 2.40.3 | Version released |
cego | 06.05.2018 | 2.40.3 | Version released |
cego | 06.05.2018 | 2.40.3 | Perormance patch in CegoBTreeCursor::traceLow / fullMatch / inRange methods. Instead of creating the field value as a local copy, the value reference from the btree value is used. This speeds up btree cursor trace performance about 20% faster |
cego | 04.05.2018 | 2.40.2 | Version released |
cego | 02.05.2018 | 2.40.2 | Improved version of CegoQueryHelper::decodeFVL, the assumption is, that column ids are coming in an increased order in field value list. So we do not need to loop over fvl to find the corresponding column id. Rather we iterate together with decoding buffer to perform decoding in O(n) ( instead of O(n*m) ) where n = number of matched rows and m number of columns in table |
cegojdbc | 30.04.2018 | 1.8.2 | Version released |
cegojdbc | 30.04.2018 | 1.8.2 | Improvement in class CegoNet::receiveDoc, If the message buffer exceeds, instead of an exception now the message buffer is reallocated. This avoids any definition dependency between database server and JDBC driver to correlate the appropriate buffer sizes. |
cego | 28.04.2018 | 2.40.1 | Version released |
cego | 28.04.2018 | 2.40.1 | New definitions in CegoDefs
#define NETMNG_MAXTUPLECOUNT 3000 #define NETMNG_MAXBYTECOUNT 10000000Introdduction max maxByteCount allowed to increase MAXTUPLECOUNT, which should result in a better network performance. MAXTUPLECOUNT is still need for XML protocol ( legacy reason ) |
cego | 28.04.2018 | 2.40.1 | In CegoOutput, extended setDbHandle method to parameter maxBytePerMsg. In CegoDbHandler introduced method numCollected. So now also the amount of collected bytes is counted and is limited to a defined value per network message |
cegojdbc | 27.04.2018 | 1.8.1 | Version released |
cegojdbc | 27.04.2018 | 1.8.1 | Patch in CegoSerialTokenizer::nextToken , _pos has to be checked for less than _stream.length in while loop |
lfcbase | 27.04.2018 | 1.12.1 | Version released |
lfcbase | 26.04.2018 | 1.12.1 | Patch in File::flush for MinGW64, fsync functions seems not to be supported for MinGW64, so we flush stays empty |
cegojdbc | 25.04.2018 | 1.8.0 | Version released ( supports cego 2.40.0 ) |
cego | 25.04.2018 | 2.40.0 | Version released. Please note, that this version is incompatible to previous versions in terms of datafile format and serial network protocol. A complete database export/import ( xml or sql dump ) is required for update. Futhermore lfcbase-1.12.0 base library is required. |
lfcbase | 25.04.2018 | 1.12.0 | Version released |
cego | 25.04.2018 | 2.40.0 | Performance patch in CegoTableManager::putClobData/puBlobData. The getNewFilePage method now is called with doAppend = true. In case of large filled database, clob import performance was pretty poor |
cegojdbc | 24.04.2018 | 1.8.0 | Support added for cego version 2.40.0 |
cego | 24.04.2018 | 2.40.0 | Performance patch for CegoSerial class added. Now the token length is given to avoid any escape character handling. Please note, that this patch is incompatible to cego versions before 2.40 |
lfcbase | 24.04.2018 | 1.12.0 | Added Tokenizer::rawRead method to read a given number of bytes raw from the token stream |
cego | 23.04.2018 | 2.40.0 | Support for lfcbase-1.12.0 API added. Please note, that this version is incompatible to previous database files. An XML export or SQL dump before update is required to be able to restore the database after upgrade |
lfcbase | 23.04.2018 | 1.12.0 | Changed Datetime API, instead of provide asInt method, now the more advanced asLong method is implemented to handle 64 bit datetime values ( 2040 and beyond ) |
cego | 20.04.2018 | 2.39.16 | Version released |
lfcbase | 20.04.2018 | 1.11.9 | Version released |
cego | 19.04.2018 | 2.39.16 | Fix in CegoObjectManager::insertPageData, new data entry is checked now for maximum available space in page. This is done, if a new data page has to be allocated and the data entry still fits not into page |
cego | 19.04.2018 | 2.39.16 | Added File::flush method to CegoLogManager and CegoFileHandler to synchronize log data and datafile data to disk |
lfcbase | 19.04.2018 | 1.11.9 | Introduced new method File::flush to force synchronization of data to disk |
cego | 11.04.2018 | 2.39.15 | Version released |
cego | 10.04.2018 | 2.39.15 | Fix in dbcheck/expimpcheck, test plan was not set up correctly In CegoXPorter and CegoExpImpStream, row export information was added again to indicate overall row export for each table Fix added in CegoDbThread::serveRequest ( GETBLOB and GETCLOB case ) and CegoTableManager::getBlobData / getClobData chunkSize calculation. The existing calculation did not treat every boundary case. |
cego | 09.04.2018 | 2.39.14 | Version released |
cego | 09.04.2018 | 2.39.14 | Fix in CegoXPorter::writeRow and CegoXPorter::readRow for binary export and import of tables containing lob null values. lob null values must be identified by colLen unsigned long long = 0 instead of integer = 0 |
cego | 09.04.2018 | 2.39.14 | Fix in CegoXPorter::writeRow and CegoXPorter::readRow for binary export and import of tables containing lob null values. lob null values must be identified by colLen unsigned long long = 0 instead of integer = 0 |
cego | 07.04.2018 | 2.39.13 | Version released |
cego | 07.04.2018 | 2.39.13 | Fixes in CegoLogManager, CegoRecoveryManager, CegoDistManager and CegoTableManager for LSN handling. Instead of saving the next LSN, now the current written LSN is recorded in CegoLogManager. This seems to be more natural, since a lot of methods set up the LSN to a value + 1. Also this fixes a mismatch between commited lsn and current lsn, which leads to a tableset recovery during startup in any case ( occured with version 2.39.9 ) |
cego | 07.04.2018 | 2.39.13 | Introduced CegoTransactionManager::getCrashAffectedTables method. In case of a crash recovery, all transaction affected tables have to be analysed for index objects. Before finishing transactions, the index objects have to be invalidated ( since they might be corrupted ) and after completion of transactions they have to be recreated. This is done now in CegoTableManager::finishOpenTransaction |
lfcbase | 06.04.2018 | 1.11.8 | Version released |
lfcbase | 06.04.2018 | 1.11.8 | Extensions made for Chain::toLower and Chain::toUpper methods. To treat multi character strings, a conversion is made to wide characters using mbstowcs libc function. case conversion now is done with towupper / towlower wide character function. Strings are then converted back to multicharacters using wcstombs function. This allows upper/lower case conversion now for Umlaute ( öüä ) which have actually not been treated |
cego | 05.04.2018 | 2.39.12 | Version released |
cego | 05.04.2018 | 2.39.12 | Patch in CegoClient to catch format exceptions like "Invalid datetime string <0> for format <%d.%m.%Y %H:%M:%S>". This may happen, if on server side bad union selects are defined like
create view v1 as select a as a, b as b from t1 union all select a as a, 0 as b from t2;where b is a datetime data type. In this case, bad formatted strings are occured on client side, which are catched now. |
cego | 05.04.2018 | 2.39.12 | Patch in CegoDatabaseManager::useObject to support lock delay values > 1 sec. The DBM_LOCKDELAY value in CegoDefs has now increased to 2500 msec. In some cases for heavy updates ( e.g. clob updates ) this might be useful to avoid ugly exclusive lock delay messages in database log file |
cego | 04.04.2018 | 2.39.12 | Fix in CegoTableManager::updateTuple, if the update fails ( this might happen, if another transaction actually updates the corresponding tuple ), any allocated lob values are freed now. Otherwise the for the lob values are data pages allocated with no more references |
cego | 31.03.2018 | 2.39.11 | Version released |
cego | 31.03.2018 | 2.39.11 | Cleanup stuff |
cego | 31.03.2018 | 2.39.11 | Cleanup stuff |
cego | 31.03.2018 | 2.39.10 | Version released |
cego | 31.03.2018 | 2.39.10 | Improvements were made for log handling, the logIt method was moved from CegoTableManager to CegoBufferPool. This allows a more adequate locking of the logging actions. For this the tsLock array has been removed from CegoTableManager and lmLock array has been set up in CegoBufferPool. Since checkpoint writing occurs in CegoBufferPool ( which is also relevant for loging operations ), the logging method is now part of CegoBufferPool. The logAction method in CegoLogManager has also been improved in a way, that a log buffer is not allocated for each logging operation anymore. Instead, a logBuf array has been defined for all tablesets and the logBuf is reallocated, if the current logging record exceeds the log buffer. |
cego | 29.03.2018 | 2.39.9 | Version released |
cego | 29.03.2018 | 2.39.9 | Added fixes for recovery procedure in CegoTableManager. Now the LSN is allocated at the beginning of critical operation to avoid double operations in case of a forced checkpoint.
For this the CegoLogManager::nextLSN method has been introduced. Now it is no more ensured that the log is written with increasing LSN, so some logical parts of the recovery procedure in CegoRecoveryManager has been changed. In CegoBufferPool, the writeCheckPoint method still returned int value. This has been changed to unsigned long long |
cegojdbc | 23.03.2018 | 1.7.9 | Version released |
cegojdbc | 22.03.2018 | 1.7.9 | Improvements for clob handling ( put clob to database ) |
cego | 19.03.2018 | 2.39.8 | Version released |
lfcbase | 18.03.2018 | 1.11.7 | Additional fix to this release : Added regfree call to Matcher destructor. Missing this call seems to cause a small memory leak |
cego | 18.03.2018 | 2.39.8 | Fix for memory leak in CegoPredDesc, pMatcher has not been cleaned up |
lfcbase | 18.03.2018 | 1.11.7 | Version released |
lfcbase | 18.03.2018 | 1.11.7 | Fix for memory leak in TreeT and AVLTreeT. The = operator implementation did not empty the tree before copy. |
cego | 09.03.2018 | 2.39.7 | Version released |
cego | 09.03.2018 | 2.39.7 | Fix in CegoRecoveryManager::recoverCurrentTransactionLog for the INSERT case. For the blob/clob handling, the lobREf values have not been set up correctly. This might lead to problems for table recovery with more than one lob row ( e.g. table t1 ( a blob , b clob ) |
cegojdbc | 08.03.2018 | 1.7.8 | Version released |
cegojdbc | 08.03.2018 | 1.7.8 | Fix in CegoNet.closeSession, disconnect method call was added to close finally the socket descriptor. Otherwise this may lead to socket leaks with the error message "too many open sockets" |
cego | 08.03.2018 | 2.39.6 | Version released |
cego | 07.03.2018 | 2.39.6 | Some clob related fixes in CegoQueryHelper::decodeNativeFVL / decodeFVL which relevant for recovery handling |
cego | 07.03.2018 | 2.39.6 | Fix in CegoTableManager::deleteDataTable, pBlock has to be checked for null value, otherwise crash recovery might crash. ( bug came with 2.39.0 to check for pBlock->getTriggerValueList ) |
cego | 06.03.2018 | 2.39.5 | Version released |
cegojdbc | 06.03.2018 | 1.7.7 | Version released |
cegojdbc | 06.03.2018 | 1.7.7 | Fix in CegoNet.getClob, the full msgSize has to put to setBytes method, otherwise large are getting corrupted in case of multiple message chunks |
cego | 06.03.2018 | 2.39.5 | Bug fix in CegoAction::reallocateStringBuf, in the memcpy call, just the previous stringBufLen has to be copied ( _stringBufLen - MAXSTRINGLEN ). This bug might lead to seg fault in case of large parser input ( e.g. clob strings ) |
cego | 06.03.2018 | 2.39.5 | In CegoQuery for insert and insert-by-select case, allocated blob and clob data ( by CegoQueryHelper::prepareFieldValue ) is cleaned now if any exception occurs |
cegojdbc | 05.03.2018 | 1.7.6 | Version released |
cegojdbc | 05.03.2018 | 1.7.6 | Fix in CegoClob method setBytes, The copy operation was not correctly done |
cego | 05.03.2018 | 2.39.4 | Version released |
cego | 05.03.2018 | 2.39.4 | Small bug fix in CegoDistManager, which came up with version 2.39.0. In method deleteLocalDataTable, the variable delCount was declared two times, which lead to a result of 0 tuples deleted in any case |
cego | 03.03.2018 | 2.39.3 | Version released |
cego | 02.03.2018 | 2.39.3 | Small improvement in CegoDbThreadPool. For a better db thread load value calculation, the request queue is no more locked while no incoming requests. Instead the QUEUEDELAY parameter has been increased to a default value of 200 msec to reduce db thread cpu load while idle. Now the db thread have a good chance to report idle time to the db thread pool |
cego | 02.03.2018 | 2.39.3 | Some boring code cleanup done |
cego | 02.03.2018 | 2.39.3 | In CegoQuery::execute, changed order for setBlock and setFieldListArray for INSERT_QUERY case |
cegobridge | 01.03.2018 | 1.4.0 | Version released |
cegobridge | 01.03.2018 | 1.4.0 | Adaptions for cego-2.39 |
cego | 01.03.2018 | 2.39.2 | Version released |
cego | 01.03.2018 | 2.39.2 | Fix in CegoTableManager::updateTuple, while setting up expression list, field list array must be setup BEFORE block ist set, since field list is needed by block setup ( in case of subqueries for prepare ) |
cegojdbc | 01.03.2018 | 1.7.5 | Version released |
cegojdbc | 28.02.2018 | 1.7.5 | Added implementation for several clob relevant methods and like ResultSet.getClob, Clob.getCharacterStream and others |
cego | 27.02.2018 | 2.39.1 | Version released |
cego | 27.02.2018 | 2.39.1 | Fix in CegoQueryHelper::encodeFVL, for blob/clob values lists, the corresponding index variables ( blobidx/clobidx ) have not been increaed while encoding lob data. This might lead to invalid results and seg faults in case of multiple lobs values in one insert/update operation. |
cego | 26.02.2018 | 2.39.0 | Version released |
cegojdbc | 26.02.2018 | 1.7.4 | Version released |
cegojdbc | 26.02.2018 | 1.7.4 | Consolidation of methodes CegoNet::connect and CegoNet::requestSession. This is just an small optimization for connection establishment |
cego | 25.02.2018 | 2.39.0 | Trigger implementation basically completed |
cego | 24.02.2018 | 2.39.0 | Trigger feature basically works for on insert. Some expansions for triggerValueList handling have to be done in CegoProcBlock class. This is for refering to ( insert ) values from the triggering statement |
cego | 24.02.2018 | 2.39.0 | Initial trigger implementation done, classes CegoTrigger and CegoTriggerObject added and integrated, Parser expansion for corresponding trigger commands done. Code compiles |
cego | 23.02.2018 | 2.39.0 | Started with trigger implementation |
cego | 23.02.2018 | 2.39.0 | Introduced table locking statements to set an explicit lock on a table ( e.g. for update synchronisation ). This feature replaces the "set update sync on/off" command |
cego | 22.02.2018 | 2.38.20 | Version released |
cego | 22.02.2018 | 2.38.20 | For heavy update operations on tables with btrees used embedding transactions, duplicate btree errors may occur. This is caused by not checking corresponding tuple states. To solve this problem, the following fixes have been done : - Fix in CegoTableManager::checkBTreeIntegrity : The tuple state for found entries has to be checked if state = COMMITTED - Fix in CegoBTreeNode:checkForAffected ( was checkForDeleted before ) : The tuple state has already checked for state INSERTED if, tid != dataTid |
cegojdbc | 21.02.2018 | 1.7.3 | Version released |
cegojdbc | 21.02.2018 | 1.7.3 | Improvements made regarding network IO handling. Instead of using PrintStream for socket output, now native ByteStream is used. It has been observed, that PrintStream seems to have some overhead and slows down network communication significantly. Many parallel threads writing sockets in parallel may lead to an hanging IO ( observed on SUSE Linux ) Furthermore, the P() and V() semmaphore methods in CegoNet have been removed. Instead, for the critical regions, synchronized methods are used now. At all, this patch lead to a much better driver performance, especially for linux based systems |
cego | 10.02.2018 | 2.38.19 | Version released |
cego | 10.02.2018 | 2.38.19 | Fix in dbcheck/check065.sql for union sql in view.There must be set up aliases for attributes in selection now |
cego | 02.02.2018 | 2.38.18 | Version released |
cegojdbc | 02.02.2018 | 1.7.2 | Version released |
cegojdbc | 02.02.2018 | 1.7.2 | Switched to sl4j API |
cego | 30.01.2018 | 2.38.18 | Fix in CegoSelect::prepare, expression alias in select list are checked now for union selects. Alias definition in select expression list should be identical for all select statements in union |
cego | 28.01.2018 | 2.38.17 | Version released |
cego | 28.01.2018 | 2.38.17 | Fix in CegoTableManager::createForeignKey, for empty tables, referenced attributes names have not been checked. This might lead to invalid key objects. |
lfcbase | 18.01.2018 | 1.11.6 | Version released |
lfcbase | 18.01.2018 | 1.11.6 | Code cleanup class Net and NetHandler ( eg. changed from bind to ::bind since fpr FreeBSD 12, compile problems occured without namespace definition |
cego | 30.12.2017 | 2.38.16 | Version released |
cego | 29.12.2017 | 2.38.16 | Optimization for procedure load in CegoFunction::evalFieldValue ( case USERDEFINED ), procedure is just loaded as a dedicated instance ( via loadProcedure method ), if pMasterBlock is set. This avoids ( expensive ) dedicated load, if the procedure is still not in use by the corresponding thread. So just for recursive procedure calls, the dedicated load happens. |
cego | 26.12.2017 | 2.38.16 | Added dbcheck/check072.sql. This implements the calculation of fibonacci numbers using stored procedures as a demonstration for massive recursive procedure calls |
cego | 22.12.2017 | 2.38.15 | Version released |
cego | 21.12.2017 | 2.38.15 | Introduced QUEUEDELAY ( in usec ) config parameter to adjust queue delay in database xml file. This allows to throttle down database response time for incoming connection requests and minimize CPU load |
cego | 21.12.2017 | 2.38.15 | Increased NETMNG_QUEUE_DELAY to 1000000 ( 1 ms ) to minimize CPU load |
cego | 20.12.2017 | 2.38.14 | Version released |
lfcbase | 20.12.2017 | 1.11.5 | Version released |
cego | 20.12.2017 | 2.38.14 | Fix in CegoAttrCond::getIndexCond, like and no like comparisons must be filtered out for new btree cursor tracing logic |
lfcbase | 20.12.2017 | 1.11.5 | Stability patch for strptime implementation ( MinGW only ) |
cego | 19.12.2017 | 2.38.14 | Further optimization done in CegoBTreeCursor, introduced methods traceLow and inRange to treat btree comparison in a more efficient way |
cego | 18.12.2017 | 2.38.13 | Fixed memory lead in CegoDistManager destructor ( _pPA was not deleted ) |
cego | 15.12.2017 | 2.38.12 | Since I had some paranoia regarding btree index cursor evaluation, I made some additional tests with bigger tables, multi-dim btrees and sophisticaed queries. All result sets are identical with the results by retrieving the data without btree ( full table scan ). So all looks good with this patch :) |
cego | 14.12.2017 | 2.38.12 | Version released |
cego | 14.12.2017 | 2.38.12 | Optimization in CegoBTreeCursor::getNext. Instead of calling getNext in a recursive way, this is now done in a iterative way. This might avoid heavy stacking in case of special query constraints ( e..g multi dimensional btrees and range conditions like a > 400 and b betweeen 'AAA' and 'DDD' ) |
cego | 12.12.2017 | 2.38.11 | Version released |
cego | 12.12.2017 | 2.38.11 | More rework for btree evaluation in CegoBTreeCursor |
cego | 12.12.2017 | 2.38.11 | Small optimization in CegoAttrCond::checkIndex, removed primary flag, since this is done now by attribute ordering. This leads to full index trace match instead of trace with index support and so, additional unnecessary predicate evaluation is avoided. |
cego | 10.12.2017 | 2.38.10 | Version released |
lfcbase | 10.12.2017 | 1.11.4 | Version released |
cego | 10.12.2017 | 2.38.10 | Changed in CegoAttrCond compSet from SetT to TreeT. This is required, since we need the ordering in the set. |
lfcbase | 10.12.2017 | 1.11.4 | Fixes in TreeT class, changed methods First, Next, isEmpty and compare operators to const |
cego | 10.12.2017 | 2.38.10 | Fix in CegoBTreeCursor, CegoAttrCond and CegoAttrComp, for conflicting cursor conditions ( e.g. a = 4 and a < 1 ), the cursor evaluation failed, since just the primary condition was treated. For CegoBTreeCursor, the method fullMatch has been introduced, to make an final evalution in case of multi conditions. There was also introduced a ordering for CegoAttrComp set in CegoAttrCond to treat more constraint conditions at the beginning ( EQUAL before LESS_THAN before NOT_EQUAL and so on ) |
cego | 09.12.2017 | 2.38.10 | Fix in CegoDistManager, we have to use a dedicated parser for loadView and loadProc methods. Otherwise compilation may fail in case of nested objects ( e.g. a view which references another view object) |
cego | 09.12.2017 | 2.38.9 | Version released |
cego | 08.12.2017 | 2.38.9 | Modification in CegoFunction::evalFieldValue. To allow recursive calls of user defined functions and procedures, dedicated procedure instances are created for each call. This is done by parsing the procedure text via CegoAction |
cego | 07.12.2017 | 2.38.8 | Version released |
cego | 07.12.2017 | 2.38.8 | Version released |
cego | 07.12.2017 | 2.38.8 | Introduction of new functions ascii ( get ascii character for numeric value ) , ldiv and lmod ( div and mod operation for long values ) |
cego | 02.12.2017 | 2.38.7 | Version released |
lfcbase | 02.12.2017 | 1.11.3 | Version released |
lfcbase | 01.12.2017 | 1.11.3 | Improvements made for dedicated strptime implementation ( pretty old stuff, found this several years ago anywhere in the net ) The function did not return null in case of unparsable date values. This code is just used for MinGW compiles since there is no implementation in the Standard C library available. |
cego | 01.12.2017 | 2.38.7 | Fix in CegoXPorter::readTableObject, the defintion for MAXROW BUF still was defined locally and rowLen was noch checked. Optimization in CegoFieldValue::decode, memory was allocated via malloc, rather _staticBuf should be used for performance reasons. _isLocalCopy was not set to true |
cego | 29.11.2017 | 2.38.6 | Version released |
lfcbase | 29.11.2017 | 1.11.2 | Version released |
cego | 29.11.2017 | 2.38.6 | Fix in CegoFunction::getId and CegoSelect::getQueryId : with enabled query cache, the following select is cached
select nextcount(mycount);Since nextcount is a modifying operation, this is not a good idea. To avoid caching, CegoFunction now throws an Exception if nexcount / setcount function calls are detected during getQueryId. For these cases, the query id ignored for caching |
lfcbase | 26.11.2017 | 1.11.2 | More detailed exception messages for BigDecimal and BigInteger |
cego | 25.11.2017 | 2.38.5 | Version released |
cego | 25.11.2017 | 2.38.5 | Fix in CegoBTreeValue::valueFromSchema, introducded method getReservedLength to return fixed value length for type fixed and decimal. Since for decimal and fixed type just the dimension is stored in CegoField::getLength, we must define a reserved area for those types. This is done now with constant definition RESERVED_BTREE_FLOATLEN in CegoDefs.h |
cego | 25.11.2017 | 2.38.4 | Version released |
cego | 23.11.2017 | 2.38.4 | Improved ordersize calculation in CegoOrderSpace:insertTuple. Now the following formula is used :int s = sizeof(fv); if ( fv.getLength() > STATICFIELDBUF ) s += fv.getLength(); orderEntryLen += s;The catches the base memory usage for the instance but also the dynamic allocated part |
cego | 22.11.2017 | 2.38.3 | Performance optimization done in CegoOrderSpace. Instead of storing the CegoField list for the result tuple in CegoOrderNode, just the values are stored there. The order cursor now gets the schema with the constructor and build the CegoField List in the getFirst / getNext methods. This seems a huge amount of heap space, which is dynamically allocated during the sorting procedure ( sortareasize parameter ). Especially for large ordering result sets this saves significantly memory and improves performance. |
cego | 21.11.2017 | 2.38.2 | Version released |
cego | 21.11.2017 | 2.38.2 | Fix in CegoXMLSpace::setTSSortAreaSize, changed type from int to unsigned long long, otherwise overflow may occur for large sort area size configurations |
cego | 19.11.2017 | 2.38.1 | Version released |
cego | 18.11.2017 | 2.38.1 | Fix in CegoPredDesc::decode, loop variable i for IN/NOTIN case was not initialized Fix in CegoAction::execCheckCreate, check contraints are checked for contained subselects. subselects are ( still ) not supported since the CegoCheckOject::decode method can not provide a valid tablemanager instance ( it is called from CegoObjectManager ) |
cegobridge | 16.11.2017 | 1.3.0 | Version released |
cego | 16.11.2017 | 2.38.0 | Version released |
cegobridge | 15.11.2017 | 1.3.0 | Adaptions made for modified cego-2.38.0 API with extended CegoDatabaseFormatter::formatPred method ( exprList was added for new introduced select in ( expr list ) predicate ) |
cego | 15.11.2017 | 2.38.0 | Introduced predicate clause for select .. in ( expr, expr, ... ), e.g. select * from t1 where a in ( 1, 2, 3 ); This was still not implemented but is part of standard SQL |
cego | 15.11.2017 | 2.37.4 | Fix in CegoSelect::clone, pUnionSelect was not cloned, which might lead to seg faults |
cego | 15.11.2017 | 2.37.3 | Version released |
cego | 15.11.2017 | 2.37.3 | Adaption in CegoMain to also parse comment lines in a more sophisticated way ( same as in CegoMain ), just relevant for server batch mode |
cego | 14.11.2017 | 2.37.3 | Optimization in CegoDistCuror::joinSetup, the join predicate is now analysed in a way, that a condition list is created ( via makeCNF and createCondition methods in CegoQueryHelper ). The condition list then is analysed to achieve a better cursor condition which results in improved index usage |
cego | 14.11.2017 | 2.37.2 | Version released |
cego | 13.11.2017 | 2.37.2 | Fix in CegoClient, the new comment logic by using Tokenizer does not work ( '-' characters are detected as comment tokens ). Code replaced by using posStr chain function |
dragon | 10.11.2017 | 1.4.3 | Version released |
dragon | 10.11.2017 | 1.4.3 | Changed generated Java code to abstract class with abstract methods, which have been implemented by the parser action subclass. This seems to be a cleaner modeling |
cegojdbc | 10.11.2017 | 1.7.1 | Version released |
cegojdbc | 10.11.2017 | 1.7.1 | Support added for jdom2 and simple log4j |
cegobridge | 10.11.2017 | 1.2.1 | Version released |
cegobridge | 10.11.2017 | 1.2.1 | New generated configure script with libtool-2.4.6 |
dragon | 10.11.2017 | 1.4.2 | Version released |
dragon | 10.11.2017 | 1.4.2 | New generated configure script with libtool-2.4.6 |
cego | 10.11.2017 | 2.37.1 | Version released |
cego | 10.11.2017 | 2.37.1 | New generated configure script with libtool-2.4.6 |
lfcxml | 10.11.2017 | 1.2.6 | Version released |
lfcxml | 10.11.2017 | 1.2.6 | New generated configure script with libtool-2.4.6 |
lfcbase | 10.11.2017 | 1.11.1 | Version released |
lfcbase | 10.11.2017 | 1.11.1 | New generated configure script with libtool-2.4.6 |
cegojdbc | 08.11.2017 | 1.7.1 | Upgrade of 3rd party jars ( JDOM-2.0.6 and log4j ( switch to slf4j )) |
cegobridge | 07.11.2017 | 1.2.0 | Version released |
cegodbd | 07.11.2017 | 1.4.0 | Version released |
cego | 07.11.2017 | 2.37.0 | Version released |
lfcbase | 07.11.2017 | 1.11.0 | Version released |
cego | 07.11.2017 | 2.37.0 | Added show parameter admin command to show all tableset independent database parameters |
lfcbase | 05.11.2017 | 1.11.0 | Layout improvements in Pager class |
cegobridge | 05.11.2017 | 1.2.0 | Support added for lfcbase-1.11.0 |
cegodbd | 05.11.2017 | 1.4.0 | Adaptions for support of lfcbase-1.11.0 |