Change Log |
---|
In the following, change log entries for the managed software packages are shown
Last 10 30 100 1000 10000 entries
Category | Date | Version | Log |
---|---|---|---|
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 |
cego | 04.11.2017 | 2.37.0 | Support for lfcbase-1.11.x with new Net API. The parameter maxSendLen ist still a constant in CegoDefs.h Improvements added for CegoXMLSpace::setPerm, for existing permissions, just tableset, filter or right can be set up now, e.g set permission p1 with right=WRITE for role1 just sets the right value for permission p1 to value WRITE, all other values are unchanged |
lfcbase | 04.11.2017 | 1.11.0 | Changed constructor for Net and NetHandler class to setup maxSendLen. Since this changes the API, minor release level has been increased |
cego | 04.11.2017 | 2.36.6 | Version released |
cegobridge | 04.11.2017 | 1.1.7 | Version released |
cego | 04.11.2017 | 2.36.6 | Improvements for cgclt, added pipe mode to read input from stdin Now comments are allowed also after delimiter token, e.g. create table t1(a int); -- a sample table |
cegobridge | 03.11.2017 | 1.1.7 | Added index creation statement for MySQL datatype. Treated are primary, unique and non-unique index objects |
cego | 03.11.2017 | 2.36.6 | Error message correction in CegoSelect |
cego | 03.11.2017 | 2.36.5 | Version released |
cego | 03.11.2017 | 2.36.5 | Improvements for cgblow simulation mode added |
cego | 03.11.2017 | 1.10.3 | Version released |
lfcbase | 02.11.2017 | 1.10.3 | Value change of NetHandler::SENDLEN from 1024 to 8192 On FreeBSD based systems, the lower value lead to a poor network performance for large mesages, since subsequent send calls seem to slow down the network throughput. On OSX and Windows/MinGW64 based systems, this effect has not been observed but a sendlen of 8192 seems to be no problem also for these systems |
cegobridge | 01.11.2017 | 1.1.6 | Version released |
cego | 01.11.2017 | 2.36.4 | Version released |
lfcbase | 01.11.2017 | 1.10.2 | Version released |
cego | 01.11.2017 | 2.36.4 | Fix in CegoSelect::nextTuple, before adding an entry to the query cache, it has to be checked, if any tables from foreign tableset are referenced in the query. If so, no cache entry is made, since table changes for foreign tables are not detected. |
cego | 01.11.2017 | 2.36.4 | Improved error messages for invalid database objects |
cego | 01.11.2017 | 2.36.4 | Decreased shutdown delay time by reducing net delays for all thread pools and optimized mediator thread wait procedure |
cego | 01.11.2017 | 2.36.4 | Completely removed the nologging option for import actions. Logging is disabled in any case now |
cego | 01.11.2017 | 2.36.4 | Optimization added for log handling. During ( xml ) import, logging is completely deactivated, after import is completed, log is started again and a checkpoint is written. Since import can be repeated in case of a system during import, nothing gets lost. Deactivating logging increases import speed and avoids side effects |
cego | 31.10.2017 | 2.36.3 | Version released |
cego | 31.10.2017 | 2.36.3 | Changed recovery strategy for existing btree / avl index objects. Before creating an index object, it is checked if exists. If exists, it is dropped and recreated. This seems to be a more stable strategy, since it may occur, that index objects still exist for several reasons. |
cego | 31.10.2017 | 2.36.3 | Fix in CegoTableManager::createBTree : we must create log entry BEFORE creating the index content, since during index build, checkpoints may occur. The checkpoint writes the btree object already to database and if db crashes after checkpoint, the index already exists. This causes then "btree already exists" error during recovery |
cego | 31.10.2017 | 2.36.3 | Added dbcheck/check063 to verify FLA cache handling |
cego | 30.10.2017 | 2.36.2 | Version released |
cego | 30.10.2017 | 2.36.2 | Fix in CegoFactor::setFieldListArray, the _flaCached variable has to be set to false, if _pFLA is set to a different value. Otherwise, we might refer to invalid memory, which results in core dump |
lfcbase | 30.10.2017 | 1.10.1 | Version released |
cegobridge | 30.10.2017 | 1.1.5 | Version released |
lfcbase | 29.10.2017 | 1.10.1 | Added File class constructor to support STDIN read mode |
cego | 03.10.2017 | 2.36.1 | Version released |
cego | 02.10.2017 | 2.36.1 | Added signal handler to CegoAdmAction. Now, ( long ) running tableset export and import requests can be aborted in a controlled way via Ctrl-C command. |
cego | 30.09.2017 | 2.36.1 | Fix in CegoXPorter, export file will be removed, if any exception occurs. So it is ensured, that the written export file is consistent and complete |
cego | 30.09.2017 | 2.36.1 | Small fixes in CegoXPorter for CLOB handling ( was not checked for plain exports ) |
cego | 29.09.2017 | 2.36.0 | Version released |
cego | 29.09.2017 | 2.36.0 | Adding missing export / import messages to CegoXPorter |
cego | 27.09.2017 | 2.36.0 | Changed btree cache enabling syntax. Instead of a dedicated switch command ( set btree cache on / off ), the cache option now is directly given with the create btree command ( e.g. create btree b1 on t1(a) cached ) |
cego | 27.09.2017 | 2.35.12 | Version released |
cego | 27.09.2017 | 2.35.12 | Improvement in CegoBufferPool::calcSegment for segid calculation.
It has been recognized, that with the current calculation ( pageid % numsegment ) not all slots can be reached for special buffer pool configurations. The formula has been changed ( to ( pageid / numpages ) % numsegment ) |
cego | 26.09.2017 | 2.35.12 | Fix in CegoTableManager::createBTree, pC object cursor has to be set to 0, otherwise in case of abortion a seg fault occurs Changed default value for btree cache enabling to false |
cego | 24.09.2017 | 2.35.11 | Version released |
cego | 24.09.2017 | 2.35.11 | Completed pointer cleanup in CegoQueryHelper::evalPredicate, added check061 to check pointer cleanup |
cego | 17.09.2017 | 2.35.10 | Version released |
cego | 17.09.2017 | 2.35.10 | Fix in CegoQueryHelper::evalPredicate, for all predicate types, the field array value has to be reset to 0, otherwise seg fault my occur since invalid references might be used |
cego | 17.09.2017 | 2.35.9 | Version released |
cego | 17.09.2017 | 2.35.9 | Fix in CegoBufferpool::writeCheckpoint, in case of an locking exception ( lockBufferPool ), the pool must be released in any case. For this the CegoLockManager::lockBufferPool and CegoLockManager::unlockBufferPool have been modified in a way, that lockBufferPool saves the current sema index ( _poolRangeLock ) which is later used for the unlocking call. |
cego | 16.09.2017 | 2.35.9 | Timeout parameter for bufferpool lock reduced to 60 seconds. Optimization in CegoBufferPool:bufferfix for minHashId calculation in step 2, there was an unneeded locking operation for the minhashId, which was already locked by the mail loop |
cego | 12.09.2017 | 2.35.9 | Small format fix in CegoProcCreateStmt ( missing indent ) Add header row out put for client raw mode ( attribute names ) |
cego | 09.09.2017 | 2.35.8 | Version released |
cego | 09.09.2017 | 2.35.8 | Bug fix in CegoDistCursor::getTuple, for the LEFTOUTER case and moreRight conditions, the right table cursor was called double time ( native and with nextRight ). The native call has to be removed since this may lead to strange effects actually just observed for mingw compiles |
cego | 09.09.2017 | 2.35.8 | Long type correction in CegoGroupEntry ( just relevant for MINGW compiles ) |
cego | 08.09.2017 | 2.35.7 | Version released |
cego | 08.09.2017 | 2.35.7 | Change in several files from type long to type long long. This seems to be irrelevant on native Linux/OSX/FreeBSD compiles but has impact for mingw compiles, since sizeof(long) != sizeof(long long) |
cego | 06.09.2017 | 2.35.6 | Version released |
cego | 06.09.2017 | 2.35.6 | Fix in CegoPredDesc for INSUB and NOTINSUB constructor + clone method. There was a confusing with the isNegated flag which has been corrected ( also in using class CegoAction ) The wrong negation might lead to wrong query result for views using subselect with in or not in subselects |
cego | 05.09.2017 | 2.35.5 | Version released |
cego | 05.09.2017 | 2.35.5 | Fix in CegoQueryHelper::aggregateTuple, in case of min-Aggregation, wrong results may occur, if null values have to be treated. Since null value handling is now treated inside CegoFieldValue, some code here was obsolete. |
cego | 03.09.2017 | 2.35.4 | Version released |
cego | 02.09.2017 | 2.35.4 | Added tuple information command tupleinfo to indicate tuple state information for a given table ( COMMITTED, INSERTED, DELETED, OBSOLETE ) Fix in CegoTransactionManager::commitTransaction and CegoTransactionManager::rollbackTransaction, in case of a crash recovery the taList does not contain any transaction entries, but the rollback segments have to be checked in any case for entries to process. Otherwise, the transaction will not be completed |
cego | 02.09.2017 | 2.35.3 | Version released |
lfcxml | 02.09.2017 | 1.2.5 | Version released |
lfcxml | 02.09.2017 | 1.2.5 | Small improvement in XMLSuite::nextChar to check for non-ASCII characters |
cego | 02.09.2017 | 2.35.3 | Fix in CegoTableManager::finishOpenTransaction, the transaction id for the corresponding tableset must be set to zero, otherwise in case of crash recovery procedures a transaction id might be active and the open transactions are not completed correctly |
cego | 25.08.2017 | 2.35.2 | Version released |
cego | 25.08.2017 | 2.35.2 | Fix for a bad patch in 2.35.1, In CegoSelect::clone also the pCache variable has to be copied ( we previously done by calling setTabSetId ) |
cego | 24.08.2017 | 2.35.1 | Version released |
cego | 24.08.2017 | 2.35.1 | Fix in CegoSelect::setProcBlock, pBlock was not setup for _pPred This might result in wrong query results within stored procedures with select statements which refer to procedure variables Changed index recovery handling in a way, that index and btree objects are rebuild immediately instead of invalidating them. This leads to a much better recovery performance in case of expensive queries where index use is needed for fast evaluation |
cego | 22.08.2017 | 2.35.0 | Version released |
cego | 22.08.2017 | 2.35.0 | Introduced simple selects, e.g. select 1, select sysdate, etc
for select queries without any object access This might be useful for example for database connection validation queries |
cego | 20.08.2017 | 2.34.3 | Version released |
cego | 20.08.2017 | 2.34.3 | The previous problem regarding query cache is a result of the new introduced select cloning. The extended query id string should solve the problem |
cego | 20.08.2017 | 2.34.3 | Fix in CegoSelect::getId, the values of the parent join buffer have also be added to the query id string, otherwise, nested queries which references attributes to parent join buffer can not be distinguished |
cego | 19.08.2017 | 2.34.2 | Version released |
cego | 19.08.2017 | 2.34.2 | Fix in CegoDistCursor to support multiple view references in a query
( e.g. select a from v1 where exists select * from v1 ... )
In the past, this might lead to infinite loops, since just the view select reference was used. Now the reference is cloned. The usage of clones results in several fixes for the CegoSelect::clone and underlying clone methods |
cego | 17.08.2017 | 2.34.1 | Version released |
cego | 16.08.2017 | 2.34.1 | Fix in CegoDistManager::checkKey ( used for verify tableset admin commend ). Check for foreign key has been redesigned |
cego | 15.08.2017 | 2.34.1 | Fix in CegoBTreeCursor::getFirst, _pAttrCond has to be checked for 0, otherwise a core dump may occur ( detected with verify tableset admin command ) In CegoViewObject::toChain() the view object reference string has to return complete information including the tableset. Otherwise, references to foreign tableset objects with the vie will not work correctly. |
cego | 12.08.2017 | 2.34.0 | Version released |
lfcbase | 12.08.2017 | 1.10.0 | Version released |
cego | 12.08.2017 | 2.34.0 | Introduced new date function newdate with optional numeric input. If used with year and month input, this can double the speed for date construction ( no string parsing required ) |
cego | 11.08.2017 | 2.34.0 | - Use of new introduced lfcbase datetime constructor to create datetime values with numeric input ( year, month, day, hour, minute and second ) for more efficient value handling - Fix in CegoTypeConverter::getTypeLen for LONG_TYPE values, it should be size of(long long) instead of sizeof(long). This impacts MINGW compiles, since sizeof(long) ist just 4 bytes - Changed CegoTypeConverter methods to static |
lfcbase | 11.08.2017 | 1.10.0 | Added Datetime advanced constructor for more efficient datetime construction |
cego | 06.08.2017 | 2.33.23 | Version released |
lfcbase | 06.08.2017 | 1.9.8 | Version released |
cego | 06.08.2017 | 2.33.23 | Small fix in CegoAttrCond::operator = , compare Find result with 0 instead of false. A compile error occured for MINGW compiles |
lfcbase | 06.08.2017 | 1.9.8 | Adoptions made in CommandExecuter and Outstream for MINGW builds |
cego | 04.08.2017 | 2.33.22 | Version released |
cego | 02.08.2017 | 2.33.22 | More fixes in CegoTableManager::keyReferenceExists and CegoTableManager::createForeignKey, there still were missing some adpotions for TableCursor::setup return code and other case handling |
cego | 29.07.2017 | 2.33.21 | Version released |
cego | 29.07.2017 | 2.33.21 | Added further constraint check in CegoTableManager::dropObjectSynced. Primary objects just allowed to be removed, if no foreign key reference exists |
cego | 28.07.2017 | 2.33.21 | More fixes on foreign key contraint handling in CegoTableManager::checkKeyIntegrity and CegoTableManager::insertDataTable methods |
cego | 27.07.2017 | 2.33.21 | Fix in CegoTableManager::checkKeyIntegrity. The implementation of the mehod has been completly reworked, since not all violation cases have been treated. |
cego | 22.07.2017 | 2.33.20 | Version released |
cego | 22.07.2017 | 2.33.20 | Fix in CegoDistCursor to support advanced left and right outer join queries of the form select tx.a as xa, ty.a as ya from t1 tx left outer join t2 ty on tx.a = ty.a + 1;For this, the evaluation of the predicate has to be done in a different way to get complete row set |
cego | 16.07.2017 | 2.33.19 | Version released |
cego | 16.07.2017 | 2.33.19 | Fix in CegoOrderSpace::insertTuple, for the localTuple variable, also a dedicated copy has to be allocated, otherwise it may happen that invalid tuple references ( caused be page relocation ) lead to invalid order results |
cego | 16.07.2017 | 2.33.19 | Added performance optimization to CegoTableManager::updateTuple. The already evaluated index, key and checklist are also provided to checkIntegrity method now ( instead of retrieving the lists again ). The improves performance for updates with many tuples significantly |
cego | 13.07.2017 | 2.33.18 | Version released |
cego | 11.07.2017 | 2.33.18 | Added tablemanager parameter to CegoProcWhileStmt to catch query abort. In case of infinite while loops, this enables the db admin to abort procedure execution Optimization for CegoFunction::SETCOUNT procedure implementation added. Now this is an atomic operation ( ( instead of calling getCounterValue previously ). For this, also the CegoXMLSpace::setCounterValue method has been changed to return the current counter value return the current counter value |
cego | 02.07.2017 | 2.33.17 | Version released |
cego | 29.06.2017 | 2.33.17 | Method cleanup in CegoSelect.cc, also some irrelevant case is treated for grouping clauses in combination with distinct operator |
lfcbase | 27.06.2017 | 1.9.7 | Version released |
lfcbase | 27.06.2017 | 1.9.7 | Removed include socketvar.h in Net.cc and NetHandler.cc since compile error occured for FreeBSD 12 |
cego | 24.06.2017 | 2.33.16 | Version released |
cego | 24.06.2017 | 2.33.16 | Fix in CegoAction::execute, missing break added after calling execListView |
cego | 23.06.2017 | 2.33.16 | Fix in CegoQueryHelper::evalPredicate. In case of subselects, the parent join buf also has to reset after performing the subselect, otherwise invalid pointer references are still active for the next caller Seg faults have been experienced for delete with double nested subselect conditions ( see check055 ) |
cego | 21.06.2017 | 2.33.15 | Version released |
cego | 21.06.2017 | 2.33.15 | Completion for admin help backup section, some commands were still missing Improvements for procedure indent formatting. All sugar, nothing functional |
cego | 03.06.2017 | 2.33.14 | Version released |
cego | 03.06.2017 | 2.33.14 | Fix for distinct handling in CegoAggreation Fix for alias handling regarding view creates. Alias definitions are mandatory now for aggregated attribute definitions, e.g. create view v1 as select count(*) from t1; => returns now ERROR: Missing alias reference for view create and must be written as create view v1 as select count(*) as c from t1; |
cego | 30.05.2017 | 2.33.13 | Version released |
cego | 29.05.2017 | 2.33.13 | Design modification in CegoAction for semantic action ( execXXX methods ) An analysed statement is now just executed after complete succesful parsing of the given input. This avoid protocol effects for queries like "select * from t1;;" where the query is executed but the second semicolon is detected as an parse error which also is sent to the client. For this the new method CegoAction::execute has introduced which is ( explicitly ) called after successful CegoAction::parse |
cego | 27.05.2017 | 2.33.12 | Version released |
cego | 27.05.2017 | 2.33.12 | Fix in CegoAttrComp::reset, case VALUE2VALUE still was not treated, which lead to wron index handling for between clauses with native values |
cego | 25.05.2017 | 2.33.11 | Version released |
cego | 24.05.2017 | 2.33.11 | Fix in CegoQueryHelper::evalAttrCond, comparison modulation was missing for one case whihc leads to wrong query results for comparisons like 3 < a ( constant left ) Optimization added for between clause, indexes were just used for constant values in between clause ( eg. a between 10 and 20 ) This has been expanded, that also indexes are used, if attribute references are contained ( eg. a between t2.x and t3.y ) |
cego | 14.05.2017 | 2.33.10 | Version released |
cego | 12.05.2017 | 2.33.10 | basecheck54 added for the previous described problem |
cego | 12.05.2017 | 2.33.10 | Fix in CegoAttrComp::operator==
The values should NOT be compares, since they are set up by the calling CegoAttrCond::update method
Otherwise, the error "Cannot set up diff for attribute condition" occurs
The following sample produces the error
drop if exists table t1; create table t1 ( a int, b string(30)); drop if exists table t2; create table t2 ( a int, b string(30)); create btree b2 on t2(a); insert into t1 values ( 1, 'XXX'); insert into t1 values ( 2, 'YYY'); insert into t1 values ( 3, 'YYY'); insert into t1 values ( 4, 'YYY'); insert into t2 values ( 1, 'XXX'); insert into t2 values ( 2, 'YYY'); insert into t2 values ( 3, 'XXX'); insert into t2 values ( 4, 'YYY'); drop if exists procedure tproc; @ create procedure tproc ( x in int ) begin delete from t1 where b in ( select b from t2 where a = :x ); end; @ call tproc(2); call tproc(3); |
cego | 10.05.2017 | 2.33.10 | Added space character in CegoSelect::toChain after distinct keyword to avoid the following
ma > create view tview as select distinct hostname, pfcontact from ma_sysview where sysrole = 'production'; View tview created ok ( 0.001 s ) ma > select * from tview; Error : Unknown attribute field |
cego | 09.05.2017 | 2.33.10 | Fix in CegoObjectManager::createBTreeObject to avoid the following
duplicate btree entry
drop if exists table t1; create table t1 ( a int, b string(30)); create btree b1 on t1 ( a ); create unique btree b1 on t1 ( b ); -- this should result in an error drop btree b1; drop btree b1; -- at least both btrees could be droppedFor objectExists method, the value CegoObject::BTREE must be specifiy to detect the duplicates |
cegobridge | 07.05.2017 | 1.1.4 | Version released |
cego | 23.04.2017 | 2.33.9 | Version released |
cego | 23.04.2017 | 2.33.9 | in CegoTableManager::getClobData added termination character to ensure clob values are terminated with 0 character |
cego | 23.04.2017 | 2.33.9 | Small fixes for fixed value handling Small fixes for quote escape handling in cgclt batch mode |
cego | 23.04.2017 | 2.33.9 | In CegoAction::selectionList1 added alias check for non unique alias defintions Stored Procedure formatting improvements regarding indent handling |
cego | 22.04.2017 | 2.33.8 | Version released |
cego | 22.04.2017 | 2.33.8 | Fix in CegoSelect::buildJoinConditions, the _attrPred array has to be set up. Otherwise it may occur, that the predicate is not evaluated, if it could not been evaluated by the table curser condition. Furthermore, a setup method has been introduced for CegoAttrCond to evalute joinBuf and parentJoinBuf ( if both references occur in a condition this is needed ) |
cego | 20.04.2017 | 2.33.7 | Version released |
cego | 20.04.2017 | 2.33.7 | Optimization in CegoCheckpoint::checkpointReached, if interval was reduced, we set up setup the new interval |
cego | 19.04.2017 | 2.33.7 | Fix in CegoTableManager::removeAllComp, first we have to remove from the list, the we can free the memory. On Linux system with g++, the previous sequence might lead to memory faults Fix in CegoRecoveryManager::recoverTableSet, after regDataFiles, als registerObjects method must be called, otherwise recovery could fail in case of table view recoveries Optimization in CegoDistManager::stopDistTableSet, the new introduced method CegoDatabaseManager::removeAllObjects is called, the ensure object cache cleaning |
cego | 16.04.2017 | 2.33.7 | Added prompt command line option to cgadm to set up specific prompt value Adding formating improvements to CegoAdminHandler for show logmng and show backupmng commands |
lfcbase | 14.04.2017 | 1.9.6 | Version released |
lfcbase | 14.04.2017 | 1.9.6 | Small correction in OutStream, include |
cego | 13.04.2017 | 2.33.6 | Version released |
lfcbase | 13.04.2017 | 1.9.5 | Version released |
cego | 10.04.2017 | 2.33.6 | Small improvements for utility scripts cgmkdb, logManager and backupManager |
lfcbase | 10.04.2017 | 1.9.5 | Added method getErrorCode to OutStream class |
lfcbase | 09.04.2017 | 1.9.4 | Version released |
lfcbase | 09.04.2017 | 1.9.4 | Adaptions in OutStream and CommandExecuter classes for MINGW |
lfcbase | 08.04.2017 | 1.9.4 | Cleanup of OutStream implementation ( removed some includes, removed ifdef for MINGW |
cego | 07.04.2017 | 2.33.5 | Version released |
cego | 06.04.2017 | 2.33.5 | Check052 has been introduced to verify the previous described behaviour |
cego | 06.04.2017 | 2.33.5 | Fix in CegoSelect and friends for query cleanup. The cleanUp method did not cleanup all field value references which might lead to invalid memory access in case of repeated view calls ( Variable pParentJoinBuf ). Corresponding cleanUp method have been introduced or CegoExpr, CegoTerm, CegoFactor and friends. |
cego | 02.04.2017 | 2.33.4 | Version released |
cego | 02.04.2017 | 2.33.4 | Fix in CegoTableManager::insertDataTable, the newRBEntry method call for the transactions manager also must be catched by the exception. Otherwise, the index might be corrupted if any exception occur ( e.g. out of temp space ) |
cego | 01.04.2017 | 2.33.3 | Version released |
lfcbase | 01.04.2017 | 1.9.3 | Version released |
lfcbase | 01.04.2017 | 1.9.3 | Small fixes for Monitor and Pager class, adding missing ifdef for curses option in Pager class, replaced CGNOCURSES with LFCNOCURSES |
cego | 30.03.2017 | 2.33.3 | Fix in CegoRecoveryManager::recoverTableSet, before calling transactionRecovery, we have to set flag setIgnoreInvalid to true. During transaction recovery phase, we must ignore invalid btrees/index objects since these objects could be invalidated but Log data integrity and consistency is ensured |
cego | 29.03.2017 | 2.33.2 | Version released |
cego | 29.03.2017 | 2.33.2 | Added implizit tableset btree and index correction to recovery procedure ( CegoRecoveryManager::recoverTableSet ) |
cego | 28.03.2017 | 2.33.2 | Small syntax for cgadm from "backup TS" to "backup tableset TS" ( conform to other tableset commands ) Fix in CegoTableManager::deleteDataTableEntryAtomic / updateDataTableSynced / beginTransaction / commitTransaction / rollbackTransaction to avoid log entries for forced transactions ( introduction of doLog flag ). Fix in CegoTableManager:deleteDataTable to avoid object synchronisation during recovery phase ( introduction is isSynced flag ), since during recovery phase, still no objects are registered and there is no need for synchronization |
cego | 27.03.2017 | 2.33.2 | Added further admin console messages for recovery procedure. This enables the database admin to follow the recovery procedure on admin console level |
cego | 26.03.2017 | 2.33.1 | Version released |
cego | 26.03.2017 | 2.33.1 | Some cosmetic changes for backup manager handlng ( change from archmng to backupmng naming ) |
cego | 24.03.2017 | 2.33.0 | Version released |
lfcbase | 24.03.2017 | 1.9.2 | Version released |
cego | 24.03.2017 | 2.33.0 | Uplift to version 2.33.0 since the backup feature changes the product specification. Integration of new introduced lfcbase OutStream class to catch output from backup manager. This allows to indicate a more detailed output from backup manager on admin console. |
lfcbase | 24.03.2017 | 1.9.2 | Added class OutStream to catch stdout from forked programs via popen |
cego | 19.03.2017 | 2.32.16 | Introduced archive manager, which can be triggered, to perform an online backup. Far now, online backups have to be triggered externally. The achive manager should make backup / restore handling more convenient |
lfcbase | 19.03.2017 | 1.9.2 | Added CommandExecuter::executeStream method to catch stdout for any forked process |
cego | 18.03.2017 | 2.32.15 | Version released |
cego | 18.03.2017 | 2.32.15 | Added database verify006 to check multidimensional btrees also in combination of null value handling. |
cego | 16.03.2017 | 2.32.15 | * Fix in CegoObjectCursor::getNext, double method call for unlockData removed. * Small grammar correction to treat distinct flag for select-star statement * Fix in CegoBTreeCursor::compValue, null values have not been handled correctly. For string values, string termination was not clean, which also might lead to wrong cursor results |
cego | 11.03.2017 | 2.32.14 | Version released |
lfcbase | 11.03.2017 | 1.9.1 | Version released |
cego | 11.03.2017 | 2.32.14 | Added check to CegoXMLSpace::addArchLog to verify, that directory for new archive location really exists |
cego | 11.03.2017 | 2.32.14 | Added archive log management to curses based CegoAdmMon administration console |
lfcbase | 11.03.2017 | 1.9.1 | Small fix for Monitor::showFormBox, in case of menu elements, delete key is disabled |
cego | 08.03.2017 | 2.32.13 | Version released |
cego | 07.03.2017 | 2.32.13 | - Fix in CegoBTreeValue::valueFromSchema added. In case of multidimension btree objects, the insert of new values might fail, if string bases attributes occur at the beginning Here comes a sample : drop if exists table t1; create table t1 ( a string(10), b string(10), c int ); insert into t1 values ( 'HUGO', 'ALPHA', 0 ); insert into t1 values ( 'HUGO', 'BETA', 0 ); insert into t1 values ( 'HUGO', 'GAMMA', 0 ); insert into t1 values ( 'HUGO', 'EPSILON', 0 ); create unique btree b1 on t1 ( a, b); -- this update will fail update t1 set c = 1;- Fix in CegoDistManager::registerObjects, registration of btree objects was still missing. This might lead to wrong results for drop if exists btree statements |
cego | 07.03.2017 | 2.32.12 | Version released |
cego | 06.03.2017 | 2.32.12 | Correstion for distinct clause. With the current grammar implemention, queries with nested selects and using the distinct operator might fail.
Cego.def grammar and CegoAction implementation has been changed in way, that distinct option is just allowed at the beginning ( e.g. select distinct count(a) from t1 and NOT select count(distinct a) from t1 ) This should simplify usage, since by using the distinct clause, distinct tuples are retrieved either for plain queries or for aggregation Confusing sample not allowed anymore : select count(distinct a), count(distinct b) from t1 ... now select distinct count(a), count(b) from t1 ) |
cegobridge | 05.03.2017 | 1.1.3 | Version released |
cego | 05.03.2017 | 2.32.11 | Version released |
cego | 04.03.2017 | 2.32.11 | Online index build up tested and verified. First tests with heavy insert operations ( using cgblow ) during index build went succesful. |
cego | 04.03.2017 | 2.32.11 | Improvements for CegoAdmMon role permission handling, added remove permission option |
cego | 04.03.2017 | 2.32.11 | Preparation of CegoObjectCursor and CegoTableManager to support online index rebuild with write access to the table. For this, concurrent insert operations have to be performed with append =true. The ObjectCursor locks the last page until the index rebuild is finished ( method setLastPageSync ) In this way, the index can be build up in parallel, while further tuples could be appended to the table. ( just supported for btree index objects ) |
cego | 25.02.2017 | 2.32.10 | Version released |
cego | 25.02.2017 | 2.32.10 | Fix in CegoDistManager::stopDistTableSet, removing of btree objects from database object dictionary was still missing In CegoTableManager::dropTableSet now also counter objects are dropped ( stored in the database xml file ). |
cego | 25.02.2017 | 2.32.10 | Added some sizing optimizations for CegoAdmMon forms |
cego | 25.02.2017 | 2.32.10 | Fix in CegoRecoveryManager::recoverCurrentTransactionLog, added the force option to addCounter method, since counters already could be synched to xml ( not completely transaction save ) |
cego | 18.02.2017 | 2.32.9 | Version released |
lfcbase | 18.02.2017 | 1.9.0 | Version released |
cego | 15.02.2017 | 1.9.0 | Added class Pager for curses based pager implementation |
cego | 15.02.2017 | 2.32.9 | Fix in CegoTableManager::getPoolInfo, readdelay and writedelay was not calculated correctly |
lfcbase | 05.02.2017 | 1.9.0 | Added Monitor class for ncurses based GUI utility implementation. This class provides GUI layout and event handling to simply ncurses based GUI tool implementaton. |
cego | 04.02.2017 | 2.32.9 | Added CegoFieldValue::getDim method required for arithmetic operations on fixed values |
cegobridge | 31.01.2017 | 1.1.3 | Fix in MySQLAction::backChar to avoid clang40 compile error |
cego | 31.01.2017 | 2.32.9 | Include stdlib.h added in CegoNet ( still missing forLinux compiles ) |
cego | 29.01.2017 | 2.32.8 | Version released |
lfcbase | 28.01.2017 | 1.8.12 | Version released |
lfcbase | 28.01.2017 | 1.8.12 | Changed methods for class Sleeper to static. Added Sleeper class test to test suite |
cego | 28.01.2017 | 2.32.8 | Small improvements for CegoAdmMon curses based admin console |
lfcbase | 26.01.2017 | 1.8.12 | Added include file limits.h in Chain.cc. For Linux compiles, this include is required ( definition of INT_MAX and INT_MIN ) |
cego | 21.01.2017 | 2.32.7 | Version released |
cego | 21.01.2017 | 2.32.7 | Fix in CegoFileHandler::releaseFiles. _tabSetId and _isReg vars have to be set to zero/false in any case. Otherwise, it might happen that old entries are still visible and in case of a tableset recreation obsolete file handle information is provided |
cego | 18.01.2017 | 2.32.7 | Method CegoTransactionManager::hasOpenTransaction added to check for open transaction for a spedific table. This method is called now before a table can be dropped to ensure there are no open transaction for this table. |
cego | 04.01.2017 | 2.32.6 | Version released |
cego | 02.01.2017 | 2.32.6 | Small performance improvement in CegoBufferPool::bufferFix Instead of copying the buffer head data to a local variable via memcpy, a pointer variable is used to access the data directly Performance improvement just a few percent ... |
cego | 01.01.2017 | 2.32.5 | Version released |
cego | 01.01.2017 | 2.32.5 | Added another performance patch to CegoBTreeCursor. The method compValue has been redesigned in a way, that comparison is prepared at cursor creation time and so could be executed in a optimized and faster way This speeds up queries with joined tables, where the joined table is traced many times ( e.g. select count(*) from t1, t2 where t1.a = t2.a ) |
cego | 30.12.2016 | 2.32.4 | Version released |
cego | 30.12.2016 | 2.32.4 | Fixes and improvements for table export added In CegoXPorter::xmlExportable, the pOutStream pointer was deleted, which lead to a core dump ( pointer is already deleted by Element ) Row counter handling and messages have been improved |
cego | 30.12.2016 | 2.32.4 | Fixes for CegoBTreeCursor added |
cego | 29.12.2016 | 2.32.4 | Change back to memove call in CEgoBTreeNode:shiftEntries.
Copying manually and bytewise decreased performance about two times for building up btree objects. This has been observed on native POSIX ( FreeBSD 11 ) but also on MSYS64 compiles Thanks for Deutsche Bahn to provide ( free ) internet on train, so I was able to spent this time on the analysis :) |
cego | 28.12.2016 | 2.32.4 | Improvements for CegoBTreeCursor. With the new introduced methods CegoBTreeNode::getMedPage and CegoBTreeNode::rightValue, the search for the appropriate subnode can be made with logarithmic efforts instead of linear search.
To validate this improvement, the following query has been setup for a random filled table t1 select * from t1 ta where exists ( select * from t1 tb where tb.b = ta.b ); Execution time with the improved btree cursor was two times faster than with old implementation. |
cego | 26.12.2016 | 2.32.4 | More performance improvements made for btree creation - changed linear search efforts in CegoBTreeNode::getChildPage to logarithmic search efforts ( introduced lb /rb variable ) - Change in CegoBTreeManager::allocPage. Since for cache based creation, just a pageId must be allocated, the low level method CegoFileHandler::allocatePage is used.This avoids an unnessary bufferFix call for the new page - Introduced appendFid variable for CegoFileHandler class. In case of many managed datafiles, the last file with avaiable pages is used for the allocatePage method. - Performance comparison to MariaDB indicates now a better scaling from 2 million rows and up ( by using cego btree cache ) |
cego | 25.12.2016 | 2.32.4 | Improvement modifications for btree implementation increased build up speed for just about 3 percent. It seems, the most time is used by calling shiftEntries method, where memory is moved via memmove. I observed, that 8k page size ( instead of 16k ) brought up some performance improvement for btree creation of about 100% ( for type string(60) with random values ) |
cego | 25.12.2016 | 2.32.4 | More performance improvements in CegoBTreeManager and CegoBTreeNode, overall impact still has to be analysed Fix in CegoTableManager added for alter table modify column, columns with existing btree or key objects can not be modified anymore |
cego | 24.12.2016 | 2.32.4 | Further improvement approach in CegoBTreeManager to increase btree creation performance. BufferPage handles have been changed from native variables to pointer handles. This should reduce page access efforts in case of enabled btree cache |
cego | 24.12.2016 | 2.32.3 | Version released |
cego | 23.12.2016 | 2.32.3 | Fix in CegoAction::insertStore and CegoAction::insertValueSpecStore; for value array inserts via network, the ack for the protocol was no satisfied ( e.g. insert into t1 values ( 1, 'XXX'),(2,'YYY'),...) which leads to a hanging database client. Since class CegoQuey was already prepared for bulk inserts, this was a simple fix, just calling execQuery via insertStore parser method just one time. |
cego | 23.12.2016 | 2.32.3 | Code cleanup in CegoBTReeManager and CegoBTreeNode, use of static method CegoDataPointer::getEncodingLength, ( define of DPENCODINGLENGTH ) |
cego | 23.12.2016 | 2.32.3 | Fix in CegoFileHandler::CleanDataFile,pageId was not calculated correctly ( missing offset ) |
cego | 21.12.2016 | 2.32.2 | Version released |
cego | 21.12.2016 | 2.32.2 | Fix in CegoTranactionManager, replaced LONG_TYPE with PAGEID_TYPE, since this is the correct type for page entries. This was detected on MinGW64 compiles (seg fault occured), since the type size differs on this platform. |
cego | 18.12.2016 | 2.32.1 | Version released |
cego | 17.12.2016 | 2.32.1 | Fixes for CegoBTreeManager::deleteBTree ( changed int type to PageIdType for page vars ) and CegoBTreeManager::insertBTree ( propValue was not setup correctly for root node propagation in some cases, which might lead to corrupt btree structure ) |
lfcbase | 15.12.2016 | 1.8.11 | Version released |
lfcbase | 14.12.2016 | 1.8.11 | Added range check to Chain::toInteger method to catch overflow exception |
cego | 13.12.2016 | 2.32.0 | Please note : Upgrade to this version requires tableset export / import ( XML mode recommended ) |
cegojdbc | 13.12.2016 | 1.7.0 | Version released |
cego | 13.12.2016 | 2.32.0 | Version released |
cego | 13.12.2016 | 2.32.0 | Functional tests with SysMT successful completed |
cegojdbc | 13.12.2016 | 1.7.0 | Adaptions for cego 2.32.0 ( clob and blob reference handling ) |
cego | 12.12.2016 | 2.32.0 | All base checks passed, but there is still a page allocation leak for table drops |
cego | 12.12.2016 | 2.32.0 | First performance analysis indicates a speedup of about 10% for btree creation, so significant speedup for full table scans. |
cego | 11.12.2016 | 2.32.0 | This version brings a complete redesign of low level page handling. Instead of page references identified by fileId and pageid, a database unique pageid is used now This results in a complete reimplemtation of several low level classes like CegoFileHandler, CegoBufferPool, Blob handling, etc. Since pages are references by a single ( 64 bit ) id now, I expect an increased performance behaviour over all database operations. Most code modifications are done, code complies and basic functionally works ( create tableset, create table, insert table ) |
cego | 04.12.2016 | 2.31.7 | Version released |
cego | 04.12.2016 | 2.31.7 | Fix in CegoFieldValue for fixed value handling. In case of fixed value aggregations, the specified fixed dimension should be kept. This has been done be analysing the value dimension in the CegoFieldValue:add/sub/mu/div methods. In CegoQueryHelper::prepareFieldValue, fixed values are checked now for right dimension |
cego | 26.11.2016 | 2.31.6 | Version released |
cego | 26.11.2016 | 2.31.6 | Fix in CegoSelect::getQueyId added, for the ordering clause asc and desc ordering attributes were missing. This might lead to wrong ordering results if query caching is used |
cego | 21.11.2016 | 2.31.5 | Version released |
cego | 20.11.2016 | 2.31.5 | Changed CegoQueryHelper methods to static |
cego | 20.11.2016 | 2.31.5 | Fix for CegoBTreeManager and friends regarding small string values ( string(1) ) Please note, that this fix invalidates btree format. Btrees have to be recreated after this fix ! Type len check added in CegoAction for string, bigint, decimal and fixed types ( type len must be greater than 0 ) |
cego | 19.11.2016 | 2.31.4 | Version released |
cego | 19.11.2016 | 2.31.4 | Fix some leaks in CegoXPorter regarding file handles and memory allocation ( improved exception handling ) |
cego | 13.11.2016 | 2.31.3 | Version released |
cego | 13.11.2016 | 2.31.3 | Fixed a file handle leak for datafiles and logfiles ( CegoFileHandler, CegoTableManager and CegoLogManager ) After tableset creation ( or start and stop ), file handles have not cleaned up properly. This lead to file remove problems in case of a tableset drop. This effect was detected by building and testing the MinGW64 port |
cego | 13.11.2016 | 2.31.2 | Version released |
cego | 13.11.2016 | 2.31.2 | Fix in CegoClient for escape character handling in batch mode |
cego | 13.11.2016 | 2.31.2 | Fix in CegoClient for dumpfile generation. Default values handling corrected |
cego | 13.11.2016 | 2.31.2 | Join optimizer fix in CegoSelect, CegoAttrCond and CegoBtreeCursor. join attributes are checkd now in a more sophisticed way, which leads to improved execution performace for advanced joins |
cego | 06.11.2016 | 2.31.1 | Version released |
cego | 06.11.2016 | 2.31.1 | Fix in CegoBTreeManager::insertBTree, in case of a duplicate exception, a bufferpool leak occured ( buffer is not unfixed ). |
cego | 18.09.2016 | 2.31.0 | Please note : null comparison has been changed with versio 2.31.0 . All index objects containing null values must be reorganized. I recommend export and import for the complete tableset |
cego | 08.09.2016 | 2.31.0 | Version released |
cego | 07.09.2016 | 2.31.0 | Added database flag DUPLICATENULL to allow duplicate null values for unique btree objects |
cego | 19.08.2016 | 2.30.26 | Version released |
cego | 18.08.2016 | 2.30.26 | Fix in CegoFunction::evalFieldValue, for functions date2str, date2int, int2date, type casting to appropriate type has been added. Without the cast, the functions might return wrong results |
cego | 14.08.2016 | 2.30.25 | Version released |
cego | 14.08.2016 | 2.30.25 | Adaptions for CegoBlowTab to use CegoNet API |
cego | 13.08.2016 | 2.30.25 | Completion for blob methods in CegoNet |
cego | 13.08.2016 | 2.30.25 | Improved flow control in CegoClient ( based on ncurses ) |
cego | 12.08.2016 | 2.30.25 | Optimization in CegoClient, just high level CegoNet API methods are used now for client implementation. Missing methods have been added to CegoNet API |
cegojdbc | 11.08.2016 | 1.6.1 | Version released |
cegojdbc | 11.08.2016 | 1.6.1 | Added datetime format parameter evaluation to CegoNet ( _dtFormat ) |
cego | 11.08.2016 | 2.30.24 | Version released |
cego | 11.08.2016 | 2.30.24 | Fix in CegoNet::connect, the global vars __dateTimeFormat, __currencySymbol and __decimalPoint are set up now to appropriate values |
cego | 26.07.2016 | 2.30.23 | Version released |
cego | 26.07.2016 | 2.30.23 | Added verify005.sql to dbcheck suite to verify cast operations |
cego | 26.07.2016 | 2.30.23 | Fix in CegoClient, global vars __currencySymbol and __decimalPoint still have not been set up correctly, doen in the same way as for CegoMain on server side |
cego | 25.07.2016 | 2.30.22 | Version released |
lfcbase | 25.07.2016 | 1.8.10 | Version released |
cego | 25.07.2016 | 2.30.22 | Fixes for cast operations regarding values for type fixed |
lfcbase | 25.07.2016 | 1.8.10 | Improvements for BigDecimal class All values are normalized now and stored now with non trailing zeros |
cego | 22.07.2016 | 2.30.21 | Version released |
cego | 22.07.2016 | 2.30.21 | Fix in CegoProcedure::execute and CegoProcedure::getRetVal In the castTo method, the type dimension was still not treated. This might lead to wrong cast results especially for fixed values |
cego | 22.07.2016 | 2.30.21 | Fixed cgadm online help for import command, the nologging option was not documented |
cego | 20.07.2016 | 2.30.21 | In CegoRecoveryManager, added tableset argument line argument for calling the external log manager. This makes it more easy in the log manager code, to implement tableset dependent restore strategies |
cego | 20.07.2016 | 2.30.20 | Version released |
cego | 20.07.2016 | 2.30.20 | A patch was needed in CegoBlowTab for MinGW compile. Since the functions srandom and random are ( still ) not provided, a define has added to map to srand and rand |
cego | 17.07.2016 | 2.30.19 | Version released |
lfcbase | 17.07.2016 | 1.8.9 | Version released |
cego | 17.07.2016 | 2.30.19 | The previous patch in lfcbase required a patch for CegoLogThreadPool::copyLog. Since the archfile file was not closed after trunc, the rename operation failed now. close method call was added |
lfcbase | 17.07.2016 | 1.8.9 | Patch file File class, operator= and operator+= did not close the file descriptor after copying / appending.
This may cause a problem for subsequent method calls on the instance.
( e.g. renaming or removing ) This effect actually has just been observed for MinGW64 compiles |
cego | 17.07.2016 | 2.30.18 | Version released |
lfcbase | 17.07.2016 | 1.8.8 | Version released |
cego | 16.07.2016 | 2.30.18 | Catched server termination in CegoTableManager::writeCheckpoint. If log files could not be archived, the method does not recognized server termination ( runstate = OFFLINE ) |
cego | 16.07.2016 | 2.30.18 | Improvement added dor log file shipping in CegoLogThreadPool::copyLog. The archive log file is first writte to a temporary file and if finished, is moved than to its original file name. For the tape management, this is an indication, that the file is completely written and is ready for further processing |
lfcbase | 16.07.2016 | 1.8.8 | Added File::rename method to be able to move files via file class |
lfcbase | 15.07.2016 | 1.8.7 | Version released |
lfcbase | 15.07.2016 | 1.8.7 | Added errno.h include to Chain module |
cego | 14.07.2016 | 2.30.17 | Version released |
lfcbase | 14.07.2016 | 1.8.6 | Version released |
lfcbase | 13.07.2016 | 1.8.6 | Some exception improvements in Chain class |
lfcbase | 13.07.2016 | 1.8.6 | A space character was missing in exception message for date format lists |
cego | 13.07.2016 | 2.30.17 | Fixed for point-in-time recovery, Date format handling was not done correectly |
cego | 13.07.2016 | 2.30.16 | Version released |
cego | 13.07.2016 | 2.30.16 | Elimination of BUFFERPOOLHASHKEY. The bufferpool position is now calculated based on the page offset of the corresponding datafile ( this information is provided by CegoFileHandler::getRegPageOffset ) This leads to a much better distribution and usage of the available buffer pool pages |
cego | 12.07.2016 | 2.30.16 | Fix in CegoTableManager::createBTree, the creation of the btree object must be done in a dedicated exception block, otherwise the btree object is dropped, if it already exists. |
cego | 10.07.2016 | 2.30.15 | Version released |
lfcbase | 10.07.2016 | 1.8.5 | Version released |
cego | 10.07.2016 | 2.30.15 | Reactivation of rollback segment record locks in CegoLockHandler class. In CegoObjectManager::insertData, in case of rollback segements insert operations, the RB record lock is used instead of the system record lock. This might avoid some deadlock situations. |
lfcbase | 09.07.2016 | 1.8.5 | Added statlock mutex in ThreadLock class for protecting staistic counters. It seems, increment and decrement operators on atomic values are no more thread safe ( Once it was, but I guess this is a compiler issue ) Since the lock statistics can be disabled for production mode, there is not performance impact caused by the additional mutex calls |
cego | 09.07.2016 | 2.30.15 | Added update sync mode. With this mode, the user can decide, if an update or delete should be blocked until another concurrent transaction is finished or return immediatly without updating concurrent affected tuples |
cego | 09.07.2016 | 2.30.15 | Made __dateFormatList in CegoMain threadsafe For the point-in-time recovery timestamp format, now the server defined format is used ( variable CGPITFORMAT is obsolete ) |
cego | 07.07.2016 | 2.30.14 | Version released |
cego | 07.07.2016 | 2.30.14 | Fix in CegoBufferPool::poolINfo, the spread rate calculation was not done correctly |
lfcbase | 03.07.2016 | 1.8.4 | Version released |
cego | 03.07.2016 | 2.30.13 | Version released |
cego | 03.07.2016 | 2.30.13 | Cast handling in CegoFieldValue::castTo completed. This allows an any to any value casting, except lob values and some unsupported datetime casts ( e.g. bool to datetime really makes no sense ) |
lfcbase | 30.06.2016 | 1.8.4 | Improved exception handling in class Chain for type conversion methods |
cego | 30.06.2016 | 2.30.13 | Added more cast cases to CegoField::castTo, still not completed |
cego | 29.06.2016 | 2.30.13 | Improvement for hash calculation in CegoBufferPool::calcSegement. For a better page spreading, the segment calculation was changed to a more linear approach |
cego | 27.06.2016 | 2.30.13 | Added alter table modify command just for default values. Usage : alter table t1 modify column a default 42; |
cego | 27.06.2016 | 2.30.12 | Version released |
cego | 26.06.2016 | 2.30.12 | Added cast improvements to CegoFieldValue::castTo method, which are also checked now with check050 |
cego | 26.06.2016 | 2.30.12 | Evaluation of locale to find out decimal point character.
E.g. for english locales this is ., for german this is ,.
The character is used for float value handling in CegoFieldValue methods.
For default value handling in alter table statements, the cast methods are also called now. check050 has been added to verify this feature. |
cego | 22.06.2016 | 2.30.11 | Version released |
cego | 22.06.2016 | 2.30.11 | Fix in CegoRecoveryManager::recoverTableSet, the lsn was incremented which lead to leaks in the transaction log. This could result in an incomplete recovery procedure |
cego | 21.06.2016 | 2.30.11 | Improvements for tableset recovery, external log manage fiel is checked in CegoAdminThread::medRecover before restore procedure is started. |
cego | 19.06.2016 | 2.30.10 | Version released |
cego | 18.06.2016 | 2.30.10 | Fix in CegoLogManager::logAction, if online redo log is full, the current log entry has to be written anyway, otherwise a checkpoint is written and subsequent logAction call in CegoTableManager::logIt might lead to duplicate entries in case of a crash recovery |
cego | 18.06.2016 | 2.30.9 | Version released |
cego | 17.06.2016 | 2.30.9 | Fixes for query and table cache added ( addEntry method was still not clean ) |
cego | 17.06.2016 | 2.30.9 | Added tableset runstate CHECKPOINT to be set during a tableset checkpoint is performed. Since this is a critical section in terms of data consistency, no system crash should occur while writing a checkpoint. If so, the tableset now is marked with status CHECKPOINT and cannot be used anymore ( tableset recovery from backup required ) |
cego | 17.06.2016 | 2.30.9 | Added tableset runstate CHECKPOINT to be set during a tableset checkpoint is performed. Since this is a critical section in terms of data consistency, no system crash should occur while writing a checkpoint. If so, the tableset now is marked with status CHECKPOINT and cannot be used anymore ( tableset recovery from backup required ) |
cego | 16.06.2016 | 2.30.9 | Patch in CegoDistManager::startTableSet, before starting redo log file recovery, the tableset state has to be set to RECOVERY Otherwise, occupied redo logs are not archived by the log manager. This problem might occur in case of a crash recovery with archive mode set to ON |
cego | 16.06.2016 | 2.30.9 | Patch in CegoQueryCache and CegoTableCache ( for each method addEntry ) The usedSize calculation was not done correctly for replaces entries |
cego | 16.06.2016 | 2.30.8 | Version released |
cego | 15.06.2016 | 2.30.8 | Added table and cache used size information to show tableset admin command This indicates the amount of memory, which is already allocated for cached data |
cego | 14.06.2016 | 2.30.8 | Added synrchonization for query and table cache handling. The lack of synchronization migth lead to core dumps, if a cache entry is freed but also be used by a query So before cache cleanup, it has to be checked, if the corresponding cache entry is still in use If so, it has to be wait, until the cache is clean. For both caches ( query and table), the similar logic is used |
cego | 12.06.2016 | 2.30.8 | Added improvement for query cache handling If a stored function, which are used in the cached query, was modified, the cache entry will be invalidated For this, the CegoSelect::getTableList method was changed to CegoSelect::getObjectList and also the used functions are evaluated and added to this list. |
sysmt | 12.06.2016 | 5.5.9 | Adapted sysmtexp and sysmtimp X-port utilities for current schema definition |
cego | 12.06.2016 | 2.30.8 | Cache cleanup in CegoQuery class is performed now AFTER the modifying action.Otherwise, it may appear, that a cache entry is made after cache cleanup but also before the modifying action. This may lead to wrong results retrieved from obsolete query cache |
cego | 11.06.2016 | 2.30.7 | Introduced cego web specials to discuss specific database issues |
cego | 11.06.2016 | 2.30.7 | Version released |
cego | 11.06.2016 | 2.30.7 | Fixed memory leak in CegoSelect::nextTuple. Since the querycache is allocated by the CegoQueryCache instance, the pCacheList variable has to be freed after calling the addEntry method. Actually, the logic is not very smart, since the cache element is build up two times .... |
cego | 04.06.2016 | 2.30.6 | Version released |
cego | 03.06.2016 | 2.30.6 | The following query may cause a core dump
create table t1(a string(100)); insert into t1 values ( 'Hugo Habicht'); insert into t1 values ( 'Kim Kaiser'); select substr(a, 1, getpos(a, ' ')) from t1;For return value length evaluation, the method CegoFieldValue::asInteger is called on a null value which causes the dump. A fix has been added, so the method returns a value of 0 in case of null values. |
cego | 16.05.2016 | 2.30.5 | Version released |
cego | 15.05.2016 | 2.30.5 | Code optimizations tested. The performance improvements on subselects are achieved as expected. Strike ! |
cego | 15.05.2016 | 2.30.5 | Code optimization for join buffer handling. Now a double pointer list is used to just keep references on CegoField lists. This should avoid expensive memory copies in case of creating parent join buffers for sub selects. This modification had impact on many parts in the code and first must be tested intensive |
cego | 14.05.2016 | 2.30.4 | Version released |
lfcxml | 14.05.2016 | 1.2.4 | Version released |
lfcbase | 14.05.2016 | 1.8.3 | Version released |
cego | 12.05.2016 | 2.30.4 | More work on code format cleanup |
lfcbase | 12.05.2016 | 1.8.3 | More work on code format cleanup |
lfcxml | 12.05.2016 | 1.2.4 | More work on code format cleanup |
lfcbase | 10.05.2016 | 1.8.3 | More work on code format cleanup, 29 files to go ... |
lfcbase | 07.05.2016 | 1.8.3 | update of config.guess to timestamp='2016-04-02' |
lfcxml | 07.05.2016 | 1.2.4 | Code format cleanup, update of config.guess to timestamp='2016-04-02' |
lfcbase | 07.05.2016 | 1.8.3 | Code format cleanup, updated config.guess to timestamp='2013-06-10' |
cego | 07.05.2016 | 2.30.4 | Updated config.guess to timestamp='2016-04-02' |
cego | 07.05.2016 | 2.30.4 | More work on code format cleanup. Still 80 modules ahead ... |
cego | 05.05.2016 | 2.30.4 | Fix in CegoAdmMon, CGNOMONITOR definition was fixed defined ( should be defined via configure ) |
cego | 05.05.2016 | 2.30.4 | More work on code format cleanup |
cego | 01.05.2016 | 2.30.4 | Code format cleanup fixes, elimination of obsolete commented code, no logical changes |
cego | 09.04.2016 | 2.30.3 | Version released |
lfcbase | 09.04.2016 | 1.8.2 | Version released |
cego | 07.04.2016 | 2.30.3 | Fix in CegoBufferPool::bufferFix. Small leak, since last page for each pool segment never could be used ( hashId calculation ) |
cego | 06.04.2016 | 2.30.3 | Cosmetic syntax change for set permission and remove permission admin command |
cego | 06.04.2016 | 2.30.3 | Small information fix for query cache information in show tableset admin command |
lfcbase | 06.04.2016 | 1.8.2 | Error message fix for Datetime constructor ( format strings are enclosed in brackets ) |
cego | 03.04.2016 | 2.30.2 | Version released |
cego | 03.04.2016 | 2.30.2 | Changed default protocol from xml to serial. Date format handling completely implemented |
cego | 03.04.2016 | 2.30.2 | Fixes for date format handling. The format string whihc is specified for the server is also used now for client formatting. This results in some network protocol fixes for serial but also xml network protocol. |
cego | 02.04.2016 | 2.30.1 | Version released |
lfcbase | 02.04.2016 | 1.8.1 | Version released |
cego | 31.03.2016 | 2.30.0 | Version released |
cego | 30.03.2016 | 2.30.0 | - Fix in CegoDistCursor for quey plan calculation ( join objects ) - Fix in CegoAdminThreadPool and CegoLogThreadPool for thread load calculation - Major change for tablecache and querycache management, for both dedicated tableset entries are managed. Cache enabling, cache size and num entries can be controlled now on tableset level. |
cego | 20.03.2016 | 2.29.4 | Version released |
cego | 13.03.2016 | 2.29.4 | Fix in CegoAction and CegoDbHandler to handle query abort requests correctly ( initiated by cgadm via abort db thread command ) |
cego | 06.03.2016 | 2.29.3 | Version released |
lfcbase | 06.03.2016 | 1.8.0 | Version released |
cego | 06.03.2016 | 2.29.3 | Fixes for table and query cache handling |
cego | 04.03.2016 | 2.29.3 | Fix in CegoDistManager::dropDistObject, table and query cache have been checked for cleanup, if a table is dropped |
cego | 01.03.2016 | 2.29.3 | Fix in CegoQuery.cc, added table and query cache cleanup for alter and rename queries |
lfcbase | 25.02.2016 | 1.8.0 | Fix in Chain for truncleft, truncRight and cutTrailing. In case of single character strings, the methods might return wrong results. |
cego | 25.02.2016 | 2.29.3 | Fix in CegoClient to parse multi line statements correctly.
Further multi line merge token ( \ ) has been added to merge long string or clob values. Now the following statements are possible insert into t1 values ( 1, 'this is\ a multi line \ message \ with four lines'); |
lfcbase | 21.02.2016 | 1.8.0 | Started with implementation of TextIndex class ( utility class for full text index creation ) |
cego | 15.02.2016 | 2.29.2 | Added include of string.h in CegoAction.c ( compile error occured on Suse Linux ) |
cegojdbc | 05.02.2016 | 1.6.0 | Version released ( clob ready, but still unimplemented clob methods) |
cego | 05.02.2016 | 2.29.1 | Version released |
lfcbase | 05.02.2016 | 1.7.2 | Version released |
cego | 05.02.2016 | 2.29.1 | Modification in cgclt for raw mode, Now just plain data is listed, with the command line option --raw=X, a separator token can be setup as a column separator |
lfcbase | 02.02.2016 | 1.7.2 | Memory leak fixed in File::readLine |
cego | 02.02.2016 | 2.29.1 | Very long strings are handled now in CegoAction and CegoClient to also parse large clob values |
cego | 02.02.2016 | 2.29.0 | Version released |
cego | 01.02.2016 | 2.29.0 | More work on lob handling. A fix was done for update operations on lob values in CegoTableManager::updateTuple method. Before updating the tuple, all lob references must be cloned, otherwise in case of untouched lobs, references are invalid. This approach is brute force, better would be, to stay on the untouched lob references. But in terms of transaction and recovery handling, this is not trivial |
cego | 31.01.2016 | 2.29.0 | Required network protocol expansions done for clob handling ( putclob, getclob, delclob ) |
cego | 30.01.2016 | 2.29.0 | Basic clob handling works |
cego | 30.01.2016 | 2.29.0 | Started with clob datatype implementation |
cego | 30.01.2016 | 2.29.0 | Fix in CegoSelect constructor, _cacheEnabled var was not initialized in the decoding constructor, which might lead to core dumps in case of recovery of complex with enabled querycache Fix in CegoAdminThread constructor, disableAuth method for TableManger called, otherwise tableset recovery might fail with auth error |
lfcbase | 17.01.2016 | 1.7.1 | Version released |
lfcbase | 17.01.2016 | 1.7.1 | Fix in Datetime.cc, added include config.h, otherwiese the local implementation of strptime ist used. This should just be done, if the system API does not provide this call ( e.g. MINGW ) . |
cegobridge | 12.01.2016 | 1.1.2 | Version released ( version sync ) |
cegobridge | 12.01.2016 | 1.1.1 | Version released ( with improvements for make environment ) |
lfcxml | 12.01.2016 | 1.2.3 | Version released ( just a small patch in xmltest/Makefile.am ) |
cegobridge | 11.01.2016 | 1.1.1 | Patch in MySQLFormatter.cc to adapt enumeration change in CegoObject::ObjectType Adaptions in configure.ac |
cego | 03.01.2016 | 2.28.3 | Version released ( also with fix in configure.ac as same as for lfcxml and dragon ) |
dragon | 03.01.2016 | 1.4.1 | Patch in configure.ac just relevant for FreeBSD compiles, since for configure /bin/sh is used, which cannot handle LDFLAGS+= " $LFC_LIBS" assignment. Instead LDFLAGS="$LDFLAGS $LFC_LIBS" is used now Version released |
lfcxml | 03.01.2016 | 1.2.2 | Patch in configure.ac just relevant for FreeBSD compiles, since for configure /bin/sh is used, which cannot handle LDFLAGS+= " $LFC_LIBS" assignment. Instead LDFLAGS="$LDFLAGS $LFC_LIBS" is used now Version released |
cego | 03.01.2016 | 2.28.3 | Since it is not enough jut checking the tuple header info for update deletes, a record locking has to be added to avoid duplicates.
In this sense, record locking for setTupleInfo method call ( used in CegoTableManager and CegoTransactionManager ) was added. For this, the lockRecord and unlockRecord method have been reactivated in CegoLockManager class. This lock avoids, that in case of concurrent tuple updates duplicate tuples are produced by an update. |
dragon | 02.01.2016 | 1.4.0 | Version released ( adaptions for mingw build ) |
cego | 02.01.2016 | 2.28.2 | Version released |
cego | 02.01.2016 | 2.28.2 | Fix in CegoTableManager::deleteDataTable ( renamed to deleteDataTableEntry ) Since we allow now parallel updates, the method must check if the target tuple has already been touched by another transaction. Otherwise, invalid double entries could occur in case of concurrent updates on the same tuple. If a concurrent transaction is detected, the method returns false. This return value is used by the updateTuple method to decide, if the subsequent insert operation must be performed. |
cego | 02.01.2016 | 2.28.2 | Several changes from type int to type unsigned long long |
cego | 31.12.2015 | 2.28.1 | Version released |
lfcxml | 31.12.2015 | 1.2.1 | Version released |
cego | 31.12.2015 | 2.28.1 | Fix in configure.ac to set up library path for lfcbase and lfcxml in a right way |
lfcxml | 31.12.2015 | 1.2.1 | Fix in configure.ac to the up path for lfc base library in a right way |
cego | 30.12.2015 | 2.28.0 | Version released |
lfcxml | 30.12.2015 | 1.2.0 | Version released |
lfcbase | 30.12.2015 | 1.7.0 | Version released |
cego | 28.12.2015 | 2.28.0 | Change index objectype to btree, avl index objects must be created now explicit using the new introduced avltree object type |
cego | 28.12.2015 | 2.28.0 | Please note, that this version make datafiles from older versions incompatible. An upgrade requires a xml tableset export of existing data and a restore after succesful upgrade This version also contains many code cleanup fixes and some fixes for btree handling. |
cego | 26.12.2015 | 2.28.0 | Fix in CegoTableManager::createBTree, in case of an exception during build up, the allocated have to be cleanup up. For this the a rollback method was introduced in class CegoBTreeManager. Fix in CegoTableCursor, invalid btree objects have not been ignored |
cego | 26.12.2015 | 2.28.0 | Many adapations to make cego full 64bit ready also in combination with MSYS2 / MINGW64. This resulted in change of many variables from type long to type unsigned long long (type long is just 32 bit for Windows )
With an appropriate MSYS2 / MINGW64 installation, cego compiles proper and runs stable now. Many thanks to the MSYS/MINGW developers for their amazing work ! |
lfcbase | 26.12.2015 | 1.7.0 | Adaptions made for build with msys2 / mingw64. Many windows specific stuff could be eliminated, since mingw64 provides better POSIX support ( e.g. pthreads, timer functions .. ) |
cego | 18.12.2015 | 2.27.4 | Full time table scan performance for 2 mio tuples is now
CGCLT > select count(*) from t1; +-----------+ | AGGR | | count(*) | +-----------+ | 2000000 | +-----------+ 1 tuples ok ( 0.293 s ) |
cego | 18.12.2015 | 2.27.4 | Version released |
cego | 18.12.2015 | 2.27.4 | Added performance fix for CegoQueryHelper::decodeFVL, since the tuple context information is already from the method called, the tid, tastep and ts parameters have been remove from this method. This saves some decoding time |
cego | 16.12.2015 | 2.27.3 | Version released |
cego | 16.12.2015 | 2.27.3 | Fix in CegoSelect::CegoSelect, the pCacheList variable was not initialized to 0 for all constructors. In case of system table selects, the variable might be undefined which might lead to segmetation faults. |
cego | 16.12.2015 | 2.27.3 | Changed synchronization level for btree creation. So the base table can also be accessed while btree is created ( During creation btree status is invalid ) This also allows to perform on online btree reorganization, since a new btree can be build up in parallel |
cego | 15.12.2015 | 2.27.3 | Fix in CegoSystemObject::createSystemSpace, id values for bustat table must start with id 1 instead of id 0, otherwise, bustat information retrievel fails or may result in a core dump ( select * from $bustat ) |
cego | 12.12.2015 | 2.27.2 | Version released |
cego | 12.12.2015 | 2.27.2 | Fix for system tables in CegoAttrDesc::evalReferences, for system tables the evalTableReferences method has to be called, otherwise attributes for system tables can not be accessed |
cego | 11.12.2015 | 2.27.2 | Add dbCheck for Fetch & Cache ( check047 ), all base checks are run now with querycache ON and OFF |
cego | 11.12.2015 | 2.27.2 | Fix in CegoSelect::nextTuple, the cache schema was not set up properly, if nextTuple was just called with empty jfl. This happens in case of procedure cursors, ( CegoProcFetch ), where the field value list is for all method calls empty |
cego | 11.12.2015 | 2.27.2 | Fix for CegoExpr::getAggregationList(), missing break operations in switch block. This bug might lead to error messages regarding aggregation queries like
CGCLT > select sum(a) + 0 from t1; Error : Invalid expression sum(t1.a) + 0 for aggregation |
cego | 10.12.2015 | 2.27.2 | Modification for admin command set tsroot. Also the base path for all defined datafiles is set now to new tsroot |
cego | 09.12.2015 | 2.27.1 | Version released |
cego | 09.12.2015 | 2.27.1 | Fix in CegoBTreeCursor and CegoBTreeManager. Several conditons have been changed from fileId && pageIdto fileId || pageId. This bug may results in invalid btree objects in case of btree spawn over several datafiles ( the pageId might be 0 in the next file ) |
cego | 06.12.2015 | 2.27.1 | Fix in CegoGroupSpace::insertTuple, the grouping tuple has to be search using getTableAlias instead of getTableName, otherwise the following query returns wrong results
select count(*), a from t1 group by a; --works select count(*), a from t1 tx group by a; -- brokenA check for this has been added in dbcheck suite |
cego | 05.12.2015 | BTree Cache test done with 100 million tuples.
bigts > select count(*) from t1; +-----------+ | AGGR | | count(*) | +-----------+ | 100119314 | +-----------+ 1 tuples ok ( 47.803 s ) bigts > create btree b1 on t1(a); Btree b1 created ok ( 9584.849 s )In fact, this is a creation time of about 2.6 hours. It has been observed, hat without the btree cache, the creation takes about 20 hours. |
|
cego | 04.12.2015 | 2.27.0 | Version released |
cego | 04.12.2015 | 2.27.0 | Btree Cache are working now stable, performance tests with large tree still outstanding ... |
cego | 02.12.2015 | 2.27.0 | Introduced BTree Cache to improve build up speed of large btree objects.This feature is now basically implemented and must be still tested |
cego | 01.12.2015 | 2.26.16 | Version released |
cego | 01.12.2015 | 2.26.16 | Ugly bug fixed in CegoObjectManager::releaseDataPtrUnlocked. The logical operator && must be replaced by ||, otherwise fix leak arises |
cego | 29.11.2015 | 2.26.16 | Fix in CegoSelect::nextTuple for query cache to avoid, that queries including system tables are cached. |
cego | 29.11.2015 | 2.26.16 | Error message fixes in CegoXPorter |
cego | 29.11.2015 | 2.26.15 | Version released |
lfcbase | 29.11.2015 | 1.6.7 | Version released |
cego | 29.11.2015 | 2.26.15 | Simulation status
testdb.nepustil.net> ./showSpace Total Size = 1524 GB Total Allocated = 78 GB |
cego | 29.11.2015 | 2.26.15 | Introduced bufferpool distribution rate information in show pool output. This indicates, if the buffer pool is used in a balanced way. The behaviour can be changed with the BUFFERPOOLHASHKEY parameter. The list pool command now receives the pool information in several chunk messages. This allows to print also very large buffer pool configurations |
lfcbase | 28.11.2015 | 1.6.7 | Improvement for ListT template class. The end of the list is now stored int _listEnd variable. This improves Insert performance, since the end of the list can immediately accesed instead of tracking through the whole list until the end is reached. |
cego | 28.11.2015 | 2.26.15 | Introduced BUFFERPOOLHASHKEY as a database tuning parameter. Based on this parameter, the corresponding bufferpool slot for a fileId, pageId tuple is calculated. Depending on the configured datafile size, it might be useful to adjust this parameter |
lfcbase | 28.11.2015 | 1.6.6 | Version released |
cego | 28.11.2015 | 2.26.15 | Simulation runs stable now
testdb.nepustil.net> ./showSpace Total Size = 1524 GB Total Allocated = 57 GB |
lfcbase | 27.11.2015 | 1.6.6 | Patch in ThreadLock, the mutex for lock statistics has been removed, since there is no need for synchronization. Also error have not been checked for the pthread_rwlock_wrlock, which might case some deadlocks |
cego | 27.11.2015 | 2.26.15 | Cego Terra Test started. Approach is to load about 1TB of random data through the whole stack ( via cgblow ). Actually we are running with 19 parallel processes loading concurrently 4 different tables.
Estimated date to achieve TB-Size is in about one month
testdb.nepustil.net> ./showSpace Total Size = 1524 GB Total Allocated = 35 GB |
cego | 27.11.2015 | 2.26.15 | |
cego | 27.11.2015 | 2.26.15 | Changed command line argument --nolockstat to --lockstat. So the default value is lockstat disabled, since this has impact to the database performance |
cego | 26.11.2015 | 2.26.15 | Modification of hash function in CegoBufferPool to achieve a better distribution for large buffer pool configurations |
lfcbase | 24.11.2015 | 1.6.5 | Version released |
lfcbase | 24.11.2015 | 1.6.5 | Added kill method to class Process, added SigTest check program to basecheck suite |
lfcbase | 24.11.2015 | 1.6.5 | Improvements in test suite |
cego | 18.11.2015 | 2.26.14 | Version released |
lfcxml | 18.11.2015 | 1.1.8 | Version released |
lfcxml | 18.11.2015 | 1.1.8 | Added automake check suite to package Small fix for XMLSuite constructor for pInStream initialization |
lfcbase | 18.11.2015 | 1.6.4 | Version released |
cego | 18.11.2015 | 2.26.14 | Added encoding implementation for CegoCaseCond to allow case conditions also for update operations like update erp_disk set location = case when substr(wwn,20,1) = '1' then 'MD' else 'GV' end; |
lfcbase | 17.11.2015 | 1.6.4 | Fix in BigDecimal::operator < and > .. comparison was not done correctly. Added automake check suite in baseecheck directory ( derived from samples ) |
cego | 17.11.2015 | 2.26.14 | Cosmetic changes in CegoDefs, increased FILEMNG_MAXDATAFILE parameter to 5000 |
cego | 15.11.2015 | 2.26.13 | Version released |
cego | 15.11.2015 | 2.26.13 | Fix in CegoAttrDesc::evalReferences. In case of join objects, the refCount was not calculated correcty, since just the join object was analysed but not the sub content object. For this, a new method was introduced ( evalTableReferences ) and in case of join object, evalReferences is called recursive for all sub content objects |
cego | 10.11.2015 | 2.26.12 | Version released |
cego | 09.11.2015 | 2.26.12 | cgsimload with 3 mio ops and 2 processes passed |
cego | 09.11.2015 | 2.26.12 | Fix in CegoBTreeCursor::getFirst, if pAttrCond == 0 and btree is empty, the method call tries to claim a zero datapointer Reorganization of CegoDistManager and CegoTabelManager, all methods, which are calling useObject/unuseObject are located in CegoTableManager class now. |
cego | 08.11.2015 | 2.26.11 | Version released |
cego | 08.11.2015 | 2.26.11 | Added more sophisticated corruption check for btrees ( CegoBTreeManager::verfiyBTree ), which also checks for any structure corructions in all btree nodes |
cego | 08.11.2015 | 2.26.11 | Added btree check to CegoDistManager::verifyTable |
cego | 08.11.2015 | 2.26.10 | Version released |
cego | 08.11.2015 | 2.26.10 | Added make check feature for basic and gate tests |
cego | 07.11.2015 | 2.26.9 | Version released |
cego | 07.11.2015 | 2.26.9 | Version passed concurrent load test with 10 million concurrent operations ( random insert, update and delete on one table with 2 processes ) |
cego | 07.11.2015 | 2.26.9 | Fix in CegoFileHandler::allocatePage, In case of page exceed with appendMode = true, a second try is done with appendMode = false |
cego | 07.11.2015 | 2.26.9 | Small fix in CegoObjectManager::reorgObject, ref page id information for append mode is set to new last page id |
cego | 07.11.2015 | 2.26.9 | Small fix in CegoSelect::filterRefs, allow expressions with constant values ( getAttrRefList= 0 ) in aggregation |
cego | 07.11.2015 | 2.26.9 | Locking improvements for delete and update operations. All delete operations are done now via transactions ( introduced CegoTableManager::deleteDataTableAtomic ). This allows to use a shared lock as the table lock for using the table ( CegoDistManager::deleteLocalDataTable and CegoDistManager::updateLocalDataTable )
As a result, a table can be accessed in parallel during a ( long running ) delete operation on the table( e.g. delete from table). E.g. select count(*) from table will not block anymore, rather indicates the remaining number of tuples in the table. This modification is still under investigation and must verfied ( also in combination with btree/index objects on the table ) |
cego | 06.11.2015 | 2.26.9 | Fix in CegoBTreeManager::deleteBTree, the relevance value was not calculated correctly Fix in CegoQuery, cache invalidation is done before query operations. Otherwise, if the query is aborted, an exception is thrown and the cache is not cleaned |
cego | 05.11.2015 | 2.26.8 | Version released |
cego | 05.11.2015 | 2.26.8 | Small modifications on cgblow load simulation client |
cego | 05.11.2015 | 2.26.8 | Changed locking for delete an update operations to exclusive due to concurrency prpblems with btree operations |
cego | 04.11.2015 | 2.26.8 | Added page locking to AVLIndexManager and AVLIndexCursor |
cego | 04.11.2015 | 2.26.8 | Improvements for locking done.Since locking is done on page level, Insert and delete operations can be done now in parallel . For this locking had to be introduced in CegoBtreeManager::insertBTree and CegoBTreeManager::deleteBTree |
cego | 01.11.2015 | 2.26.8 | Additional note : The previous patch improves performance for about 4% ( investigated on web stats for lemke-it.com ) |
cego | 01.11.2015 | 2.26.8 | Further performance path for grouping queries in CegoGroupSpace. Since the current grouping key is stored now in the class variable _groupSchema, some expensive list copy operations could be avoided |
cego | 31.10.2015 | 2.26.7 | Version released |
cego | 31.10.2015 | 2.26.7 | Performance fix has been done for record locking. In many cases, row locking could be avoided, since an appropriate locking is ensured on data page or object level. This brings another significant performance improvement close to commercial database products |
cego | 30.10.2015 | 2.26.6 | Version released |
cego | 30.10.2015 | 2.26.2 | The previous described performance fix results in an improved performance of about 80-90% for count aggregation queries |
cego | 30.10.2015 | 2.26.6 | Added further performance fix for aggregation queries in CegoExpr and CegoQueryHelper. The aggregation list for CegoExpr now is stored in a class variable and is just evaluated the first time, it is retrieved. In the method CegoQueryHelper::aggregateTuple, the increment calculation of the count aggregation has been changed from memcpy calls to direkt pointer arithmetic |
lfcbase | 24.10.2015 | 1.6.3 | Version released |
cego | 24.10.2015 | 2.26.6 | Added online help for query cache and table cache in cgadm |
lfcbase | 24.10.2015 | 1.6.3 | Performance fix in Datetime class. Changed dynamic allocation of struct tm var to static. |
cego | 23.10.2015 | 2.26.5 | Version released |
cego | 23.10.2015 | 2.26.5 | Performance improvement for nested queries ( exists select, in select) The tablecursor for the select statement is not released and reallocated for subsequent queries ( in CegoQueryHelper, the select handle is reset with argument false ) This has required a different locking strategy for the cursor object in CegoDistCursor. The cursor object has explicit to get in use, if the nextTuple method is called the first time. |
cego | 17.10.2015 | 2.26.4 | Version released |
cego | 17.10.2015 | 2.26.4 | Fix for CegoBtreeManager::insertBTree, duplicate handling did not work correctly, if CegoBTreeNode::addValue returns false ( node is full ) with a duplicate detection, we also have throw exception. Otherwise the node is split and a duplicate is added. |
cego | 17.10.2015 | 2.26.3 | Version released |
cego | 17.10.2015 | 2.26.3 | Improvements for query execution plan retrievel |
cego | 16.10.2015 | 2.26.3 | Fix in CegoOutput for multline format ( e.g. execution plans have been cut off ) |
cego | 15.10.2015 | 2.26.3 | Performance patch in CegoTableCursor::setup. The getObjectListByTable method was called every time, when the attribute condition has been changed. Since this operation is pretty expensive, it was useful to cache the retrieved index/btree objet in a local class variables. This change results in significant query speedup for joins, where the table cursor has to be setup very often |
cego | 12.10.2015 | 2.26.3 | Small fix in CegoAction::readChain, treating backslashes for quoteEscapeFlag=false was commented, reactivated |
cego | 11.10.2015 | 2.26.3 | Small fix in CegoMain, Default value for csmode changed to value "ID" |
cego | 04.10.2015 | 2.26.2 | Version released |
cego | 04.10.2015 | 2.26.2 | Fix in CegoBufferPool::calcHas and CegoBufferPool::calcSegement For large file id's the integer range for the hash key might be exceeded, which lead to wrong address calculation. The hash key now is calculated in long based values |
cego | 03.10.2015 | 2.26.2 | Introduced server mode with same behaviour as daemon mode, but no child process is forked and server can be terminated with Ctrl-C |
cego | 03.10.2015 | 2.26.2 | Small formatting fix in CegoOutput |
cego | 02.10.2015 | 2.26.1 | Version released |
cego | 02.10.2015 | 2.26.1 | Fix in CegoDistCursor for inner and outer joins Inner or outer joins with additional where condition might return incorrect result set since the condition was just evaluated inside the join. To correct this, the where condition is also checked via evalCondition method. This required also a fix in the evalCondition method. |
cego | 30.09.2015 | 2.26.0 | Version released |
cego | 28.09.2015 | 2.26.0 | Added multi segment support to CegoBufferPool. Since the pool is divided now into several memory segments, this allows larger buffer pool configurations. |
cego | 26.09.2015 | 2.25.4 | Improvements for output formatting regarding string functions ( egoFunction::getReturnTypeLen). Size of required column field size is now calculated, so the outlook looks more pretty |
cego | 24.09.2015 | 2.25.4 | Added hints from David Binderman in CegoAction::backChar and CegoBufferPage::printPage ( changed pointer comparison to avoid -Wextra compile warnings ) Thanks ! |
cego | 20.09.2015 | 2.25.3 | Version released |
cego | 20.09.2015 | 2.25.3 | Decreased default cache size values to 100k ( query + table ) |
cego | 20.09.2015 | 2.25.3 | Next fileId (CegoXMLSpace::nextFID ) calculation now analyses the existing fileId and uses the lowest available. The MAXFID attribute in the database xml file is no more used. This avoids, that file id exceeds in case of frequent creation and removement of tablesets. |
cego | 19.09.2015 | 2.25.3 | Some format correction in CegoAdminHandler for |
cego | 18.09.2015 | 2.25.3 | Increased parameter FILMNG_MAXDATAFILE to 10000 and TABMNG_MAXTABSET to 500 |
cego | 16.09.2015 | 2.25.2 | Version released |
cego | 13.09.2015 | 2.25.2 | Optimization added in CegoDisCursor::distSetup(CegoAttrCond) If the native table cursor could not set up either FULL or PART, the table cursor retrieved all available rows from the corresponding table In this case, the table also can be cached to improve subsequent queries for this table. This fix is relevant for queries like select * from t1 where b like '%X%', since the like condition cannot be used by the table cursor |
cego | 13.09.2015 | 2.25.1 | Version released |
cego | 13.09.2015 | 2.25.1 | Fix in CegoSelect::nextTuple : in case of rowlimit > 0, the cached entry was not added to query cache |
cego | 12.09.2015 | 2.25.1 | Added many columns sample to base test ( create, insert and select for table with 60 columns ) |
cegobridge | 10.09.2015 | 1.1.0 | Version released |
cegobridge | 10.09.2015 | 1.1.0 | Adaptions for cego-2.25.0 API change |
cego | 10.09.2015 | 2.25.0 | Version released |
cego | 30.08.2015 | 2.25.0 | Added throw statement for stored procedures. This allows to throw exceptions on application level |
cego | 30.08.2015 | 2.24.4 | Version released |
cego | 30.08.2015 | 2.24.4 | Fix in CegoAction::execViewCreate. Views must be compiled successful now immediately after creation. Otherwise, the calculated schema is not stored correctly into dictionary. |
cego | 30.08.2015 | 2.24.4 | Fix in CegoFactor::getId, if sysdate is used in queries, it should be resolved, otherwise query couldbe used from cache which returns invalid result |
cego | 28.08.2015 | 2.24.3 | Version released |
cego | 28.08.2015 | 2.24.3 | To improve cache performance, reduced STATICFIELDBUF defintion from 100 byte to 20 byte |
cego | 27.08.2015 | 2.24.2 | Version released |
cego | 27.08.2015 | 2.24.2 | Kurt Jaeger provided a modified scanner description to handle SQL keywords case insensitive |
cego | 27.08.2015 | 2.24.2 | Modification for csmode, can be setup to ALL, STR ( just string compares are case sensitive ) or NONE now depending on the requirements |
cego | 26.08.2015 | 2.24.1 | Version released |
cego | 26.08.2015 | 2.24.1 | Added cleanup cache method to CegoTableCache and CegoQueryCache destructor. Improved formatting for cache list. |
cego | 23.08.2015 | 2.24.0 | Version released |
cego | 21.08.2015 | 2.24.0 | Changed CegoQueryCache from list struct to array struct to make it thread safe |
cego | 20.08.2015 | 2.24.0 | QueryCache and TableCache are both working stable for single threaded requests. Still have to change some code in CegoQueryCache to make it threadsafe |
cego | 17.08.2015 | 2.24.0 | TableCache implementation completed. Tests still ongoing |
cego | 09.08.2015 | 2.24.0 | As a lower level cache option, started with TableCache implementation. |
cego | 07.08.2015 | 2.24.0 | New version verified with SysMT. Fixes for query string generation done ( using _conjunctionList instead of _pPred to access also _viewConjunction ). |
cego | 05.08.2015 | 2.24.0 | Added query cache info command to indicate max cache entry and max cache size |
cego | 04.08.2015 | 2.24.0 | Several fixes on query cache implementation ( subselects still have not been handled correctly, query cleanup and reset handling ) Base check and gate are ok now |
cego | 03.08.2015 | 2.24.0 | Another improvement for query cache. Instead of saving CegoField values in the query cache array, this has been reduced to storing CegoFieldValue values. Schema information is stored just one time for each query cache entry in the cacheSchema variable. This avoids memory consumption for the query cache. |
cego | 01.08.2015 | 2.24.0 | Query Cache is basically working and actually meets expectations. |
cego | 01.08.2015 | 2.24.0 | Proceed with QueryCache implementation. Basic admin functions ( show querycache, clean querycache ) working now, query content is stored to query cache |
cego | 28.07.2015 | 2.24.0 | Started with query cache implementation |
cego | 26.07.2015 | 2.23.13 | Documentation cleanup for Database XML description and SQL language description |
cego | 25.07.2015 | 2.23.13 | Added gate D to gate check for checking modifying queries |
cego | 25.07.2015 | 2.23.12 | Version released |
cego | 25.07.2015 | 2.23.12 | Further patches in CegoTableManager::deleteDataTable, CegoFactor::evalReferences and CegoSelect::nextTuple for advanced query cache handling.
All patches have impact on queries of the formdelete from t1 where a in ( select ....) |
cego | 25.07.2015 | 2.23.12 | In CegoQueryHelper::evalPredicate fixed termination for INSUB- and NOTINB queries. There was no reset at the end of the evaluation, which might lead to open table cursors. In case of procedure queries, this might lead to locking problems. Since the query is reset after evaluation, query caching is no more useful. This must be treated in an advanced way. |
cego | 21.07.2015 | 2.23.11 | Version released |
cego | 20.07.2015 | 2.23.11 | Added performance patch in CegoFieldValue. Value length up to STATICFIELDBUF size ( 100 bytes ) are handled using a static byte array. This saves expensive memory allocation calls in most cases. First very rough performances analysis has shown a performance improvement of about 5-10 percent |
cego | 19.07.2015 | 2.23.11 | The local copy logix was shifted from CegoSelect::nextGroupedTuple to CegoGroupSpace::insertTuple.
Since the buffer page invalidation effect might also occur for plain ordering queries, local copies are also created now in CegoOrderSpace::insertTuple |
cego | 19.07.2015 | 2.23.10 | Version released |
cego | 18.07.2015 | 2.23.10 | Fix in CegoSelect::nextGroupedTuple. For the grouping key values, a local copy of CegoFieldValue has to be created. Otherwise, grouping references might be invalate, which result in aborted grouping queries with strange error message ( No token available ) on client side. For local copy creation, the CegoFieldValue::getLocalCopy method has been modified ( was not used until now ) This effect was observed in case of small buffer poolsize in combination with grouping queries on large tables. The probability of grouping key invalidation is higher then, because buffer pool pages are reloaded more often |
cego | 12.07.2015 | 2.23.9 | Version released |
cego | 12.07.2015 | 2.23.9 | The added performance fix also avoid infinite query loops for non-reference conditions, e.g. select a from t1 where 1 = 1; |
cego | 12.07.2015 | 2.23.9 | Performance fix in CegoSelect::consolidateConjunctionList Inappropriate predicates are filtered and added to stack first. As a result, predicates are used for table join binding, where efficient tuple retrievel is ensured |
cego | 14.06.2015 | 2.23.8 | Version released |
cego | 14.06.2015 | 2.23.8 | More simplification done in CegoBTreeManager and CegoBTreeNode. Calculation of leaf node chain is now done much simpler. This ensures conistency and improves btree build up performance |
cego | 14.06.2015 | 2.23.8 | Fix in CegoBTreeManager and CegoBTreeNode. The set up of the leaf chain was not done correctly. In case of CegoBTreeNode::addNode method calls, the follow up leaf information was not calculated correctly. This has tobe done in a similar way as for CegoBTreeNode::propagate. This effect might result in page leaks when an index is dropped. The current solution solves the problem but still has to be verified. |
cego | 13.06.2015 | 2.23.8 | Fix for btree page count and btree page release. Some of the btree nodes have double references, which was not treated in the page count and page release algorithm |
cego | 12.06.2015 | 2.23.8 | Changed default primary and secondary values for tableset definition command to the configured hostname. This simplies the define command in case of single node tableset configurations. |
cego | 08.06.2015 | 2.23.7 | Version released |
lfcbase | 08.06.2015 | 1.6.2 | Version released |
lfcbase | 08.06.2015 | 1.6.2 | Small fix in Chain::visibleLength. Calculation my result in an infiite loop, if mbtowc returns zero. This has been stabilized |
cego | 08.06.2015 | 2.23.7 | Fix in CegoClient for dump mode. BTrees habe not been dumped with the correct type ( primary, unique, normal ) |
cego | 08.06.2015 | 2.23.7 | Fix in CegoFieldValue for VARCHAR comparison. In case of exceeded string length for index values, the CegoFieldValue did not work correctly, which might lead to further problems. The comparison was changed to fix length compare. In this sense, strcmp was replaced by strncmp to with usage of the len value in the field value instance. |
cego | 05.06.2015 | 2.23.6 | Version released |
cego | 05.06.2015 | 2.23.6 | Added a fix in CegoTableManager::updateTuple. The core operation consists of a deleteDataTable and a insertDataTable method call. For the insertDataTable method call, the logging still was enabled. So in addition to an update operation, also an insert operation was done. In case of recovery operations, this lead to duplicate entries. Fix is pretty easy, just change isLogging parameter value for insertDataTable method from true to false. |
cego | 05.06.2015 | 2.23.5 | Version released |
cego | 05.06.2015 | 2.23.5 | Fix in CegoTableManager::insertDataTable, in case of constraint violation, btrees have not been cleaned up. This may result in inconsistent btree objects. |
cego | 04.06.2015 | 2.23.4 | Version released |
cego | 03.06.2015 | 2.23.4 | Fix in CegoSelect::buildJoinTables. After growStep match, growStep is now reset to 1. This avoids to add tables to the joinlist, which are still not treated for any appropriate join condition. As an effect of this bug, execution plan is not evaluated in an optimal manner, which might lead to long execution times |
cegobridge | 01.06.2015 | 1.0.1 | Version released |
cego | 01.06.2015 | 2.23.3 | Version released |
cegobridge | 01.06.2015 | 1.0.1 | Fixes for MySQL import |
cego | 31.05.2015 | 2.23.3 | Added uptime command for cgclt to show database uptime |
cego | 29.05.2015 | 2.23.3 | Added pool uptime to buffer pool information, this indicates the database uptime |
cego | 23.05.2015 | 2.23.3 | Several fixes for cgmkdb utility |
cegobridge | 18.05.2015 | 1.0.0 | Version released |
cego | 18.05.2015 | 2.23.2 | Version released |
cego | 18.05.2015 | 2.23.2 | Added rowlimit argument to CegoDatabaseFormater::formatSelect method |
cego | 15.05.2015 | 2.23.1 | Version released |
cego | 15.05.2015 | 2.23.1 | Added some missing include files to be installed ( CegoException.h, CegoComparison.h, CegoXMldef.h, .. ) |
cego | 14.05.2015 | 2.23.0 | Version released |
cegobridge | 09.05.2015 | 1.0.0 | First complex sample imported succesfull into MySQL ( SysMT DB ) |
cegobridge | 05.05.2015 | 1.0.0 | More work on MySQLFormater, procedure generation almost completed |
cegobridge | 03.05.2015 | 1.0.0 | Completed application frame for MySQL,Oracle and Postgres.By using the API of cego-2.23, basic import and export for MySQL is already functional. |
cego | 03.05.2015 | 2.23.0 | Completed CegoDatabaseFormater. Since the API has changed ( proagation of database formatting methods ), uplift to version 2.23 was required. |
cego | 01.05.2015 | 2.22.1 | First approach of CegoDatabaseFormater completed including of all corresponding dbFormat methods in the required classes. |
cegobridge | 28.04.2015 | 1.0.0 | initial entry |
cego | 28.04.2015 | 2.22.1 | Started with implementation of CegoDatabaseFormater class. This class provides virtual format methods to be used for database specific export ( e.g. MySQl, Oracle, postgres ) |
lfcbase | 27.04.2015 | 1.6.1 | Version released |
lfcbase | 27.04.2015 | 1.6.1 | Changed compile flag from -DENABLE_SYSLOG to -DDISABLE_SYSLOG. On default, syslog is enabled now |
cego | 26.04.2015 | 2.22.1 | Code cleanup in CegoQueryHelper and CegoSelect, no functional changes |
cegodbd | 25.04.2015 | 1.3.0 | Version released |
lfcbase | 25.04.2015 | 1.6.0 | Version released |
cego | 25.04.2015 | 2.22.0 | Version released |
cego | 25.04.2015 | 2.22 | |
cego | 25.04.2015 | 2.22.0 | Fix in CegoQueryHelper::decodeFVL, terminating id was not checked correctly,which might lead to db crash in case of null value fields |
lfcbase | 25.04.2015 | 1.6.0 | Added syslog support |
cego | 25.04.2015 | 2.22.0 | Uplift to lfcbase 1.6 with syslog support |
cego | 25.04.2015 | 2.21.2 | Further fix in CegoFieldValue::comp for correct null value ordering |
cego | 12.04.2015 | 2.21.1 | Version released |
cego | 12.04.2015 | 2.21.1 | Further fixes for btree handling. Some field value offsets have been corrected based on experiences with SAGE db import |
cego | 11.04.2015 | 2.21.1 | Improved error messages for CegoLockHandler to indicate low level lock error messages from pthread calls |
cego | 10.04.2015 | 2.21.1 | Added sudo command to cego rc script to run db as given user |
cego | 06.04.2015 | 2.21.0 | Version released |
cego | 06.04.2015 | 2.21.0 | Urgent fix in CegoFieldValue::comp method. New introduced null value comparison might result in a dump. Since, the new btree null value extension breaks specification to version 2.20, update to version 2.21 was required. |
cego | 06.04.2015 | 2.20.25 | Version released |
lfcbase | 06.04.2015 | 1.5.11 | Version released |
cego | 06.04.2015 | 2.20.25 | Added multibyte character evaluation in CegoOutput ( requires lfcbase-1.5.11 ) to show visible chain length |
lfcbase | 06.04.2015 | 1.5.11 | Added new method visibleLength to class Chain to get information about chain length with included multi byte characters |
cego | 04.04.2015 | 2.20.24 | Version released |
cego | 04.04.2015 | 2.20.24 | Fix on update query for referenced attributes in nested select like update t1 tx set b = ( select d from t2 where t1.a = c ); This table alias was not resolved correctly |
cego | 03.04.2015 | 2.20.23 | Version released |
cego | 03.04.2015 | 2.20.23 | SQL optimizer improvement was added. In case of select conditions with "a is null", not index or btree was used. Just for "a = null", the index was used. This has been fixed |
cego | 03.04.2015 | 2.20.23 | Added fix for btree null value handling. A dedicated null value flag was introduced for each btree value ( class CegoBTreeValue ) to handle null values |
croomios | 15.03.2015 | 2.0.7 | Message bubble redesign for chat window. This is still not the final solution, since there seems to be some challenge with the image resolution ... |
croomadt | 15.03.2015 | 2.0.2 | Version released |
croomadt | 15.03.2015 | 2.0.2 | Fix in CroomMessageView, duplicate messages appeared since unread messages are written two times to message cache ( also onPause ) |
croomios | 08.03.2015 | 2.0.7 | Added header for unread messages to message view. Reduced cell height to show more messages in the view |
croomadt | 01.03.2015 | 2.0.1 | Version released |
cego | 27.02.2015 | 2.20.22 | Version released |
cego | 27.02.2015 | 2.20.22 | Fix in CegoQueryHelper::evalSelection for isAgg-case : int i =0; CegoField *pJF = 0; while ( i < jbufSize && pJF == 0 ) { CegoField* pJF = joinBuf[i].Find(*pF); ^^^^^^^^^^ if ( pJF ) { pF->setValue(pJF->getValue()); } i++; } The local variable lead an not optimized loop invariant, since the second condition predicate never terminates the invariant |
cego | 27.02.2015 | 2.20.22 | Fix in CegoFactor::evalFieldValue : For the QUERY case, the select instance was not reset. Since the query starts from a undefined point, this might lead to "list position exceeded" exceptions |
croomadt | 21.02.2015 | 2.0.0rc2 | Version released |
cego | 16.02.2015 | 2.20.22 | Added command line parameter validation for poolsize, numdbthread, numadminthread and numlogthread parameters |
cego | 15.02.2015 | 2.20.21 | Version released |
cego | 15.02.2015 | 2.20.21 | Fixes for cego rc script |
cego | 15.02.2015 | 2.20.20 | Version released |
cego | 15.02.2015 | 2.20.20 | Added fork+setsid system calls to daemon mode |
croomadt | 09.02.2015 | 2.0.rc1 | Croom Android Cient first release candidate. This version works with croom server 2.0 |
croomsrv | 06.02.2015 | 2.0.0 | Heavy work on croom version 2.0.0 with web integration |
cego | 13.01.2015 | 2.20.19 | Version released |
cegojdbc | 28.12.2014 | 1.5.5 | Treated exception for exceeded blob pages |
cego | 28.12.2014 | 2.20.19 | Added small fix for blob handling ( treat exception for exceeded pages ) |
cegojdbc | 27.12.2014 | 1.5.4 | Version released |
cegojdbc | 27.12.2014 | 1.5.4 | Added methods for blob handling with input stream |
croomsrv | 18.12.2014 | 2.0.0 | Started with user admin panel implementation |
croomsrv | 17.12.2014 | 2.0.0 | Started Vaadin based implementation, complete code copy to eclipse project |
cego | 06.12.2014 | 2.20.18 | Version released |
cego | 05.12.2014 | 2.20.18 | Added more detailed log information for tableset import and export operation |
cego | 16.11.2014 | 2.20.17 | Version released |
cego | 15.11.2014 | 2.20.17 | Change for primary and secondary host evaluation. Instead if comparing gethostbyname, the defined dbhost value is used. This makes sense, especially, if the configured dbhost does not match with the result value of gethostbyname ( e.g. is multiple hostnames are configured on a database server ) |
cegodbd | 04.11.2014 | 1.2.9 | Version released |
cegodbd | 04.11.2014 | 1.2.9 | Modifications in Cego.xs to support newer releases of DBI |
croomios | 27.10.2014 | 1.1.1 | Catched pictures messages with no title ( msgtext == nil ) |
croomsrv | 27.10.2014 | 1.1.2 | Removed MSGCONFIRM message from server, since this message is actually not used and may confuse the protocol. |
croomadt | 27.10.2014 | 1.1.3 | Added status thread for status updates in message view Layout improvements in message view. Synchronizing improvements in request handler class |
croomsrv | 26.10.2014 | 1.1.1 | Version released |
croomadt | 26.10.2014 | 1.1.2 | Version released |
croomadt | 26.10.2014 | 1.1.2 | Message bubble correction to synchronize with iOS bubble design |
croomsrv | 26.10.2014 | 1.1.1 | Improvements regarding session cleanup |
croomadt | 26.10.2014 | 1.1.2 | Improvements regarding session recovery |
croomadt | 24.10.2014 | 1.1.2 | Fix in CroomMessageView, messages are just added locally, if confirmation to server was succesful |
croomsrv | 24.10.2014 | 1.1.1 | - Fix in view croom_unreadmsgview, instead of msgid_send, msgid_confirmed must be evaluated - Optimization push message service, added rowlimit 10 to select to avoid pushing too many messages with one service request |
croomadt | 24.10.2014 | 1.1.0 | Version released |
croomsrv | 24.10.2014 | 1.1.0 | Version released |
cego | 24.10.2014 | 2.20.16 | Version released |
croomsrv | 23.10.2014 | 1.1.0 | Small fix for pollUnread service request ( updated msgrec attribute for croom_unreadmsgview query ) |
croomadt | 23.10.2014 | 1.1.0 | Introduced class CroomForground for proper foreground / background state handling. Messsage exchange seems to be stable now also with images |
croomadt | 22.10.2014 | 1.1.0 | Improvements for message view with images |
croomios | 21.10.2014 | 1.1.0 | Many improvements regarding stabability and design Added message cache cleaner |
cego | 19.10.2014 | 2.20.16 | Added utility function blobsize for retrieving blob size information |
croomadt | 19.10.2014 | 1.1.0 | Added basic support for media message transfer Lift up to version 1.1.0, since this feature uses new server protocol |
croomios | 19.10.2014 | 1.1.0 | Many patches added to support media messages Since this is a protocol expansion, version set up to 1.1.0 |
croomios | 18.10.2014 | 1.0.4 | More work on message view controller to support media messages |
cegojdbc | 18.10.2014 | 1.5.3 | Version released |
cego | 18.10.2014 | 2.20.15 | Version released |
cego | 18.10.2014 | 2.20.15 | Added restricted acces for JDBC information requests The jdbc role now is required to perform any JDBC information requests. |
cego | 18.10.2014 | 2.20.15 | A problem occured with inner and outer joins if the same table occurs two times or more in the query For the CegoAttrComp class, the tablealias name additionally is stores now to evaluate, if the compare is appripriate for the corresponding table |
cegojdbc | 18.10.2014 | 1.5.3 | Fixes for CegoBlob added |
croomsrv | 17.10.2014 | 1.1.0 | Added image message handling to the server This feature also requires blob handling of the cego database Patches to the JDBC driver have been added ( CegoJDBC Vesion 1.5.3 ) |
cegojdbc | 16.10.2014 | 1.5.3 | Cleanup of several unimplemented methods in CegoCallableStatement |
croomadt | 16.10.2014 | 1.0.1 | Version released |
croomadt | 16.10.2014 | 1.0.1 | Added message cache option to settings menu |
croomios | 15.10.2014 | 1.0.4 | Added message cache with cache expire setting |
cego | 15.10.2014 | 2.20.15 | Small optimization in CegoDisManager::updateLocalDataTable
Instead of requesting a new lock for the commitment phase, the lock we already have is also used for the commit in case of forecedTransactions ( update case ). This ensures, that the forced transaction can be done without risking to not obtain the lock for the corresponding table again. |
croomios | 15.10.2014 | 1.0.3 | Bubble form and color improvements Lightening background color or all views |
croomios | 15.10.2014 | 1.0.3 | Added transaction confirmation boxes for user management |
croomsrv | 15.10.2014 | 1.0.1 | Improved exception handling and error messages |
croomsrv | 14.10.2014 | 1.0.0 | Version released |
croomadt | 14.10.2014 | 1.0.0 | Version released |
croomios | 13.10.2014 | 1.0.3 | Color and background adjustments for message bubbles |
croomios | 13.10.2014 | 1.0.3 | Code cleanup and further improvements for message view |
croomadt | 12.10.2014 | 1.0.0 | Improved scrolling to end by using getListView().smoothScrollToPosition(_adapter.getCount()) instead of getListView().setSelection(_messages.size()-1); |
croomsrv | 12.10.2014 | 1.0.0 | More work on croom documentation |
croomios | 11.10.2014 | 1.0.2 | Fixes for message view ( orientation, input message box with multi lines ) |
croomadt | 11.10.2014 | 1.0.0 | More improvements for message view status field |
croomadt | 10.10.2014 | 1.0.0 | Improvements for home view to handle connection errors Connection establishment made by a dedicated connection thread |
croomsrv | 10.10.2014 | 1.0.0 | Added msgid_sent and msgid_confirmed attributes to table croom_user2room to ensure correct message delivery to clients ( non repeating and non lost messages ) After restart, the values for the corresponding user are synched ( set msgid_sent = msgid_confimed ) |
croomios | 10.10.2014 | 1.0.2 | More fixes on Message box input view to handle line wrapping correctly |
croomios | 09.10.2014 | 1.0.2 | Improved state handling for background and foreground mode If app goes to background while room was entered, the room is left now and entered again by dedicated enterBackground and enterForeground methods in CroomMessageViewController |
croomadt | 08.10.2014 | 1.0.0 | - Improved state handling for different application states ( foreground, background, room entered ) - Added local notification for message notification, if app is in background |
croomsrv | 07.10.2014 | 1.0.0 | Started with documentation |
croomios | 06.10.2014 | 1.0.1 | Added autoconnect toggle switch to configuration view. |
croomios | 06.10.2014 | 1.0.0 | Further improvements and code cleanup for messenger view |
croomios | 06.10.2014 | 1.0.0 | Added session recovery to recover automatically from broken connections |
croomios | 05.10.2014 | 1.0.0 | More work and improvements for multiline message input view |
croomios | 04.10.2014 | 1.0.0 | Added multiline editing view for message input |
croomios | 03.10.2014 | 1.0.0 | Added asynchronous update thread for room view |
croomadt | 03.10.2014 | 1.0.0 | Message exchange between ios and android stable now |
croomios | 02.10.2014 | 1.0.0 | Changed message text coding to base64. This seems to be useful to handle messages also for the android world |
sysmt | 30.09.2014 | 5.2.0 | Update to Vaadin 7.3.2 |
croomadt | 30.09.2014 | 1.0.0 | Added CroomMessageCache class to store retrieved message locally. More work on messenger view to show message sender and message ts |
croomadt | 28.09.2014 | 1.0.0 | Basic message exchange works now ( also tested between iOS and Android ) |
croomadt | 26.09.2014 | 1.0.0 | First connection to croom server established |
croomadt | 26.09.2014 | 1.0.0 | Completed Settings View |
croomadt | 25.09.2014 | 1.0.0 | First analysis of Eclipse based ADT finished. Draft for croom application prototype including tab view, list view and messenger view completed |
croomadt | 25.09.2014 | 1.0.0 | Initial entry |
croomsrv | 22.09.2014 | 1.0.0 | Confuguration of log4j logging, started croom server beta test on croom.lemke-it.com |
croomios | 22.09.2014 | 1.0.0 | Adaptions for iPhone 4s |
cegojdbc | 21.09.2014 | 1.5.2 | Version released |
cegojdbc | 21.09.2014 | 1.5.2 | Added pseudo implementation for CegoConnection.getTypeMap to satisfy DBPool implementation of snaq.net |
croomsrv | 21.09.2014 | 1.0.0 | Added db connection pool implementation from snaq.net |
croomios | 20.09.2014 | 1.0.0 | Added local notification |
croomsrv | 18.09.2014 | 1.0.0 | view corrections and additional information for roomforuser service |
croomios | 18.09.2014 | 1.0.0 | More information added to user room view ( number of users, number of unread messages ), improvements of message view controller |
croomios | 16.09.2014 | 1.0.0 | Added services for user modification and user deletion |
croomios | 15.09.2014 | 1.0.0 | - Added message encoding for emoticons and umlaute - Improved network connection setup including UIActivityIndicator - Improved message view layout |
croomios | 15.09.2014 | 1.0.0 | First successful deployment and test on IPhone5 device |
croomios | 14.09.2014 | 1.0.0 | Improved user admin panels, added additional information to home mask |
croomsrv | 14.09.2014 | 1.0.0 | Created croom tableset on vserv2 |
cego | 14.09.2014 | 2.20.14 | Version released |
cego | 14.09.2014 | 2.20.14 | - Fix in CegoQueryHelper::decodeFVL to treat also decodings for field value list in switched order ( btree or index fvl ) - Fix in CegoAction::execIndexCheck to conform to new object comparison in CegoDatabaseManager::ObjectRecord - Fix in CegoTableManager::deleteDataTable to check for inappropriate AttrCond before executing tablecursor setup |
cego | 13.09.2014 | 2.20.14 | Fix in CegoDatabaseManager::Object::operator == Index comparisons corrected ( index can either match uindex, pindex or index, btree can either match ubtree, pbtree or btree ) |
croomios | 13.09.2014 | 1.0.0 | Added App and Launch Icon, added services for pwd setting, completed implementation of message delivery |
croomios | 12.09.2014 | 1.0.0 | More work in user and group administration |
croomsrv | 12.09.2014 | 1.0.0 | Added AES encryption code from http://www.bouncycastle.org to project |
croomios | 12.09.2014 | 1.0.0 | Added AES encryption code to project |
croomios | 12.09.2014 | 1.0.0 | More work on user and room administration views |
croomios | 11.09.2014 | 1.0.0 | Completed symmetric message protocol for room chat sessions. Messages are now delivered to crooom server but also messages are received via push requests |
croomios | 11.09.2014 | 1.0.0 | More work on smooth message exchange parameter settings. |
croomios | 09.09.2014 | 1.0.0 | Analysis and work on iOS multithreading for asynchronous message delivery. Basically, messages can be delivered from croom server and are received from a croomios dedicated thread. |
cego | 09.09.2014 | 2.20.13 | Version released |
cego | 09.09.2014 | 2.20.13 | Fix in CegoQueryHelper::evalAttrCond. In case of some table ordering, the attributes have been switched and the comparison was not made correctly ( LESS_THAN, MORE_THAN, LESS_EQUAL_THAN, MORE_EQUAL_THAN ). This has been treated now. |
croomsrv | 06.09.2014 | 1.0.0 | More work on database modelling |
croomios | 06.09.2014 | 1.0.0 | Added segue handling handling from user view to message view |
croomios | 05.09.2014 | 1.0.0 | First working request (USERLIST ) on UITableViewController with response from app server and database |
croomsrv | 05.09.2014 | 1.0.0 | More work on XML modeling and RequestHandler |
croomsrv | 04.09.2014 | 1.0.0 | Started with db modeling for croom database |
croomsrv | 03.09.2014 | 1.0.0 | First runnable prototype, which servers proom requests. Also tested with OpenJDK on FreeBSD 9.3 |
croomios | 03.09.2014 | 1.0.0 | Started with Xcode project for iPhone client |
croomios | 03.09.2014 | 1.0.0 | Added XML handling classes to iPhone client ( derived APXML by Arash Payan, https://github.com/arashpayan/apxml ) |
croomsrv | 03.09.2014 | 1.0.0 | Started with Xcode project for iPhone client and with Eclipse project for Java based server implementation |
croomsrv | 03.09.2014 | 1.0.0 | Initial entry |
cego | 31.08.2014 | 2.20.12 | Version released |
cego | 27.08.2014 | 2.20.12 | Recovery added for check constraints and foreign keys |
cego | 26.08.2014 | 2.20.12 | Corrections for btree recovery, btree creation was not performed correctly during tableset recovery. Tableset autocorrect mode is enabled on default now ( by define tableset ) |
sysmt | 20.08.2014 | 5.2.0 | Added constraint check for system set admin panel |
sysmt | 19.08.2014 | 5.2.0 | Added duplicate check for thread group admin panel |
sysmt | 18.08.2014 | 5.2.0 | Added valo theme support |
sysmt | 04.08.2014 | 5.1.9 | Added workaround for Vaadin 7.2.x tabsheet bug. |
sysmt | 04.08.2014 | 5.1.9 | Added target sid / set information for clone confirmation panel. |
sysmt | 07.07.2014 | 5.1.8 | New ticket trace URL for tabsheet problem http://dev.vaadin.com/ticket/14114 |
cego | 29.06.2014 | 2.20.11 | Version released |
cego | 29.06.2014 | 2.20.11 | Some code cleanup and corrections in sample/gate mkdb scritps |
sysmt | 22.06.2014 | 5.1.8 | Tabsheet problem still occurs with Vaadin Version 7.2.3 |
sysmt | 21.06.2014 | 5.1.8 | Calendar query was fixed and modified to catch complete set of mt entries for corresponding month matrix. Two database procedures have been introduced ( lowCal and highCal ) for mt boundary calculation. In combination with Oracle, some performance improvements have been observed. |
sysmt | 18.06.2014 | 5.1.8 | Added refreshAll method to SysMTMaintain::dataInitial to clear edit area after maintain panel is selected |
cego | 14.06.2014 | 2.20.10 | Version released |
lfcbase | 14.06.2014 | 1.5.10 | Version released |
sysmt | 14.06.2014 | 5.1.8 | TabSheet problem is tracked with Vaadin ticket #14012 |
sysmt | 14.06.2014 | 5.1.8 | Catched invalid file exception in SysMThread Document Uploader |
sysmt | 14.06.2014 | 5.1.8 | Update to Vaadin 7.1.5. Vaadin 7.2.2 available, but there are some problems regarding disabled widgets in SysMTThread - AdvancedTabSheet ( Tab sheet can not be enabled after thread selection ) |
lfcbase | 01.05.2014 | 1.5.10 | Fixes in strptime.c for correct date handling |
cego | 20.04.2014 | 2.20.10 | Small improvements for role management |
lfcbase | 20.04.2014 | 1.5.10 | Small adaptions in class Net for MinGW32 |
cego | 13.04.2014 | 2.20.9 | Version released |
cego | 13.04.2014 | 2.20.9 | Fixes on btree correction after crash recovery |
cego | 13.04.2014 | 2.20.9 | Added btree correction to CegoDistManager::correctTable method |
sysmt | 10.04.2014 | 5.1.7 | Update to Vaadin 7.1.13 |
sysmt | 06.04.2014 | 5.1.7 | Elimination of open cursor leaks by calling expicit close method,e.g Statement s = con.createStatement(); s.execute("delete from sysmt_bgright where bgid = " + _bgid); s.close(); Added missing rs.close() and s.close() in SysMTSystemSetInfo::getSidsForSet |
cego | 06.04.2014 | 2.20.9 | Corrections were made for FreeBSD rc-script, cgadm online help completed |
cego | 05.04.2014 | 2.20.8 | Version released |
cego | 04.04.2014 | 2.20.8 | Corrections for recovery handling added regarding user functions |
cego | 03.04.2014 | 2.20.8 | Corrections where made for recovery handling regarding invalidated index objects |
cego | 03.04.2014 | 2.20.8 | Fix in CegoBTreeNode::shiftEntries. Replaced memcpy with memmove, since for Linux, memcpy does not treat overlapping areas. |
cego | 23.03.2014 | 2.20.8 | Small fixes regarding tableset recovery ( handling of invalidated index objects ) |
cego | 16.03.2014 | 2.20.7 | Added patch for CegoBTreeCursor::getNext In case of open transactions, the cursor did not handle the affected entries correctly which might result in an infinite cursor loop. |
sysmt | 05.03.2014 | 5.1.7 | Active group handling for thread management was changed. Please note : This resulted in a change of the database procedure newThread but also in the view sysmt_threadview. Reload of this objects is required. |
sysmt | 01.03.2014 | 5.1.6 | Added thread standard search to filter by shortdesc |
sysmt | 01.03.2014 | 5.1.6 | Small patch in SysMTDevice to avoid null pointer exception, Added filter expansion ( status and remind ) to thread search panel search by thread group |
cego | 25.02.2014 | 2.20.6 | Version released |
cego | 24.02.2014 | 2.20.6 | Added fix in CegoFunction::evalFieldValue for SUBSTR case to avoid stringbuf exceed exception. start and len parameters are set to string boundaries in case of invalid user input |
cego | 23.02.2014 | 2.20.6 | Added csmode and qescmode flags for cego xml initialization Exception message fix in CegoFactor::evalFieldValue |
cego | 21.02.2014 | 2.20.5 | Version released |
cego | 20.02.2014 | 2.20.5 | Fix in CegoDatabaseManager::ObjectRecord::operator == , tabSetId added to comparison. This bug may lead to object exists messages in case of multi tableset configurations, where objects with the same name exists in several tablesets. |
sysmt | 19.02.2014 | 5.1.5 | Patch in SysMTSystemSet and SysMTSystemService : Just sets and services can be assigned to systems, which are reachable for the user. |
sysmt | 18.02.2014 | 5.1.5 | Added new class SysMTSystemService to move systems to other services |
sysmt | 16.02.2014 | 5.1.4 | Update to Vaadin 7.1.11 |
cego | 14.02.2014 | 2.20.4 | Version released |
lfcxml | 13.02.2014 | 1.1.7 | Version released |
lfcbase | 13.02.2014 | 1.5.9 | Version released |
lfcbase | 12.02.2014 | 1.5.9 | Fixed some compiler warnings for sample code |
cego | 12.02.2014 | 2.20.4 | - Added hitrate calculation to buffer pool information - Added transitive role removal for all users, if a role is dropped. |
lfcbase | 12.02.2014 | 1.5.9 | Expanded Chain constructor for double values to specify format string |
sysmt | 11.02.2014 | 5.1.4 | Added session invalidation in case of database connection lost to avoid sustained error mails from the refresh listener ( SysMTUI ) |
cego | 11.02.2014 | 2.20.4 | Added many improvements to curses based administration frontent ( cgadm ) Now tableset, user and role administration can be done supported by an curses based GUI. Null value check added for "alter table" command, so in case of modification of an attribute to be not null, the table entries are checked for it ( new method CegoTableManager::checkNullValue ) |
cego | 04.02.2014 | 2.20.4 | Cleanup in CegoObjectManager ( introduced method getHashPageId) Fixes for table altering : In case of renaming table attributes, the corresponding key entries for index, btrees, fkey and checks have not been modified. |
cego | 01.02.2014 | 2.20.3 | Version released |
cego | 01.02.2014 | 2.20.3 | Fixes added in CegoBufferPool::writeAndRemoveTabSet and CegoBufferPool::writeCheckPoint so just pages are written, which are occupied. Otherwise, this may lead to system crash, if pages which have been released ( marked as NOT_OCCIPIED ) and written to disk. |
cego | 31.01.2014 | 2.20.3 | More fixes for btree added. In some cases, still some btree pointers were not correct :( |
sysmt | 29.01.2014 | 5.1.4 | Check for log message length before adding it to log thread log |
cego | 28.01.2014 | 2.20.2 | Version released |
cego | 28.01.2014 | 2.20.2 | Fixed a problem in CegoFileHandler::allocatePage If a page is allocated with doAppend == false, the append pointer is reset. Otherwise, freed pages are never reallocated again and sustained create/drop operations may lead to page exceed. |
sysmt | 27.01.2014 | 5.1.4 | Added idle time management to master class SysMTUI. Since the Requester class polls periodically the server, idle time management has to be done inside the application. All clicks are already catched by ClickLogger class, so this extension was quite easy. |
cego | 26.01.2014 | 2.20.1 | Version released |
sysmt | 24.01.2014 | 5.1.4 | Fixed a null pointer exception for thread notification mails, where mail address is not configured Spelling correction for Maintenance in Main Menu |
cego | 24.01.2014 | 2.10.1 | Fix for btree objects. In some cases, bufferUnfix operations have not been done correcty, which might result in corrupted btree objects. |
sysmt | 22.01.2014 | 5.1.3 | Added a patch for calendar view. The MT downtime have not been shown correctly. |
sysmt | 21.01.2014 | 5.1.2 | Patches added for Thread Log Table. The ordering for LoggedAt was not correct, since the column type was String and not Date. Changed table refresh by setting container source. |
cego | 20.01.2014 | 2.20.0 | Version released |
lfcxml | 20.01.2014 | 1.1.6 | Version released |
sysmt | 20.01.2014 | 5.1.2 | Spelling correction for maintenance panels |
lfcxml | 19.01.2014 | 1.1.6 | Small patch has been added to XMLSuite to catch exception in case of xml string buffer exceeds ( Thanks, David ) |
cego | 19.01.2014 | 2.20.0 | The CegoBTreeManager::deleteBTree method has been redesigned. In case of non-unique index objects, it might happen, that the corresponding index entry was not found ( if the value is spreaded over several leaf nodes ) This problem is fixed with the new method implementation |
cego | 19.01.2014 | 2.20.0 | Added relevance attribute value for btree object. This allows to make a better decision about the relevance of a btree object which results in an optimized query execution plan. |
sysmt | 13.01.2014 | 5.1.2 | Device management panel has been improved The component edit panel has been redesigned to edit component units in table |
sysmt | 13.01.2014 | 5.1.2 | Catched null pointer exception for system core panel ( role value ) |
sysmt | 13.01.2014 | 5.1.2 | Added log entry after thread email notification |
cego | 05.01.2014 | 2.19.14 | Version released |
sysmt | 04.01.2014 | 5.1.1 | Several improvements for panel refresh Fixed a connection leak in SysMTCatalog |
cego | 04.01.2014 | 2.19.14 | Functional expansion for aggregation queries to support aggregation in functions e.g. select f1(sum(a)) from t1; |
sysmt | 16.12.2013 | 5.1.1 | Small color and size improvements for header layout Modified maintainance panel in a way, that the detail info panel is cleared after a search has executed. This avoids irritations for the users. |
sysmt | 08.12.2013 | 5.1.1 | Add time label to header information Several tooltips added for user support |
sysmt | 05.12.2013 | 5.1.0 | Small modifications on datamodel regarding service catalog management |
cego | 23.11.2013 | 2.19.13 | Version released |
cego | 22.11.2013 | 2.19.13 | Further corrections for CegoDatabaseManager::useObject method numTries was not increased correctly.. |
cego | 21.11.2013 | 2.19.13 | Optimization for CegoTableManager::deleteDataTable The index evaluation was not correct, so the faster deletion strategy for tables without index objects was not used. |
sysmt | 17.11.2013 | 5.0.0 | Release candidate 5 ready |
cego | 16.11.2013 | 2.19.12 | Version released |
cego | 15.11.2013 | 2.19.12 | Fixed a lock handling bug in CegoDatabaseManager An illegal V() operation was called in case of eceeding lock counts. |
cegodbd | 02.11.2013 | 1.2.8 | Version released |
cegodbd | 02.11.2013 | 1.2.8 | Added quote escape handling to the bind method, so quotes can be used in string variables as normal characters. |
cego | 01.11.2013 | 2.19.11 | Version released |
cego | 31.10.2013 | 2.19.11 | Fix in CegoBTreeCursor. Since the cursor just reads, the bufferUnfix should be used with isDirty = false |
cego | 30.10.2013 | 2.19.11 | Adjustment of some defualt parameters ( MAXFIXTRIES = 30, all semaphore numbers increased to 1021 ) |
cego | 27.10.2013 | 2.19.10 | Version released |
cego | 24.10.2013 | 2.19.10 | Further fixes for btree added. Pages for btrees are fixed now in NOSYNC-mode ( instead of SYNC ) which avoids forced checkpoints. Normally this is just relevant for large index objects. Fix for index cleanup after abort index creation added. |
cego | 23.10.2013 | 2.19.9 | Version released |
cego | 23.10.2013 | 2.19.9 | Small fix in CegoFieldValue:castTo. IN case of a cast from null to any other value, the result must again null ( Constraint _pVal == 0 and _type != NULL_TYPE MUST be false ) |
cego | 22.10.2013 | 2.19.8 | Version released |
cego | 22.10.2013 | 2.19.8 | Fix for btree cursor added |
cego | 22.10.2013 | 2.19.8 | Fixes for null values handling in several inbuild functions ( date2str, date2int, etc. ) |
cegodbd | 20.10.2013 | 1.2.7 | Version released |
cego | 20.10.2013 | 2.19.7 | Version released |
cego | 20.10.2013 | 2.19.7 | More work on btree leaks. Now the most common operations seems to work fine. |
cegodbd | 19.10.2013 | 1.2.7 | Fix for trailing parameters like select a from t1 where a = ? Without a closing semicolon, the parameter was not resolved correctly. Workaround : select a from t1 where a = ?; |
cego | 19.10.2013 | 2.19.7 | Fix for BTree cursor. Some conditions still have not been completely implemented ( MORE_THAN ) Furthermore, the getNext method did not collapse correctly for all cases. |
lfcbase | 13.10.2013 | 1.5.8 | Version released |
lfcbase | 13.10.2013 | 1.5.8 | Small bug fix in configure.ac |
cegojdbc | 12.10.2013 | 1.5.1 | Driver released |
cegojdbc | 03.10.2013 | 1.5.1 | If the ResultSet was not properly closed by the user, a session leak occurs. So if a valid Result Set exits for an executed statment, it is closed now in any case in CegoStatement::close() |
cegojdbc | 07.09.2013 | 1.5.0 | Version released |
cegojdbc | 06.09.2013 | 1.5.0 | Added charset option to URL string. This allows to use a dedicated charset for character encoding or UTF-8 as default |
cego | 04.09.2013 | 2.19.6 | Version released |
cego | 04.09.2013 | 2.19.6 | Added join optimizer modification. The join table order now is calculated in a better way. First, tables are joined, where an index can be used to join. Index on constants are just used, if no join index could be found. |
cego | 02.09.2013 | 2.19.5 | Version released |
lfcbase | 02.09.2013 | 1.5.7 | Version released |
lfcbase | 02.09.2013 | 1.5.7 | Change in Tokenizer class. Quote character argument was removed, since it does not really seems to make sense. It has lead to problems for cego in some cases. All cases can be handled with the escape character |
lfcbase | 01.09.2013 | 1.5.7 | Fix in NetHandler class. In NetHandler::readMsg, the reallocation of the message buffer was not done correctly in some cases. |
cego | 31.08.2013 | 2.19.5 | Removed backslash escape sequence detection in scanner CegoAction::nextChar Backslashes are now read as normal characters |
cego | 14.08.2013 | 2.19.4 | Version released |
cego | 13.08.2013 | 2.19.4 | Small fix for function date2str. If used in combination with sysdate constant, the return value was null. (e.g. date2str(sysdate, '%m'); |
cego | 07.08.2013 | 2.19.3 | Got the billion :) CGCLT > select count(*) from t1; +-----------+ | AGGR | | count(*) | +-----------+ |1000187769 | +-----------+ 1 tuples ok ( 796.603 s ) |
cego | 06.08.2013 | 2.19.3 | Version released |
cego | 04.08.2013 | 2.19.3 | Added page write to CegoFileHandler::claimPage at the end of the method. This avoids a release of preallocated system and temp pages if the database is started with the cleanup option. |
cego | 04.08.2013 | 2.19.2 | Big data test to load about 1 billion tuples into one table. Still running, half the way done CGCLT > select count(*) from t1; +-----------+ | AGGR | | count(*) | +-----------+ | 500187769 | +-----------+ 1 tuples ok ( 366.849 s ) |
cego | 29.07.2013 | 2.19.2 | Version released |
cego | 29.07.2013 | 2.19.2 | Added auto correct switch to enable / disable index auto correction at tableset startup. |
cego | 28.07.2013 | 2.19.1 | Log Correction : HashRule = ( (fileId+1) * (fileId+1) * (pageId+1)) % _pageNum |
cego | 27.07.2013 | 2.19.1 | Improved hash calculation for bufferpool slots. HashRule = ( 2 * (fileId+1) * (pageId+1)) % _pageNum This leads to a better distribution in case of many managed tablesets |
cego | 27.07.2013 | 2.19.1 | Contraint improvements on invalid index entries. Invalid index tables ( which may occur after a system crash ) are no longer ignored. Rather they are checked and any insert, update or delete operation for corresponding tables results in an error. This avoids invalid table entries ( eg. duplicate indexes ) and forces an index rebuild. |
cego | 25.07.2013 | 2.19.1 | Some work on documentation |
cego | 25.07.2013 | 2.19.1 | Added path attributes for sys and temp file to the database xml. Now file names can be defined now individually. |
cego | 24.07.2013 | 2.19.0 | Version released |
cego | 24.07.2013 | 2.19.0 | Several improvements for tableset creation and management added. Simplified naming for system and tempory database files makes this incompatible to 2.18.x |
lfcbase | 24.07.2013 | 1.5.6 | Version released |
cego | 23.07.2013 | 2.18.12 | Further improvements on tableset management. A default application datafile is added now with the define command in a more comfortable way. |
cego | 22.07.2013 | 2.18.12 | Fix in CegoTableManager::createTableSet There is no need to init pages for system and temp space via bufferFix The initDataFIle method already has done this job. Since the tableset is still not online, the bufferFix method can lead to problems ( if a checkpoint is forced ) |
cego | 21.07.2013 | 2.18.12 | Improvements regarding tableset management ( define tableset attributes ) |
lfcbase | 21.07.2013 | 1.5.6 | Introduced class Directory for all directory operations |
cego | 17.07.2013 | 2.18.11 | Version released |
cego | 10.07.2013 | 2.18.11 | Added type cast for fixed to string ( CegoFieldValue::castTo ) |
cegodbd | 09.07.2013 | 1.2.6 | Version released |
cegodbd | 09.07.2013 | 1.2.6 | Changed Makefile.pl to dynamic library linking |
cego | 08.07.2013 | 2.18.10 | Small improvements on CegoDatabaseManager for object lock handling. A timeout error message is now returned, if the corresponding object can not be accessed during the specified timeout interval ( DBM_LOCKDELAY * DBM_MAXLOCKTRIES msec ) |
sysmt | 06.07.2013 | 5.0.0 | Preparation for customer specific reports |
sysmt | 05.07.2013 | 5.0.0 | Added user audit table to log several user actions |
cegodbd | 04.07.2013 | 1.2.5 | Add query string normalization to alloq queries with or without trailing semicolon |
sysmt | 03.07.2013 | 5.0.0 | More work on Oracle migration. Table attribute uid has been renamed to usrid since a naming conflict occured with the Oracle internal uid function |
sysmt | 02.07.2013 | 5.0.0 | Started with Oracle database support |
sysmt | 27.06.2013 | 5.0.0 | Integration of SysMT Engine for batch schedules Integrated as a HttpServlet to the existing SysMT project. ( regarding the hints of Biagio, thanks my friend ;) ) |
cegodbd | 24.06.2013 | 1.2.4 | Update with xsi-patch by Kurt Jaeger aka pi |
sysmt | 24.06.2013 | 5.0.0 | Several fixes for panel searches |
sysmt | 23.06.2013 | 5.0.0 | Added some adaptions for right management |
cego | 22.06.2013 | 2.18.9 | Version released |
sysmt | 21.06.2013 | 5.0.0 | Added other admin panel |
sysmt | 20.06.2013 | 5.0.0 | Added further search for system panel ( by status, by role, by requested ) |
cego | 19.06.2013 | 2.18.9 | Fixes for count aggregation. Return type was not evaluated correctly for all queries. Changed return type for count aggregation from integer to long |
sysmt | 17.06.2013 | 5.0.0 | Added system statistics panel |
sysmt | 17.06.2013 | 5.0.0 | Input hardening for device management done |
sysmt | 17.06.2013 | 5.0.0 | Input hardening for service management done |
sysmt | 16.06.2013 | 5.0.0 | Admin area clean. Hardening for bgroup, user, tgroup and system set administration |
sysmt | 16.06.2013 | 5.0.0 | Renaming of data and money base functions ( database independent ) |
sysmt | 15.06.2013 | 5.0.0 | Translation of documentation to english |
sysmt | 13.06.2013 | 5.0.0 | More work on documnetation. Translation to english for several sections |
sysmt | 12.06.2013 | 5.0.0 | More work on documentation ( admin and system management ) |
sysmt | 11.06.2013 | 5.0.0 | More work on user documentation ( service and system management ) |
sysmt | 10.06.2013 | 5.0.0 | More work on user documentation ( operation management ) |
sysmt | 09.06.2013 | 5.0.0 | Database hardening regarding null values Cleanup of super classes SysMTDataPanel and SysMTAdminPanel |
sysmt | 07.06.2013 | 5.0.0 | Stabilization of admin masks ( User Management ) |
sysmt | 05.06.2013 | 5.0.0 | Added allocation table to catalog order panel. Now devices can be selected during system ordering process |
lfcxml | 05.06.2013 | 1.1.5 | Small fixes for build process regarding sample build ( xmltest ) Library include path was missing, which lead to build problems on some platforms ( FreeBSD ) |
cego | 03.06.2013 | 2.18.8 | Version released |
cego | 01.06.2013 | 2.18.8 | Added type evaluation and propagation for cego internal and user functions. Datatype was string(20) for all functions. Afffected Files: CegoFunction and CegoProcedure |
lfcxml | 01.06.2013 | 1.1.4 | Removed copyright header with old FSF adress |
lfcbase | 01.06.2013 | 1.5.5 | Adaptions for MinGW compilation. Removed copyright header in files with old FSF adress |
lfcbase | 31.05.2013 | 1.5.5 | Made some adaptions for mingw build process. Did not really get it complete. Windows is an ugly planet... |
sysmt | 29.05.2013 | 5.0.0 | Work in SAP Instance module to make configuration information editable ( instnr, smd, etc ) |
sysmt | 29.05.2013 | 5.0.0 | Added system set view |
sysmt | 29.05.2013 | 5.0.0 | Small design tuning for maintain panel ( approval table, colors ) Added exception handling for admin panels. |
cegodbd | 28.05.2013 | 1.2.3 | Version released |
cegodbd | 28.05.2013 | 1.2.3 | Added null value handling to bind procedure Sample : bind_param(1, undef, SQL_VARCAHR) to bind a null value to the first place holder. |
sysmt | 28.05.2013 | 5.0.0 | Added authorization handling for several panels |
sysmt | 26.05.2013 | 5.0.0 | Completed postgres migration includeing sysmtimp and sysmtexp Continued with System management implementation |
cego | 25.05.2013 | 2.18.7 | Return type cast added to CegoProcedure::getretVal to return the appropriate return type. |
cego | 22.05.2013 | 2.18.6 | Version released |
cego | 22.05.2013 | 2.18.6 | Added function str2date for dynamic conversion of string to date values. The date function is limited to constants. |
cego | 22.05.2013 | 2.18.5 | Version released |
cego | 21.05.2013 | 2.18.5 | Fix in CegoFunction::clone method The clone method did not treat user defined functions, which might lead to database crash in some cases, e.g. SELECT mid, shortdesc, status, dateTime(mtfrom), dateTime(mtto), dateTime(downfrom), dateTime(downto) FROM sysmt_mt WHERE ( dateMonth(downfrom) = 5 and dateYear(downfrom) = 2013 ) or ( dateMonth(downto) = 5 and dateYear(downto) = 2013 ); |
sysmt | 20.05.2013 | 5.0.0 | Started with postgres mapping. Since the attribute name "ctid" ( used in SysMT for component type id ) is reserved for postgres internal use, it has to be renamed to "coid" User admin, Group admin, Location management alread mapped |
cego | 20.05.2013 | 2.18.4 | Version released |
dragon | 20.05.2013 | 1.3.10 | Version released |
cego | 20.05.2013 | 2.18.4 | Include path adaption |
dragon | 20.05.2013 | 1.3.10 | Include path adaption |
lfcxml | 19.05.2013 | 1.1.3 | Version released |
lfcbase | 19.05.2013 | 1.5.4 | Version released |
dragon | 19.05.2013 | 1.3.9 | Version released |
cegodbd | 19.05.2013 | 1.2.2 | Version released |
cego | 19.05.2013 | 2.18.3 | Version released |
sysmt | 17.05.2013 | 5.0.0 | Added user search function to maintain panel |
cegodbd | 16.05.2013 | 1.2.1 | Adaptions for renamned lfcbase class |
cego | 16.05.2013 | 2.18.2 | Adaption for changed lfcbase base class. Added shared library version information |
cego | 16.05.2013 | 2.18.2 | Adaption for changed lfcbase base class. Added shared library version information |
lfcxml | 16.05.2013 | 1.1.2 | Adpations for lfcbase name change. Added shared library version information |
lfcbase | 16.05.2013 | 1.5.3 | Due to naming collisions with some linux libraries, a name change was made to lfcbase. Also shared library verion information was added |
sysmt | 16.05.2013 | 5.0.0 | More work on maintain searches ( by mid, my ticket |
sysmt | 16.05.2013 | 5.0.0 | More work on device management, added serial number attribute, added device searches |
sysmt | 16.05.2013 | 5.0.0 | Added user search panel to maintain management Design optimizations for maintain approval |
sysmt | 15.05.2013 | 5.0.0 | Design optimization on maintain panel |
lfcbase | 15.05.2013 | 1.5.2 | Several fixes for the new build process ( e.g. union semun detection ) |
cego | 15.05.2013 | 2.18.1 | Added several AC_CHECK_LIB macros to configure.ac |
lfcbase | 13.05.2013 | 1.5.1 | Fix for regex usage in Matcher class. New build was confused with dedicated regex implementation ( just needed for WIN32 compiles ) |
cego | 13.05.2013 | 2.18.0 | Rework of autoconf build process Version released |
lfcxml | 13.05.2013 | 1.1.0 | Version released |
lfcbase | 13.05.2013 | 1.5.0 | Version released |
cego | 13.05.2013 | 2.18.0 | Adaptions made for current autoconf support. The configure.ac and Makefile.am files have been modified. |
lfcxml | 13.05.2013 | 1.1.0 | Adaptions made for current autoconf support. The configure.ac and Makefile.am files have been modified. |
lfcbase | 13.05.2013 | 1.5.0 | Adaptions made for current autoconf support. The configure.ac and Makefile.am files have been modified. |
lfcbase | 13.05.2013 | 1.5.0 | Complete rework of the autoconf configuration files. Just configure.ac and Makefile.am had to be defined Support for libtool integrationto build executables and libraries |
sysmt | 11.05.2013 | 5.0.0 | Added conflict table for maintain management |
sysmt | 11.05.2013 | 5.0.0 | Work on maintain cloning |
sysmt | 11.05.2013 | 5.0.0 | More work on maintain management, added verification table and workflow Started with authorization management in maintain module |
cego | 10.05.2013 | 2.17.12 | Another evalaution problem detected with multi-dimensional index. In case of oterh compares than equal for the non-primary conditions, just the primary index condition is used for tracing the index and the index stractegy is just partial. This is still not optimal and the trace algorithm needs a complete review sometimes. |
sysmt | 10.05.2013 | 5.0.0 | More work on thread management ( read status handling, exception cleanup, search panel ) |
sysmt | 09.05.2013 | 5.0.0 | Work on thread-maintain panel link. Basic linkage works |
sysmt | 08.05.2013 | 5.0.0 | More work on order and sla management ( added sysexpansion and instexpansion order, added order report and monthly calculation report to sla panel) |
cego | 08.05.2013 | 2.17.11 | Version released |
sysmt | 07.05.2013 | 5.0.0 | More work on system resource management ( device assigment ) and mask cleanup for SLA and service management |
sysmt | 06.05.2013 | 5.0.0 | Code cleanup of Maintain Management Modul. Added Maintain Calendar Module using vaadin calendar addon. |
cego | 06.05.2013 | 2.17.11 | Include fix in CegoBTreeCursor ( string.h was commented, which lead to compile problems with Fedora Linux and gcc 4.8 ) |
sysmt | 05.05.2013 | 5.0.0 | More work on thread management, added document upload feature |
cego | 04.05.2013 | 2.17.10 | Version released |
cego | 04.05.2013 | 2.17.10 | The following script leads to missing result tuples drop if exists table t1; create table t1 ( a int not null, b int not null, c string(30) not null); create primary index on t1(a,b,c); insert into t1 values ( 1, 1, 'ALPHA'); insert into t1 values ( 1, 2, 'ALPHA'); insert into t1 values ( 2, 1, 'BETA'); insert into t1 values ( 2, 1, 'ALPGA'); insert into t1 values ( 1, 3, 'ALPHA'); insert into t1 values ( 2, 2, 'BETA'); insert into t1 values ( 1, 4, 'BETA'); insert into t1 values ( 1, 5, 'ALPHA'); select * from t1 where a = 1 and c = 'ALPHA'; This is caused by a wrong multi-dimensional index evaluation The method CegoAttrCond::getFilterCond has been modified to set up the appropriate index attribute condition |
sysmt | 04.05.2013 | 5.0.0 | Cleanup of device statistics |
sysmt | 04.05.2013 | 5.0.0 | Code cleanup of Catalog Management |
sysmt | 03.05.2013 | 5.0.0 | Added panel for thread management Started code cleanup with device panel |
sysmt | 02.05.2013 | 5.0.0 | Added panels for system set and thread group management |
sysmt | 02.05.2013 | 5.0.0 | More work on device and maintain statistic panels using Vaddin Charts Love it ! Completed state transisitons for maintain management ( closing and abortion of maintain entries ) Continues with system management panels |
sysmt | 01.05.2013 | 5.0.0 | More work on UserInfo, Maintain Management, Device Management and Panel reset after Login |
sysmt | 01.05.2013 | 5.0.0 | More work on Maintain Management ( State transitions, layout, cloning ) |
sysmt | 29.04.2013 | 5.0.0 | More work on Service Management and Maintain Management |
cegojdbc | 29.04.2013 | 1.4.8 | Version released |
cego | 29.04.2013 | 2.17.9 | Version released |
cego | 29.04.2013 | 2.17.9 | Fix in CegoTableManager::insertDataTable Since rollback data was written immediate after insert, In case of aborted transaction ( e.g. constraint violation ), rollback entries might be invalid and could lead to database crash and corruption. The transaction rollback actions and log actions have been moved to the very end of the method. |
sysmt | 27.04.2013 | 5.0.0 | More work on Catalog Management and System Management |
sysmt | 26.04.2013 | 5.0.0 | Work on service management and operation management ( Maintain ) Introdcution of interface class SysMTDataPeer |
sysmt | 25.04.2013 | 5.0.0 | Work on Service Mangement Modules |
sysmt | 24.04.2013 | 5.0.0 | More work on Device Management |
cegojdbc | 23.04.2013 | 1.4.8 | Small patch in class CegoStatement method getResultSet. If no rows habe been selected, an empty result set is created now instead of resturing a null pointer. |
sysmt | 23.04.2013 | 5.0.0 | Admin modules for group and user management have been mapped to vaadin. The most basic issues with vaadin seemed to be solved |
cego | 15.04.2013 | 2.17.9 | In CegoDbThread::job the append and autocommit mode are reset to default values after a db session was finished. |
sysmt | 15.04.2013 | 5.0.0 | Evaluation of vaadin web technology for next generation implementation |
sysmt | 11.04.2013 | 4.4.0 | More work an documentation in chapter service management |
cego | 11.04.2013 | 2.17.8 | Version released |
cego | 11.04.2013 | 2.17.8 | A fix added in CegoDatabaseManager::useObject An already shared locked object could be accesed in write mode. cursor sysCur as select sysid as sysid from sysmt_system where srvid = :srvid; while fetch sysCur into (:sysid) = true begin delete from sysmt_system where sysid = :sysid; end; close sysCur; In some cases, the procedure code above might lead zu some ugly locking effects, since the active cursor table was modified in a non synchronized way. Wit the added fix, the code above leads to a deadlock situation ( as it must ). The procedure code rather should be replaced with var sysid int; :sysid = ( select min(sysid ) as sysid from sysmt_system where srvid = :srvid ); while :sysid != null begin delete from sysmt_system where sysid = :sysid; :sysid = ( select min(sysid ) as sysid from sysmt_system where srvid = :srvid ); end; |
cego | 10.04.2013 | 2.17.8 | Small fix in CegoDistManager::updateLocalDataTable Caused by debug code, exception msg was empty. Debug code was removed. |
sysmt | 08.04.2013 | 4.4.0 | More work on documentation Deployment of current alpha version on sysmt.lemke-it.com |
sysmt | 08.04.2013 | 4.4.0 | Version deployed on Demo system sysmt.lemke-it.com |
sysmt | 07.04.2013 | 4.4.0 | More improvements on HTML Layout |
sysmt | 07.04.2013 | 4.4.0 | Added device statistics. Some HTML design cleanup. Fixes for the system order workflow |
cego | 06.04.2013 | 2.17.7 | Version released |
cego | 06.04.2013 | 2.17.7 | Fix for plus-operator on string values This was not handled correctly in CegoFieldValue::add create table t1 ( a long, b string(20), c string(20)); insert into t1 values ( 1, 'XXX', 'GGG'); select b + c from t1; |
cego | 06.04.2013 | 2.17.7 | Added some fixes for aggregation queries nested in views. Attribute references have not been resolved correctly in all cases. E.g. create table t1 ( a long, b string(20)); create view v1 as select sum(a) as s from t1; select s from v1; was not resolved correctly |
cego | 02.04.2013 | 2.17.7 | Reduction of some non-informative exception stacks in CegoDistManager and CegoQuery |
sysmt | 02.04.2013 | 4.4.0 | More work on device management Introduction of component types |
cego | 02.04.2013 | 2.17.6 | Added a small bug fix in CegoExpr::checkAttr and CegoTerm::checkAttr. For some query cases, the attribute evaluation for the table cursor was not done correctly. ( e.g. select a from t1 where 100 - a > 0 ) In the above methods, the expression type or term type was not evaluated. This has been added. Note : A workaround with bracket enclosing did work ( e.g. select a from t1 where ( 100 - a ) > 0 |
sysmt | 30.03.2013 | 4.4.0 | More work on documentation |
sysmt | 26.03.2013 | 4.4.0 | Adapted sysmtexp and sysmtimp to modified database schema |
cego | 25.03.2013 | 2.17.5 | Version released |
cego | 25.03.2013 | 2.17.5 | Small fix in CegoAction::nextChar The _pC variable is verified to be not zero. In case of JDBC or DBD requests, empty query requests which are sent to the cego daemon, have crash it. |
sysmt | 21.03.2013 | 4.4.0 | Changed authorization to be managed internally by SysMT ( same technique as you see on my home page ) |
sysmt | 06.03.2013 | 4.3.0 | Work on database ports for postgres and oracle |
cego | 21.02.2013 | 2.17.4 | Version released |
cego | 21.02.2013 | 2.17.4 | Small fix for btrees in CegoBTreeNode::maxEntries() for calculation of NODE entries. In some cases, the wrong calculation lead to corrupted btree node entries. Current measurements for big data tables ( pagesize 8k, poolsize 500000 pages ) CGCLT > select count(*) from t1; +---------------------+ | AGGR | | count(*) | +---------------------+ | 100000000 | +---------------------+ 1 tuples ok ( 100.696 s ) CGCLT > create btree b1 on t1(a); BTree b1 created ok ( 3472.460 s ) |
cegojdbc | 18.02.2013 | 1.4.7 | Driver testsuite improvements |
cego | 17.02.2013 | 2.17.3 | Version released |
cego | 17.02.2013 | 2.17.3 | BugFix in CegoDistManager::stopDistTableSet Instead if addObject, removeObject methods have to be called. |
cegojdbc | 15.02.2013 | 1.4.6 | Session cleanup for forked connections |
cegojdbc | 14.02.2013 | 1.4.5 | Version released |
cegojdbc | 14.02.2013 | 1.4.5 | Added support for nested queries within one database connection. If a nested statement ist executed while another statement is open for the same connection, a new connection is forked to the database server. This allows to execute all nested statements in parallel. |
sysmt | 10.02.2013 | 4.3.0 | Code cleanup with dedicated request dispatchers for each module ( usr, grp, mt, etc. ) Introduction of different system types ( DB, Web ) to manage non-SAP systems |
cego | 08.02.2013 | 2.17.2 | Version released |
cego | 08.02.2013 | 2.17.2 | Fixes and further improvement on btrees. Changing the index array in CegoBTreeValue to a static array improved performance again. By using the reference constructor of CegoFieldValue in method CegoBTreeValue::comp and using new introduced method CegoFieldValue::comp increased also index creation performance. Measurements for index creation : 3M rows -> integer = 23 secconds, varchar = 22 seconds |
cego | 07.02.2013 | 2.17.2 | Another performance improvement for btrees. For index creation, the root node buffer page now stays fixed in the buffer pool. This results in another 10 percent index creation speedup 1M rows -> 8 sec Index creation time seems to be limited by the current cego bufferpool and datafile management which is needful for administration reasons. So another improvements result in a paradigm change, which is actually not planned. |
cego | 06.02.2013 | 2.17.2 | Another small performance improvement was made in CegoFileHandler::allocatePage. With the doAppend flag set to true, new pages are allocated at the end instead of searching a free slot from the beginning. The flag has been activated for btree creation, which speeds up index creation for another 10 percent now 1M rows -> 9 sec ---- Default number of sempahore have been increased to a prim value of 911 for all semaphore types |
cego | 06.02.2013 | 2.17.1 | Version released |
lfcbase | 06.02.2013 | 1.4.1 | Version released |
cego | 06.02.2013 | 2.17.1 | After measurements with optimized btrees, performance improvements have been observed of about 30 percent. Index creation time for integer values 1m rows -> 10 seconds ( before 15 seconds ) A page size of 4k seems to be the best for tuple insert and index creation All measurements on bigmac with OSX 10.8.2 and Intel Core i7 and 16GB Memory |
lfcbase | 06.02.2013 | 1.4.1 | Small adaptions for AVLTrees |
cego | 06.02.2013 | 2.17.1 | Optimization on BTree index objects. Since node entries are orders, search for values inside one node has changed from O(n) to O(log(n)) |
cego | 04.02.2013 | 2.17.1 | Adapted database utility cgmkdb for multi-tableset support |
cego | 04.02.2013 | 2.17.0 | This version uses the AVlTreeT lfc base class to optimize grouping and ordering Version released |
lfcbase | 04.02.2013 | 1.4.0 | Version released |
lfcbase | 03.02.2013 | 1.4.0 | Added AVLTree to the foundation classes. Deletion of nodes still not implemented |
cego | 31.01.2013 | 2.16.1 | There is still a performance and stability lack in case of big ordered or grouped result sets. Ordering and grouping results are stored in binary trees in memory, which are still NOT balanced. The trees will be balanced with version 2.17 |
cego | 28.01.2013 | 2.16.1 | Version released |
cego | 28.01.2013 | 2.16.1 | Adaptions for CegoXPorter to export and import btree objects |
cego | 27.01.2013 | 2.16.0 | Version released |
cego | 27.01.2013 | 2.16.0 | Completed btree implementation for unique and non-unique btree objects. Primary btrees still in work .. |
cego | 26.01.2013 | 2.16.0 | Further performance analysis for BTrees With a page size of 4k, performance increases significantly For an integer index on a table of about 1 million rows, creation time is about 36 sec. |
cego | 26.01.2013 | 2.16.0 | Completed CegoBTreeCursor cursor for all search cases. Integration of Btree logic in CegoTableManagar::insertDataTable and deleteDataTable Still to do : implementation of CegoBTreeManager::deleteBTree |
cego | 24.01.2013 | 2.16.0 | CegoBTreeCursor basically works. Still some work to treat all condition cases which are needed. |
cego | 23.01.2013 | 2.16.0 | Integration of btree into CegoTableManager & friends to treat deletion, altering, contraint checking, import and export, etc |
cego | 23.01.2013 | 2.16.0 | As expected, BTree space consumption is much less then AVL trees requires For a table of 500k rows, the following index sizes for an integer column have been measured BTree : 679 pages AVl : 2315 pages Creation time was nearly identical for both types ( about 30 seconds ) ( all measured on iMac 2.66 GHz Intel Core 2 Duo, 2 GB DDR3 RAM ) |
cego | 23.01.2013 | 2.16.0 | More work on btree implementation. Added page count and drop logic, which is specific for the btree page structure. |
cego | 22.01.2013 | 2.16.0 | Further syntax expansion for btree index operations ( list btree, delete btree .. ) The first performances tests indicated, the btree creation time is faster than AVL index tables 200000 tuple AVL : 10 sec BTree 7 sec I assume, than creation time for btree objects increases linear, which makes it useful for large tables ( rowcount > 10^7 ) |
cego | 21.01.2013 | 2.15.9 | BTree insert operation basically works. |
cego | 21.01.2013 | 2.15.9 | More work was done on BTree-Index Type. All required classes are added and integrated. Implementation of insert algorithm started. |
cego | 19.01.2013 | 2.15.9 | Code preparation for introduction of btree+ index support. Renaming CegoIndex.. to CegoAVLIndex... New class CegoBTreeIndexManager and CegoBTreeIndexCursor. |
cego | 15.01.2013 | 2.15.8 | Bug fix in CegoQueryHelper::evalAttrCond The return value for the evaluation of isLike predicates was not correct in all cases. For example the following query could lead to wrong results select * from t1 where a = 1 and lower(b) like '%bet%'; The second condition was not evaluated correctly and was ignored. Bug was trivial fixed by returning PARTITIAL value, if the checkAttr method did not return a valid atttribute |
sysmt | 15.01.2013 | 4.2.1 | More work on online documentation |
cego | 15.01.2013 | 2.15.8 | Small improvement in CegoDataPointer. Ids are stored in an array now, which should reduce memory copy operations for encoding and decoding. |
cego | 12.01.2013 | 2.15.7 | Version released |
cego | 11.01.2013 | 2.15.7 | Fix in CegoTransactionManager. Method commitUpdate was cleaned and reworked including a fix for a bufferFix leak. The leak occured for updates, where the virgin index has to be treated. |
cego | 09.01.2013 | 2.15.6 | Version released |
cego | 09.01.2013 | 2.15.6 | Relocation, copy and switch tests all have been succesful. There are still heavy leaks on distributed queries. This also includes support for the serial protocol. |
sysmt | 09.01.2013 | 4.2.1 | More work on online documentation, regarding system and thread management |
cego | 08.01.2013 | 2.15.6 | Introduced admin command "reset tableset". This command tries to bring back a tableset to a defined single node state on the primary host, if any exception occurs. |
cego | 08.01.2013 | 2.15.6 | First distributed recovery tests with modified RecoveryManager have been successful. A full roundtrip could be performed stable - relocate secondary to B ( start distributed mode ) - copy tableset to secondary B - switch tableset to B - copy tableset to A - switch tableset to A - and again .... The procedure still seems to be pretty fragile, any exceptions lead to undefined system states ... |
cego | 07.01.2013 | 2.15.6 | The lsn logic for the recovery procedure still was pretty buggy. So the recovery logic was completely reviewed in terms of local recovery ( single node ) and remote recovery ( distributed mode with log file shipping ) Still under time consuming testing ... |
lfcbase | 07.01.2013 | 1.3.7 | removed install file from base directory. The file lead to build problems on FreeBSD |
cego | 06.01.2013 | 2.15.5 | Version released |
lfcbase | 06.01.2013 | 1.3.6 | Version released |
cego | 06.01.2013 | 2.15.5 | Adaptions for new CommandExecuter constructor ( lfc version 1.3.6 ) |
lfcbase | 06.01.2013 | 1.3.6 | Fixes on CommandExecuter class. Also the constructor was expanded to set up an appropriate execution shell path |
cego | 03.01.2013 | 2.15.5 | Small fix in CegoDbHandler::getMoreTableData In case of query abort, error message was not setup correctly. |
cego | 02.01.2013 | 2.15.5 | Changed admin command "remove user" to "drop user" |
cego | 31.12.2012 | 2.15.5 | Fix in CegoMain::runDaemon If an sql init file is set up, the authorization check must be disabled, otherwise the query fails, if any objects are accessed. This is done by calling the tablemanager disableAuth method. |
cego | 31.12.2012 | 2.15.5 | Small format fix for show tableset admin command |
cego | 31.12.2012 | 2.15.4 | Version released |
cego | 31.12.2012 | 2.15.4 | Small fix in CegoAdminThread::getDetailedTSInfo for total page calculation. In case of offline tableset state, datafile size is read from the xml configuration file |
cego | 30.12.2012 | 2.15.4 | Adaptions for backup with external sync command |
cego | 30.12.2012 | 2.15.3 | Version released |
cego | 30.12.2012 | 2.15.3 | Small adaptions for log files handling. Added leading zeros to archive log files ( e.g. TS1-000000012121.dbf ) |
cego | 29.12.2012 | 2.15.3 | Fixes for point-in-time recovery |
cego | 27.12.2012 | 2.15.2 | Version released |
cego | 25.12.2012 | 2.15.2 | More work on recovery and log management. Expanded admin commands to set and get external log manager information |
cego | 24.12.2012 | 2.15.2 | Small fix for tableset recovery, object registration added after tableset recovery |
cego | 23.12.2012 | 2.15.2 | Small fix for tableset import and export error handling If the tableset is not online, an appropriate error message is written |
cego | 18.12.2012 | 2.15.1 | Version released |
lfcbase | 18.12.2012 | 1.3.5 | Version released |
cego | 18.12.2012 | 2.15.1 | Fix in CegoClient for error handling in command mode Removed a cout in CegoTableCursor |
lfcbase | 18.12.2012 | 1.3.5 | Small fix in GetLongOpt::parseOpt If the option value contains = characters, the tokenizer has handeled it wrong. This has been fixed in a way, that all subsequent tokens are concatenated to the value |
cego | 18.12.2012 | 2.15.0 | Version released |
cegojadm | 17.12.2012 | 1.5.0 | Added BUStat Info to tableset menu ( requires cego version 2.15.x ) |
cego | 17.12.2012 | 2.15.0 | Added backup stat system table. This table logs all executed begin and end backup command. For both admin commands a message option as been added to write a corresponding context. |
sysmt | 15.12.2012 | 4.2.1 | Small design fixes, work on online documentation |
sysmt | 12.12.2012 | 4.2.0 | Version released |
sysmt | 10.12.2012 | 4.2.0 | Cleanup and web deesign work done for 4.2 This version brings fresh google fonts and modern light look to the application |
cego | 20.11.2012 | 2.14.1 | Version released |
cego | 20.11.2012 | 2.14.1 | Some corrections and extentions for cgadm online help |
lfcbase | 18.11.2012 | 1.3.4 | Version released |
lfcbase | 16.11.2012 | 1.3.4 | In the method File::writeByte, the case was untreated that the write system call writes less than the number of bytes given. To handle this siuation, the method was expanded to repeat the write call untill all bytes have been written -------- if ( ( numbyte = ::write(_fd, buf, bufsize)) == -1 ) { Chain msg = Chain("Write system error for ") + _filename + Chain(" : ") + Chain(strerror(errno)); throw Exception(EXLOC, msg); } while ( numbyte < bufsize ) { unsigned long n; if ( ( n = ::write(_fd, (char*)((unsigned long)buf + numbyte), bufsize - numbyte)) == -1 ) { Chain msg = Chain("Write system error for ") + _filename + Chain(" : ") + Chain(strerror(errno)); throw Exception(EXLOC, msg); } numbyte += n; } |
cego | 15.11.2012 | 2.14.1 | Small fix added for datafile creation. Caused by the changes for distributed admin queries, double entries have been created in the database configuration file. |
sysmt | 17.09.2012 | 4.1.2 | Version released. This version adds small extensions for thread and system management |
cegojadm | 15.09.2012 | 1.4.0 | Version released. This version is required in combination with cego version 2.14.x |
cego | 15.09.2012 | 2.14.0 | Version released. Please note, that this version includes changes for the admin protocol. This results in an incompatibility to older versions of cgadm or CegoAdm( Java GUI ). Regarding the Java Admin Frontend, version 1.4.0 is required. |
cego | 13.09.2012 | 2.14.0 | Since several admin network protocol changes have been made, lift up to version 2.14 was required. These changes are also synced to CegoAdm 1.4 In general, all changes are for cleanup and stabability purposes With the current version, the complete cego-cycle ( create db on primary, relocate to secondary, copy to secondary, switch to secondary, copy to primary and switch to primary ) works stable fro normal operation |
cego | 13.09.2012 | 2.13.12 | More work on distributed features with stabability fixes |
cego | 11.09.2012 | 2.13.12 | Build up of development to proceed with cego distribution mode features. For this, FreeBSd jails cego01, cego01 and cego03 have been set up. Since the distribution mode not maintained for a pretty long time, several stability and cleanup fixes are required. First fixes are included for clean daemon startup, tableset creation, copy and switch. Still many more things to do ... |
cegojadm | 09.09.2012 | 1.3.2 | Added db threadinfo last action popup for db thread info panel |
cegojdbc | 06.09.2012 | 1.4.4 | Version released |
cegojdbc | 06.09.2012 | 1.4.4 | Small fix for CegoResultSet in case of empty query results.
In this case, the metaData variable is allocated with
an empty field array ( instead of leaving a null pointer )
public CegoResultSet()
{
List |
cego | 05.09.2012 | 2.13.11 | Version released |
cego | 05.09.2012 | 2.13.11 | Fixed a bug in CegoDistCursor::evalCondition In case of is-like and is-not-like expressions, the evaluation was not correct for all cases |
cego | 05.09.2012 | 2.13.11 | Added init mode for cego program. The init mode is used to create an initial database xml file. ( until now, this has to be done manually by script or text editor ) This adds some configuration comfort for the database admin ... |
cego | 05.09.2012 | 2.13.11 | Small output adaptions for cgadm |
cego | 04.09.2012 | 2.13.10 | Version released |
cegojadm | 04.09.2012 | 1.3.0 | Version released |
cego | 03.09.2012 | 2.13.10 | Changed add permission admin command to set permission command. This implements a combined create and update function for role permissions. Changed result message handling for CegoAdminThread for appropriate information handling in CegoAdm |
cego | 02.09.2012 | 2.13.9 | Version released |
cego | 02.09.2012 | 2.13.9 | Fix in CegoIndexManager::insertIndexTable. In case of active transactions, tuple state OBSOLETE ( just tuple state DELETED ) was not treated and might lead to duplicate index exceptions for multiple updates |
cegojadm | 26.08.2012 | 1.2.3 | Complete code review and redesign to adapt to current cego backend |
cegojadm | 26.08.2012 | 1.2.2 | initial entry |
cego | 26.08.2012 | 2.13.9 | Added thread load calculation for admin and log threadPool. |
cego | 18.08.2012 | 2.13.9 | Added thread load calculation for DbThreadPool. This gives an overview about the average usage of all database threads |
cego | 14.08.2012 | 2.13.8 | Version released |
cego | 14.08.2012 | 2.13.8 | Added some admin features for tableset definition. After a tableset is defined, parameters now can be changed using the set command ( e.g. set syssize 2000 for TS1; ) Furthermore, verbose mode was added, to give more information in case of distributed cego mode. For singel node operation, normal mode is more useful. |
cego | 05.08.2012 | 2.13.7 | Version released |
cego | 05.08.2012 | 2.13.7 | Fix in CegoDistCursor::getTuple for inner joins. Inner joins have not been used until now, so this is rather a basic fix |
cego | 03.08.2012 | 2.13.7 | Fixed a small bug for nested aggregation queries ( CegoSelect::initAggrgation ) The aggregation value has not been initialized, which lead to wrong aggregation results for nested queries e.g. select thrid, ( select max(logts) from threadlog tl where tl.thrid = t.thrid ) from thread t; |
cego | 28.07.2012 | 2.13.6 | Version released |
cego | 28.07.2012 | 2.13.6 | In CegoAdminThread::medAddDataFile and srcAddDataFile, added checkpoint after adding a datafile. This avoids inconsitency, if a datafile was added and the server crashs before the next checkpoint was written. |
cego | 22.07.2012 | 2.13.6 | Small fixes for cgclt profile mode ( serial parameter was not used ) |
lfcxml | 21.07.2012 | 1.0.27 | Version released |
lfcbase | 21.07.2012 | 1.3.3 | Version released |
cego | 21.07.2012 | 2.13.5 | Version released |
sysmt | 20.07.2012 | 4.0.1 | Package released |
cego | 17.07.2012 | 2.13.5 | Finished work for MinGW adaptions. Since the db seems to work fine, there are still some problems regarding signal catching and terminal emulation. Ctrl-C ist still not catched properly and for cgclt, cursor keys are not working in interactive mode ( seems to be a problem of the pdcurses library ) . |
cego | 16.07.2012 | 2.13.5 | Some small adaptions made for smooth MinGW32 compile In class CegoDbHandler, changed enum identifier DELETE to DELETETAB Actually, no shared libraries are build |
lfcxml | 16.07.2012 | 1.0.27 | Some small adaption made in Makefile for smooth minGW32 compile |
lfcbase | 16.07.2012 | 1.3.3 | Some small adaptions made in Makefile and class Net for smooth MinGW32 compile |
cegojdbc | 14.07.2012 | 1.4.2 | Driver version released |
cego | 14.07.2012 | 2.13.4 | Database version released |
cegojdbc | 13.07.2012 | 1.4.2 | According to cego-2.13.4, changed separator sign for serial encoding from ! to ^ and introduced SER_EESCAPE encoding |
cego | 13.07.2012 | 2.13.4 | Small fix on serial encoding. The ESIGN in CegoSerial has been changed from ! to ^ Furthermore the ESIGN is escaped to !^& |
cegojdbc | 13.07.2012 | 1.4.1 | New driver released. This driver contains some fixes for the serial protocol implementation. An improved DriverTest main class has been implemeted to check the driver with a database backend |
cego | 13.07.2012 | 2.13.3 | Database version released. This version contains some performance improvements regarding network packet handling. For this, the new introduced methods in the lfc-1.3.2 library are used |
lfcbase | 13.07.2012 | 1.3.2 | Package released |
cego | 11.07.2012 | 2.13.3 | Improvements made for the serial network protocol. In combination with the extended NetHandler and Tokenizer base classes ( lfc-1.3.2 ), some ( expensive ) memory copy operations could be avoided. This increaess network performance for about 30%. The improvement is especially seen for large query results Before memory copy optimization ================================ Cego JDBC Driver Test Basic select test ... 510135 rows => 5.678 sec With memory copy optimization ============================= Cego JDBC Driver Test Basic select test ... 509905 rows => 4.102 sec About 1 sec is used by the JDBC driver itself, so server side performance increased from 4.6 sec to 3.1 sec ( => about 30 % ) |
lfcbase | 07.07.2012 | 1.3.2 | Added new constructor for class Tokenizer to tokenize character streams Tokenizer(char* buf, int bufLen, .... ) |
lfcbase | 06.07.2012 | 1.3.2 | Added method NetHandler::concatReset and NetHandler:concatAdd to build network message in a more efficient way |
cegojdbc | 02.07.2012 | 1.4.1 | Some small performance improvements on the driver. Instead of hash table, the row data is stored into an array. The speeds up read performance for another second regarding a select query with 500k tuples as the result set ( from 6 sec to 5 sec ) It has been analyzed, that the driver calculation on client side now is about 1 second for 500k tuple. Further improvements can be done on server side to increase read performance regarding high volume results ( class CegoDbHandler and base class Net can be implemented more efficient by avoiding expensive memory copy operations ... ) |
cego | 01.07.2012 | 2.13.2 | Database version released |
cegojdbc | 01.07.2012 | 1.4.0 | New driver released |
cegojdbc | 30.06.2012 | 1.4.0 | First performance comparison indicates the difference between XML and serial protocol XML === Cego JDBC Driver Test Basic select test ... 510135 rows => 13.344 sec Serial ====== Cego JDBC Driver Test Basic select test ... 510135 rows => 5.678 sec |
cego | 30.06.2012 | 2.13.2 | Small fix for error message handling in CegoDbHandler for XML protocol. The error message got lost with the serial implementation |
cegojdbc | 30.06.2012 | 1.4.0 | Serial protocol expansion for procedures and blobs done |
cegojdbc | 29.06.2012 | 1.4.0 | Added class CegoEscapeTokenizer to extend StringTokenizer. This allows to handle escapes for the delimiter character which is required by the serial protocol CegoDatagram was renamed to CegoNetMsg. This class should encapsulate all protocol logic including XML keywords. |
cego | 29.06.2012 | 2.13.2 | Fix in CegoSelect for the rowlimit option. For ordered queries, the evaluation was not correct. The limit evaluation has been moved from method nextResultTuple to nextTuple |
cegojdbc | 29.06.2012 | 1.4.0 | Added support for the serial protocol Basic queries work, still something to do for more sophisticed queries like procedures and blobs |
cego | 22.06.2012 | 2.13.2 | It is strongly recommended to use the improved lfc-1.3.1 base library. Performance improvements up to 300% (!) have been observed |
lfcbase | 22.06.2012 | 1.3.1 | Added static string buffer to chain class. This avoids dynamic memory allocation for small strings and should result in performance improvement |
cego | 21.06.2012 | 2.13.2 | Small adaption to CegoAdmAction to abbreviate long hostnames |
cego | 17.06.2012 | 2.13.2 | Added protocol attribute to client profile entry |
sysmt | 15.06.2012 | 4.0.1 | Testentry |
sysmt | 15.06.2012 | 4.0.0 | Initial entry |
cego | 20.05.2012 | 2.13.1 | Small fix for desc procedure command. Parameter type and size have not been indicated correctly. |
lfcbase | 13.05.2012 | 1.3.0 | Expansion of Tokenizer to support escape characters ( required for cego-2.13 ) |
cego | 12.05.2012 | 2.13.0 | The new version fixes a bug in CegoIndexCursor. The buffer pool fix for the data pointer (dataLock ) was not hold which might lead to invalid memory pointers from the calling method. |
cego | 02.05.2012 | 2.13.0 | Work on new version. This version supports a native client protocol which is expected to be much faster. ( XML generation and parsing seems to be pretty much overhead ) For comparison reasons, both protocols are supported and can be selected at daemon runtime. |
lfcbase | 30.04.2012 | 1.2.1 | Fix in equal-operator for Tokenizer ( esc was missing ) |
cego | 25.04.2012 | 2.12.8 | Bug fix for system table selection ( select * from $table ... $index
.. ) Column id was not set in CegoSystemObject::getObject, which lead to null values with optimized decoding algorithm Forced compilation of stored procedures, if "desc procedure" is called on uncompiled procedure |
cego | 09.04.2012 | 2.12.7 | Fixes for outer join queries in combination with multidimensional
index values ( in some situations, this lead to wrong results .. see check035.sql in the sample db directory) Fix in CegoTableManager::keyReferenceExists, the table cursor setup return value was not handled correctly. |
cego | 07.04.2012 | 2.12.6 | Fix for insert-by-select queries in stored procedures. The procedure block pointer was not set up, so procedure variables have no been resolved. Relevant for queries like: insert into t1 select :a, "XXX" from t2 Fix in CegoProcedure for parameter check ( procedures with no arguments and return value ) Added further checks to the chkdb sample db |
cego | 05.04.2012 | 2.12.5 | Another fix for FLA-Cache has been added ( cache clearing completion for case conditions, functions and aggregations ) |
cego | 04.04.2012 | 2.12.5 | Fix in CegoLogRecord to avoid compiler warning with clang++ Fix in CegoCLient for correct fixed type in dump file |
cego | 04.04.2012 | 2.12.4 | Fix in CegoLogRecord to avoid compiler warning with clang++ Fix in CegoCLient for correct fixed type in dump file |
cego | 31.03.2012 | 2.12.3 | Small fvl decoding bug fix in CegoQueryHelper::decodeFVL occured with performance enhancements and null value fields |
cego | 30.03.2012 | 2.12.2 | Made some performance fixes - elemination of debug messages - improved version of CegoQueryHelper::decodeFVL ( linear approach) - FLA-Cache in CegoFactor |
cego | 29.02.2012 | 2.12.2 | Added distinct option for aggregation ( select count( distinct a) from t1 ) |
cego | 22.02.2012 | 2.12.2 | Fix in CegoAttrDesc::evalReferences, the tablename was not compared with the alias value. The code has been changed from: if ( _tableName == (Chain)pCO->getTabName() ) to if ( _tableName == (Chain)pCO->getTabName() || _tableName == (Chain)pCO->getTabAlias() ) |
cego | 19.02.2012 | 2.12.2 | Fix in CegoAdminThread::medVerifyTableset and CegoAdminThread::correctTableSet. The tableset user was not set up correctly, which lead to an authorization problem |
cego | 16.01.2012 | 2.12.1 | Fixed some problems occured with AIX 6.x In CegoBufferPool::initPool, invalid memory was written LIBOBJECTS fix in Makefile ( removed CegoJoinObject, not needed, but referenced class CegoPredDesc ) |
cego | 15.01.2012 | 2.12.0 | Changed to lfc-1.2.0 with IP v6 support.In the database XML file, now a static host binding supported to specify the server host, which should be used ( HOSTNAME attribute ) |
lfcbase | 15.01.2012 | 1.2.0 | Added IP v6 support to the Net class |
cego | 24.12.2011 | 2.11.8 | Small cosmetic grammar change for export and import admin command ( export xml instead of xml export ) and checkpoint setting ( set checkpoint instead of checkpoint ) Improved online help for cgadm Exception handling fixed in case of unknown tablesets ( cgclt in interactive mode ) |
cego | 10.12.2011 | 2.11.8 | Small fix in CegoFunction::DATE2STR. In case of null values, the result was undefined. Now null string is returned. |
cego | 11.11.2011 | 2.11.7 | Added the chkload load simulation script in the sample/chkdb directory. The cgblow program was improved and configuration is more flexible now. Online help improvements for cgadm. Parser fix for cgadm user trace enabling command. |
cego | 08.11.2011 | 2.11.6 | Some code fixes to avoid warnings for clang compiler ( CegoXMLSpace.cc and CegoPredDesc.cc ) In CegoAction constructor, the variable _procContext now is initialized to false. This was detected with FreeBSD 9.0 tests, the boolean vars seem to be initialized as true. Another bug has been fixed in CegoDbThread::checkReloadRequest(). Before removing the ts entry from the list, the assignment int ts = *pTS; must be executed. |
cego | 06.11.2011 | 2.11.5 | Repeated crash recovery test ( chkrecover in sample/chkdb ) is running stable now for insert / delete TA operations with three clients. Actually, penetration tests on FreeBSD are going and and if successful, the version is going to be released... |
cego | 05.11.2011 | 2.11.5 | Improved crash recovery ist tested now in several situations. Online admin help has been improved |
cego | 22.10.2011 | 2.11.5 | Finishes crash recovery for the renamed rb segements. A simple trick is used : For each committed ( or rollbacked ) entry in the rbseg table, the tuple tid is set to the current tid. So in case of a crash recovery and a repeated commit or rollback, these entries are ignored |
cego | 18.10.2011 | 2.11.5 | Fix for nextcount and setcount function in CegoFunction::asChain. The function arguments have not been generated correctly |
cego | 15.10.2011 | 2.11.4 | Cosmetic changes in CegoClient regarding error messages Improved transaction exception handling : Before commit or rollback, the corresponding segment is renamed to rbcommit or rbrollback. This enables an appropriate recovery of ongoing commit and rollback operations after a crash. ( crash recovery for the renamned segemnts is still todo ) |
cego | 12.10.2011 | 2.11.4 | Performance improvement regarding join optimization. The method CegoQueryHelper::evalAttrCond was madified in a way, that a more precise decision could be done for using any appropriate index. ( instead of boolean, now the method returns a enumeration INAPP, PARTIAL or COMPLETE ) This improves select performance in some special cases dramatically. |
cego | 09.10.2011 | 2.11.3 | Dump mode fix for export strings containing newlines.Newloines have not been escaped. Newline handling fix for quote escape mode ( newline and other escaep characters have been not translated during input scan ) |
cego | 08.10.2011 | 2.11.3 | A fix has been added for new transaction handling. If no modifying operations have taken place, the commit/rollaback operations resulted with an error. The method CegoSelect::consolidateConjunctionList has been improved to handle or-conditions ( conditions should be not consolidated, if they contain or-conditions, otherwise index could not be used ) ( e.g. select * from t1 where a = 1 and ( b = "a" or b = "b") ) |
cego | 22.09.2011 | 2.11.2 | Added record timeout tuning parameter Adjusted default semaphore definitons in cgmkdb ( 2141 for page and rec sema, 1013 for file and pool sema ). This better avoids deadlocks in case of concurrent transactions. |
cego | 19.09.2011 | 2.11.2 | Performance improvements in CegoTransactionManager. For each transaction, now a dedicated transaction file is created instead of storing the undo information into a single file. In case of concurrent transactions, this should improve performance. Furthermore, no more reorganisation of the RBSEG area is needed. |
cego | 12.09.2011 | 2.11.1 | Fixes for new role concept( e.g export and import of tablesets did not work ) Changed counter ids back to identifiers Added some datatype cast for decimal values |
cego | 10.09.2011 | 2.11.0 | New role and permssion concept added |
cego | 21.08.2011 | 2.10.14 | Thanks to Keve Nagy, the cgmkdb script was improved and stabilized very much. |
cego | 07.08.2011 | 2.10.13 | Change in CegoDatabaseManager::useObject to avoid deadlock for queries like: update t2 set a = ( select a from t2 where b = "ZZZ" ) where a = 1000; useObject now checks for the calling thread and handles subsequent useObject-calls of the same thread. |
cego | 05.08.2011 | 2.10.13 | Added structore option for client dump mode |
cego | 02.08.2011 | 2.10.13 | Improvements for cgmkdb script Added query optimization for like conditions the following execution plan: CGCLT > plan select shortdesc from sysmt_mtview where shortdesc like "Oracle Patch"; +----------------------------------------------------------------------+ | PLAN | | DESCRIPTION | +----------------------------------------------------------------------+ | Execution plan | | --------------- | | Joining view sysmt_mtview (sysmt_mtview) | | View plan for sysmt_mtview | | --------------------------- | | Joining table sysmt_project (prj) with Full table scan | | Joining table sysmt_system (sys) with index trace on pid = prj.pid | | Joining table sysmt_mt (mt) with index trace on sysid = sys.sysid | +----------------------------------------------------------------------+ ok ( 0.012 s ) seems to be not optimal. It is rather useful to use the like condition for the table cursor inside the view. |
lfcxml | 25.07.2011 | 1.0.26 | Made destructors for XMLInStream and XMLOutStream virtual This solves a compile problem occured with the clang++ compiler ( version 3.0 ) |
cego | 24.07.2011 | 2.10.12 | Fix for aggregation queries. Complex queries like select sum(a) + sum(b) + sum(c), sum(a) - sum(b), avg(a), avg(b) from t2; did not work. Changed client profile format more compact ( pid:server:port:ts:prompt:user:pwd ) |
lfcbase | 23.07.2011 | 1.1.41 | Fix in BigInteger class for sub operator |
cego | 20.07.2011 | 2.10.11 | Added parameter length check for procedure in parameter Added basefunc script for advanced date functions ( second, minute, hour, day, month, year ) Fix in CegoFunction::evalFieldValue ( date2str(sysdate) returned wrong date ) |
cego | 20.07.2011 | 2.10.11 | Added parameter length check for procedure in parameter Added basefunc script for advanced date functions ( second, minute, hour, day, month, year ) Fix in CegoFunction::evalFieldValue ( date2str(sysdate) returned wrong date ) |
cego | 19.07.2011 | 2.10.10 | Fix im Makefile for script install Added configuration parameters for NUMLOCKTRIES, PAGELOCKTIMEOUT, FILELOCKTIMEOUT and POOLLOCKTIMEOUT The parameters can be setup in the database xml configuration file Fixes for setcount function ( CegoFunction::toElement, fromElement, toChain ) |
cego | 18.07.2011 | 2.10.9 | Expression order for between expressions was not correct ( for views ) Added README for FreeBSD rc setup Tools are now also installed in the cego bin dir ( cgmkdb, cgbackup and cgrecover ) |
cego | 09.07.2011 | 2.10.8 | Fix for unionselect ( empty jfl in CegoSelect::nextTuple before calling union select ) |
lfcbase | 09.07.2011 | 1.1.39 | Corrections on BigInteger and BigDecimal class. The division operation was not implemnted correctly for cases quotient larger than dividend ( e.g. 1.23 / 3456.7 ) |
cego | 08.07.2011 | 2.10.8 | Added cast from float to fixed, added cast from string to fixed |
cegojdbc | 07.07.2011 | 1.3.4 | Protocol adaptions for correct character encoding ( problems with umlauts öüä ) |
cego | 07.07.2011 | 2.10.7 | On Solaris x86, the CegoDbThread::loadObjects might lead to a core dump. This is, because a dedicated CegoAction instance was allocated for the method. Since this method is called by the forcereload option, many threads simultaniously are allocating this large instance, which might fail. Since there is no need to use a dedicated instance, the member variable _pPA is used for this. ( this effect was just observed on Solaris x86 platform ) The CegoDbThread::loadObject method was removed completely. This method is critical and due to dynamic object reloading, there is no more need of this method. |
cego | 03.07.2011 | 2.10.5 | Small fixes in CegoDbThread. The thread synchronisation of the load queue for dynamic object reloading has been fixed ( mutex are used now from the db thread pool ) The forceload option for tableset startup is also supported now for admin startup command For batch processing, the forced object load at startup has been removed ( for performance reasons ) and is done dynamically now. |
cego | 03.07.2011 | 2.10.6 | Small fixes in CegoDbThread. The thread synchronisation of the load queue for dynamic object reloading has been fixed ( mutex are used now from the db thread pool ) The forceload option for tableset startup is also supported now for admin startup command For batch processing, the forced object load at startup has been removed ( for performance reasons ) and is done dynamically now. |
cego | 02.07.2011 | 2.10.5 | Introduced the admin command "correct tableset". After a system crash, some index tables could be invalidated because they are written inconsistently ( for performance reasons ). The correct tableset command rebuild all invalidated index entries. Actually, this command has to be executed by the db admin manually. Introduced the tableset initfile. This is a batchfile containing standard db commands which is executed at tableset startup time. This file can contain initialization or check routines ( e.g. counter trigger to adjust counters after db crash ) Added setcount function to set up counter values in a stored procedure. |
cego | 30.06.2011 | 2.10.5 | Stabilization fixes for thread startup. In case of large thread configurations, the thread lock initialization error "Resource busy" was not catched at thread startup. It seems this might occur, if many thread are calling the pthread_rwlock_init system call at the same time. So the thread lock init method was moved to the constructor, which is called sequentially for all db threads. |
cego | 28.06.2011 | 2.10.4 | More fixes for new join optimization in CegoDistCursor, CegoAttrCond and CegoSelect Multidimensional indexes still have not been used for all required cases. View condition in CegoDistCursor was not reset, which might lead to wrong view results. |
cego | 27.06.2011 | 2.10.4 | Small change in CegoAttrCond::getFilterCond. The attribute condition is provided in appropriate order for the given schema. This is necessary for multidimensional indexes to ensure a valid comparison. Improved thread synchronisation for db thread pool ( syncToReady method introduced ). Some logic has been moved to syncToReady since large db thread pool configurations ( > 200 ) lead to a crash at system startup phase |
cego | 26.06.2011 | 2.10.3 | Fix in CegoTableCursor::setup. The attribute condition has to filtered before creating an index cursor. Index cursor requires attr cond with complete match of all attribute fields, otherwise wrong results are returned Introduction of attr cond strength to use the best available index: select a from t1 where a = 1 and b < 100 uses index on a, because strength for "equal is stronger than "less than" |
cego | 25.06.2011 | 2.10.2 | Small fix in CegoAttrCond::setup to match attribute comparisons of type VAL Further fixes for attribute resolution, change of attribute condition handling in CegoDistCursor Cosmetic changes for stored procedures and views. For the text, more line breaks are used now. |
cego | 24.06.2011 | 2.10.1 | All tests for 2.10.1 finished. The iworxs schema was a good test case to proof all the new features. |
cego | 23.06.2011 | 2.10.1 | Fix in CegoDbThread::checkLoadRequest. In some cases the server has crashed, since there was a lack of thread synchroninsation for the view and procedure loadList which comes with 2.10.0. Fix in CegoDatabaseManager::useObject, the EXCLUSIVE_WRITE case was not handled for SHARED requests. In CegoSelect, the attribute management was completely redesigned. Instead of instance variables of the CegoAttrDesc class, references are now managed. This gives a better control for valid and invalid attribute references. Join optimization for join objects has been expanded. Now indexes are better used inside nestes join objects. This feature is still under investigation. The execution plan has been expanded to get information for join objects including the used indexes. |
cego | 21.06.2011 | 2.10.0 | Elimination of many compiler warnings for the clang C++ compiler. This also brought up several bug fixes in the code. Thanks a lot to the clang team for these hints :) |
dragon | 20.06.2011 | 1.3.8 | Warning elemination for clang++ compiler |
lfcbase | 20.06.2011 | 1.1.38 | Warning elemination for clang++ compiler Completion in BigInteger for case -x - -x |
cego | 19.06.2011 | 2.10.0 | New feature added for multi dimensional index access and improved view condition setting in the CegoSelect class. These features are still under investigation. |
cego | 16.06.2011 | 2.9.6 | Fix in CegoGroupSpace::dropGroupSpace, _groupSchema was not set to empty, which micht lead to list position exceeded errors Further fixes in CegoDistManager, dynamic view reload strategy has been redesigned and stabalized ( mt problems had been detected ) This version has been extensively tested with different concurrent create, drop and select operations on views and seems to be pretty stable. |
cego | 13.06.2011 | 2.9.5 | Some fixes in CegoLockHandler ( introduction of count locks ), lock statistics disabling via command line switch ( nolockstat ) In CegoSelect, invalid tables are checked now ( this problem arises with view defintions including undefined sub objects ) |
cego | 13.06.2011 | 2.9.4 | Some fixes in CegoLockHandler ( introduction of count locks ), lock statistics disabling via command line switch ( nolockstat ) In CegoSelect, invalid tables are checked now ( this problem arises with view defintions including undefined sub objects ) |
cego | 12.06.2011 | 2.9.3 | Small fixes in CegoFieldValue::toChain regarding escape charater handling ( quotes and backslashes ) Changed view and procedure loading strategy. Views now are loadad on demand and may contain sub objects which are still unknown. On demand loading improves database startup time significantly. |
cego | 04.06.2011 | 2.9.2 | Fix in CegoTableManager::updateDataTable. Result of QueryHelper::getAttributeCondList was not checked on acl size = 1 Small grammar extension to support table alias for update and delete operations |
cego | 03.06.2011 | 2.9.2 | Fix for CegoSelect::nextJoinTuple. The jfl array is just set empty before calling evalSelection. Otherwise in case of no row result, the field is set to empty which may casue problems for some nested inner and outer joins. |
cego | 02.06.2011 | 2.9.2 | Another fix for inner joins. Evaluation was still not correct for all nested sub joins. Fixed alias problem in views: create view v1 as select a from .. sets up alias a from attribute a Fix in CegoPredDesc::toChain(const Chain& indent), string have not been generated correctly for ISLIKE and ISNOTLIKE |
lfcxml | 01.06.2011 | 1.0.25 | Increased MAXSTRINGLEN constant to 100000 |
lfcxml | 31.05.2011 | 1.0.25 | Added escape sequence to XMLEscapce::descape |
cego | 31.05.2011 | 2.9.1 | Fix for inner join statements. An additional where condition was no handled correctly, e.g.: select * from t1 inner join t2 on t1.a = t2.c where t2.d = "xxx"; Enoding enhancement for nested aggregation queries, e.g.: update t1 set a = ( select max(a) from t2 ); Fix in CegoXPorter::writeTableObject, the check for blob tables is just needed for plain exports Fix in CegoSelect for ordering handling. Native order list introducd to generate valid select statements. Fix in CegoTableManager::dropTable, getObjectListByTable now called with ignoreInvalid = false to reach invalid index to drop. |
cego | 29.05.2011 | 2.9.0 | Fix in CegoDistManager::dropLocalObject. For table drops, the corresponding indexes, keys and checks have not been removed from the object cache. This might lead to problems, if tables are removed and recreated. |
cego | 28.05.2011 | 2.9.0 | Added client dump mode to dump a tableset in SQL syntax. This extension results in some constant changes so tableset xml exports of earlier versions can not be used any more ( ! ). Also there are some incompatibilities to the JDBC-Driver. The CegoJDBC version 1.3.2 supports cego 2.9.0. |
cego | 27.05.2011 | 2.8.5 | Another fix for CegoSelect added. The reset function now takes a doRelease parameter to specify, if the open cursors should be released or not. This is required to use the reset method for any nested queries ( e.g. CegoFactor::evalFieldValue ), otherwise locking problem can happen. Fixed a loop bug in CegoQueryHelper::evalSelection ( missing i++ ). Queries like select t1.* from t1 have lost in a endless loop |
cego | 25.05.2011 | 2.8.5 | Fix in CegoFactor::evalFieldValue. There was missing a prepare call before evaluating the query. This might lead to evaluation problems in stored procedures. Fixed another memory leak ( CegoSelect::cleanUp() call _parentAttrRefList.Empty() ) |
cego | 24.05.2011 | 2.8.4 | Fix of some memory leaks which occur for some nested queries in views In class CegoFactor::evalFieldValue(), for pSelect handle, the cleanUp method was called. Is is rather useful to call reset in this situation to achieve faster query execution. Furthermore, some fixes have been done for the CegoSelect::reset method, to also reset aggDone flag and orderspace. |
cego | 26.04.2011 | 2.8.4 | Output format modifications for pool info and tableset info in admin monitor |
cego | 19.04.2011 | 2.8.4 | Added return value in CegoCheckpoint::CeckpointEntry::operator = |
cego | 18.04.2011 | 2.8.3 | Fix in CegoFunction::date2int and CegoFieldValue::castTo and others added. The current datetime evaluation returned zero ( e.g. select date2int(sysdate) returned 0 ) which is not appropriate for comparisons ( e.g. select a from t where a < sysdate ) since the sysdate evaluation returned 0. Now the sysdate evaluation returned the current number of seconds according to the Unix timestamp. This is now useful for datetime comparisons with sysdate. |
cego | 03.04.2011 | 2.8.2 | Added checkpoint management for periodic tableset checkpoints, if checkpoint interval has been reached. Tableset checkpoints can be managed via cgadm. Improvements made for real time monitor. Data is now locally cached and polling requests are limited to avoid heavy admin requests in case of windows refreshing effects. |
cego | 02.04.2011 | 2.8.1 | Added fix in CegoIndexManager::deleteIndexTable. In case IV, the nie IndexEntry was modified but the buffer was not released with a dirty mark. if (pageNE.isFixed()) _pTM->releaseDataPtrUnlocked(pageNE, true); // was false A problem occurs very rare, especially in case of very small pool configurations and if buffer writes are forced After crash recovery, touched indexes are automatically set to invalid because they might be inconsitent. These indexes must be recreated. |
cego | 01.04.2011 | 2.8.1 | Added fix for average aggreagtion function regarding null values |
cego | 28.03.2011 | 2.8.0 | Added more monitor options and improved information |
cego | 26.03.2011 | 2.7.20 | Small fix in CegoDbThread. If a tableset is stopped, for each db thread the transaction manager is triggered to release its fixed rbseg pages. If this is not done, buffer fix errors might occur if the tableset is started up again. void CegoDbThread::unloadObjects(int tabSetId) { _pTabMng->getTransactionManager()->release(tabSetId); // added _pTabMng->removeAllComp(tabSetId); } |
cego | 26.03.2011 | 2.7.20 | Small fix in CegoDbThread. If a tableset is stopped, for each db thread the transaction manager is triggered to release its fixed rbseg pages. If this is not done, buffer fix errors might occur if the tableset is started up again. void CegoDbThread::unloadObjects(int tabSetId) { _pTabMng->getTransactionManager()->release(tabSetId); // added _pTabMng->removeAllComp(tabSetId); } |
cego | 25.03.2011 | 2.7.19 | Added parameter count check for procedures. The class CegoProcVar has been expanded to store information for variable type and length instead of getting this information from the contained FieldValue member var. This seems to be more clean and avoid bad effects, if null value information should be stored in the param values. Before this expansion, it was possible to crash the database by calling procedure with wrong parameter count. Now this can not happen anymore also because parameter cound is checked now. |
cego | 22.03.2011 | 2.7.19 | Fix in CegoAction::insertBySelectStore. With the insert query expansion coming with 2.7.16, the insert by statement did not work any more. This patch fixes the problem. |
cego | 22.03.2011 | 2.7.18 | Fix in CegoAction::insertBySelectStore. With the insert query expansion coming with 2.7.16, the insert by statement did not work any more. This patch fixes the problem. |
cego | 14.03.2011 | 2.7.17 | Fix in CegoIndexCursor. The type assignment was not correctly in case of the following query select * from t1 where a = null; The value for the index was set to null too. Instead, now we take the type value retrieved from the index schema Fix in CegoXPorter::readTableObject for binary import mode ( table has not been created ). |
cego | 12.03.2011 | 2.7.16 | Syntax expansion for insert statments to support two dimensional array inserts: insert into t1 values (1,"xx"), (2,"yy"), (3,"zz"); |
cego | 11.03.2011 | 2.7.15 | Fix in CegoFieldValue constructor. If string sysdate is detected for type Datetime, the currect date is evaluated. An exception occured in case of Datetime default values in combination with table import. |
cego | 10.03.2011 | 2.7.14 | With the changed CegoOrderSpace code, the multidimensional ordering failed. This release adds a patch for correct multidimensional ordering like select a,b from t1 order by a,b |
cego | 06.03.2011 | 2.7.13 | Added pidfile command line option for cego daemon mode. This allows to specify the pidfile on command line level. If not set, the pidfile entry in the xml file is used. |
cego | 26.02.2011 | 2.7.12 | Small fix in CegoFieldValue for null value comparison ( operator > ) Fix in CegoXPorter for default value export |
cego | 19.02.2011 | 2.7.11 | Fix in CegoXPorter. Default values have not been exported with xmlExportTableSet method. Performance improvement for ordering. |
cego | 07.01.2011 | 2.7.10 | Fix in CegoSelect. The pointer variable pOrderSpace was not initialized to zero in the second constructor. This might lead to system crashes. I observed this in combination with stored procedures and cursors containing ordering statements. |
cego | 05.01.2011 | 2.7.9 | Fix in CegoMain. For import and export mode, the case sensitive flag was not defined yet. Since the value comparison during index creations depends on the flag, this might lead to wrong index trees. Also the quote escapce flag is set up now to the appropriate value. |
cego | 29.12.2010 | 2.7.8 | Column name check added in CegoTableManager::createDataTable ( create table t1 ( a int, a string(10)) still was accepted ) |
cego | 27.12.2010 | 2.7.7 | Cleanup of legacy lock handler orderlock methods. Renaming of tag MAXORDERSIZE to SORTAREASIZE. |
cego | 22.12.2010 | 2.7.6 | Cleanup of legacy ORDERSPACE object entries. |
cego | 12.12.2010 | 2.7.5 | Reimplementation has also done for the grouping space |
cego | 10.12.2010 | 2.7.5 | Cause by performance issues, the sort area ( OrderSpace ) was reimplemented. Since there is no need to store sorted data in the table space, the order space now is allocated in private heap memory This speeds up order performance significantely. Still there is missing an allocation limit to avoid uncontrolled sort area memory allocation. |
cegojdbc | 05.12.2010 | 1.3.0 | New implementation of the XML base protocol. Instead of JDOM, a native and reduced XML parser is used now. It was expected to achieve some performance improvements, which is still under investigation. The protocols can be switched in the Constant class by enabling one of the datagram values. public static int DATAGRAM_JDOM = 1; public static int DATAGRAM_XMLNATIVE = 2; // public static int DATAGRAM_SET = DATAGRAM_JDOM; public static int DATAGRAM_SET = DATAGRAM_XMLNATIVE; |
cego | 29.11.2010 | 2.7.4 | Removed LOGNAME token from CegoAdm.def ( no longer needed ) Fix in CegoDbThread::loadObjects. The reload method was not thread safe. Further, the tableset value for the CegoAction object _pPA was set to the target set for reloading. This might have confused running and active sessions. The CegoAction object is allocated locally now, so there is now conflict and no need for synchronisation |
lfcbase | 23.11.2010 | 1.1.36 | Fix in Chain::isNUm method. Empty strings have been validated as numbers. Fix in BigInteger class. The comparison operators < and > did not return correct values for zero value comparisons. |
lfcxml | 21.11.2010 | 1.0.24 | Small adaptions for clean Linux ( Ubuntu 10.10 ) compile |
cegodbd | 21.11.2010 | 1.1.14 | Fixes in XS-Code to compile clean for Ubuntu and Mac OSX |
cego | 21.11.2010 | 2.7.3 | Added more methods to the CegoAdmNet class. Small adaptions for clean Linux ( Ubuntu 10.10 ) compile ( include string.h and stdlib.h ) |
lfcbase | 21.11.2010 | 1.1.35 | Small adaptions for clean Linux ( Ubuntu 10.10 ) compile |
cego | 20.11.2010 | 2.7.2 | Another fix for the query cache was added, which should increase cache performance. A change in CegoProcFetch was made to allow to use proc fetch vars outside the current block ( constructor change from CegoProcVar to Chain, the variable is later on resolved using the pBlock reference ) |
cego | 18.11.2010 | 2.7.2 | Improved exception handling in CegoTableManager. In some cases, new allocated TableCursors have not been cleaned up in case of any thrown exceptions. This might lead to hanging locks. The exception handling has been cleaned for thsi module. |
cego | 17.11.2010 | 2.7.1 | A bug was fixed in CegoTableManager to avoid the following problem CGCLT > delete from sysmt_mtlog where sysid in ( select sysid from sysmt_system where pid = 10031 ); Error : list position exceeded Query failed ok ( 0.003 s ) This happened, if the result of the subselect was empty. The subselect was not prepared and analyzed correctly. This also may occured for update queries in a similar manner The problem was fixed by adding the following code to the methods CegoTableManager::deleteDataTable and CegoTableManager::updateDataTable CegoSelect *pSelect = pPred->getSelectQuery(); if ( pSelect ) { pSelect->setParentJoinBuf(&jfl, 1); } pPred->analyzeSelect(); A bug was fixed in CegoDistManager::startTableSet. In case of checkpoint writing, the max lsn was not set up correctly. This was fixed with the line maxlsn = writeCheckPoint(tableSet, true, false); |
cego | 14.11.2010 | 2.7.0 | With the new admin C++ API ( CegoAdmNet ), minor version was increased to 2.7 |
cego | 12.11.2010 | 2.6.21 | Improvements for grouping, replaced CegoFactor with CegoExpr in CegoAggregation class. This is a small optimization, since before the the expr was encapsulated in a factor. Furthermore, the grouping logic has been redesigned to support any selection order: select a,b, count(*) ... group by a,b ... or select count(*), a, b ... group by a,b ... Also expression evaluation in the selection has been added ( select 10*count(*), a ... group by a ) |
cego | 07.11.2010 | 2.6.21 | Introduction of CegoAdmNet. This is a admin client interface used later for the Perl CegoCtl module. Via the CegoAdmNet interface, a set of admin actions can be performed. |
cego | 06.11.2010 | 2.6.20 | Added query abortion for delete and update operations. In case of delete queries, there is no rollack performed so some of the tuples are deleted. Since updated are executed in any case inside a transaction ( forced or by user ), rollback is performed to the original table state. |
cego | 29.10.2010 | 2.6.19 | Added profiling for CegoClient. The enables a user to manage several cego db connections in a client rc file. |
cego | 28.10.2010 | 2.6.19 | Added check for tableset import. The name of the tableset in export file must match the name of the target tableset. This is required, since the tableset name occurs in view objects. To change tableset name, the XML export file should be edited to change the tableset name. This can be done using standard Unix string replacing methods ( sed ) |
cego | 18.10.2010 | 2.6.18 | Small bugfixes on CegoTerm::evalReferences and CegoNet::wasreset. No values were returned. This has been detected with Forte C Compiler on Solaris |
cego | 16.10.2010 | 2.6.17 | Join optimization fix on views. By the introduction of the CegoSelect::distIndexExists method, the index usage for view objects has been lost. This has been fixed by expanding the if-Statement to the distObjectExists check for views if ( _pGTM->distObjectExists(_joinList[i]->getTabName(), _joinList[i]->getTabSetId(), CegoObject::VIEW) || _pGTM->distIndexExists(_joinList[i]->getTabSetId(), _joinList[i]->getTabName(), pAC->getAttrName() ) ) Another fix has been done for query caching. In the CegoSelect::cleanUP method, the cache has been cleaned up and the isCached flag is reset to false. Otherwise, views will use the cached data for subsequent calls instead of refreshing the data on every new invokation. |
cego | 11.10.2010 | 2.6.16 | Query optimization added for nested queries. This has impact on queries, which contain nested subqueries with no external table references. E.g. select a from t1 where b in ( select t2.d from t2 where t2.c = 2 ); In this case, the result of the subquery is cached on first evaluation time and is reused for the next value retrievels. In case of complex subqueries ( with no external references), this might improve query performance significantly. |
cego | 08.10.2010 | 2.6.15 | Bug fix in CegoOutput::rowOut. The preFill variable was not set up correctly, which might lead to undefined value. As a result, this may lead to hanging output in case of some queries ( e.g. show view xxx ); The effect was observed on Solaris x86. |
dragon | 18.09.2010 | 1.3.7 | Changed access path for lfc library to plain lib path |
cegodbd | 18.09.2010 | 1.1.13 | Fixed a compiliation problem with new Cego C++ API 2.6.14 |
lfcxml | 17.09.2010 | 1.0.23 | Changed library install location to plain lib directory ( instead of lib/lfc ) |
cegodbd | 17.09.2010 | 1.1.12 | Changed cego access methods in accordance to Cego version 2.6.14 |
cego | 17.09.2010 | 2.6.14 | Changed library install location to plain lib directory ( instead of lib/cego ) Some adaptions for class CegoNet ( C++ programming interface ) |
lfcbase | 17.09.2010 | 1.1.34 | Changed library install location to plain lib directory ( instead of lib/lfc ) |
lfcbase | 13.09.2010 | 1.1.34 | Added NetHandler return value in Net::connect ( new connect method with timeout parameter ) |
dragon | 05.09.2010 | 1.3.5 | Support for lfc classes |
cegodbd | 05.09.2010 | 1.1.10 | Support for lfc |
cego | 05.09.2010 | 2.6.12 | Support added for lfc classes |
lfcbase | 05.09.2010 | 1.1.33 | Name change to lfc ( Lemke Foundation Classes ) to avoid naming conflicts |
lfcxml | 05.09.2010 | 1.0.21 | Name change to lfcxml ( Lemke Foundation Classes XML extension ) to avoid naming conflicts |
cego | 27.08.2010 | 2.6.11 | Extensions of the C++ API ( CegoNet::getAffected(), CegoNet::getProcResult() ) for retrieving query and proc results |
cego | 22.08.2010 | 2.6.10 | More efficient implementation of CegoDistManager::distIndexExists ( usage of native CegoTableManager methods to avoid tableset lookups avoided ) |
cego | 21.08.2010 | 2.6.10 | Exception handling improved in CegoXPorter Separated C-Wrapper and C++ Testprograms to samples directory |
cego | 19.08.2010 | 2.6.9 | Small fixes in CegoAdmin to catch some missing command line options Added CegoTableManager::setAppend method to active append mode inside TableManager. Append mode was not activated for statement stored in stored procedures. Added CegoDistManager::distIndexExists as required method for index check in CegoSelect The method checks for an available index for the corresponding attribute and is used by CegoSelect to decide, if an attribute can be used as a TableCursor condition. Before this check was implemented, in some cases, an available index was not used. This occured, because a table cursor was created already for a different attribute for whích no index exists ( first acl match ). Increased bufferpool lock timeout, to avoid timeout exceptions for large pool configurations ( got this exception with a 3.2 GB configuration ) In CegoDefs.h /* BufferPool lock timeout in msec this was increased becasue for large bufferpool configurations, timeouts may occur during checkpoint writes */ #define BP_LOCKTIMEOUT 300000 |
cego | 17.08.2010 | 2.6.8 | Continue with plain dump mode. Now three export/import modes are supported: xml - readable in ascci, slow performance, appropriate for all reorganisation and propagation issues binary - binary mode, fast performance, appropriate for all reorganisation and restricted propagation issues plain - plain mode, very fast performance, appropriate for page reorganisation and restricted propagation issues, no blobs possible |
cego | 16.08.2010 | 2.6.8 | Changed binary import and export to plain dump export. Restriction are blob values, which can not be exported with this method. ( rows are exported and imported as plain byte stream with no structure analysis ) This method increases import and export performance about 10 times. On my iMac with 2.66 GHz Intel Core 2 Duo, import performance is about 100k rows per second |
lfcbase | 15.08.2010 | 1.1.32 | Expanded File::readLine method to specify max line len Includes fixes for debian Linux Net::connect expansion to support timeout setting |
cego | 14.08.2010 | 2.6.8 | Introduction of CegoNet class to provide a more powerful C++ API |
cego | 13.08.2010 | 2.6.8 | Message cleanup in CegoAdminThread for several error handling messages. Fixes on distributed queries ( drop object, create index ) |
cego | 12.08.2010 | 2.6.8 | Added utility script mkcgdb Added multicolumn output format in CegoOutput for better message formatting: CGADM > start tableset TS1; +-----------+---------------------+-------------------------------+ | ADM | ADM | ADM | | ROLE | HOSTNAME | MSG | +-----------+---------------------+-------------------------------+ | mediator | dude.local | Tableset TS1 must be in | | | status offline to be started | +-----------+---------------------+-------------------------------+ ERROR : Admin action failed |
cego | 09.08.2010 | 2.6.7 | Append mode could not be disabled for update queries. This is fixed now. |
dragon | 08.08.2010 | 1.3.4 | Small fix for exception throw message in case of parse errors. |
cego | 03.08.2010 | 2.6.6 | In CegoAction::setObject123 added object name len check to avoid object names longer than MAX_OBJNAME_LEN |
cego | 26.07.2010 | 2.6.6 | Added encoding for CegoFunction. This was needed for check constraints containing a function, e.g. alter table xxx add check c1 on length(b) < 10 |
cego | 26.07.2010 | 2.6.5 | Added encoding for CegoFunction. This was needed for check constraints containing a function, e.g. alter table xxx add check c1 on length(b) < 10 |
cego | 24.07.2010 | 2.6.5 | Added admin command set logmng "path" to set up log manager program interactively. |
cego | 23.07.2010 | 2.6.5 | Added list check command to list all constraint checks. The drop check operation was still not implemented. Now completed. Added attribute check for create check operation. If no tuples are in the table, this avoid defintion of checks with unknown attributes. |
cego | 12.07.2010 | 2.6.4 | Fix in CegoSelect::filterPredRef. For the BETWEEN-Predicate the expressions have not been filtered, which leads to unknow attribute error, if the attribute just occured in the predicate ( and not selection list ) |
cego | 07.07.2010 | 2.6.4 | Added admin command list object for tableset to list all objects in a tableset. Added duplicate attribute check for create table command |
cego | 06.07.2010 | 2.6.4 | Small fix for admin command info tableset. GID was not indicated, TID double time. |
cego | 04.07.2010 | 2.6.3 | Some more small fixes regarding tableset propagation for distributed mode. Distributed mode works, but still seems to need some exception handling. |
cego | 03.07.2010 | 2.6.3 | Fixes in CegoBeatConnection, CegoMain, CegoMediatorThread for password handling. ( encrypted password was reencrypted ) |
cego | 02.07.2010 | 2.6.3 | Changed orderspace objects to fix pages in NOSYNC mode. This avoids forced check points in case of large sorts and small buffercache. Changed semaphore array sizes from 31 to 37 since this seems a much better value for spreading in the arrays. |
cego | 01.07.2010 | 2.6.3 | Added tableset array to start up n tableset in daemon mode ( --tableset=t1,t2,t3,.... ) Added method CegoDistTableManager::stopDistTableSet for cleanup of cached objects in CegoDatabaseManager |
cego | 30.06.2010 | 2.6.3 | Changed output for admin command info tableset to show the sum ( total + used ) of all data spaces ( system, temp, app ) |
lfcbase | 29.06.2010 | 1.1.32 | Added include of unistd.h to CommandExecuter. This was required to avoid compilation problems with Forte C compiler on Solaris/SPARC |
cegojdbc | 28.06.2010 | 1.2.20 | Changed to AES encyption ready for Cego version 2.6.1 |
cego | 28.06.2010 | 2.6.2 | Added set counter statement to set counters to an expression value |
cego | 28.06.2010 | 2.6.1 | Changed password encryption to AES |
lfcbase | 25.06.2010 | 1.1.31 | Added AESCrypt encryption class |
cego | 24.06.2010 | 2.6.0 | Protocol change to allow larger admin messages ( e.g. "message too long" error in case of admin command "list rec lock" and about 1000 rRecords locks are configured ) |
lfcbase | 24.06.2010 | 1.1.30 | Increased SIZEBUFLEN constant value in NetHandler class from 6 to 10 Note: This has impact to the network protocol ( e.g. CegoJDBC driver should be adapted ) |
cego | 22.06.2010 | 2.5.16 | Lock optimization made by introducing system record locks ( CegoLockHandler::lockSysRecord/unlockSysRecord ). These are record locks dedicated for records on system pages. Since these contain hot spot records ( during sustained inserts in CegoObjectManager::insertData ), often there can occur deadlocks on record locks by sustained insert and concurrent select operations. Deadlocks are avoided significantely now. |
cego | 22.06.2010 | 2.5.16 | Lock optimization made by introducing system record locks ( CegoLockHandler::lockSysRecord/unlockSysRecord ). These are record locks dedicated for records on system pages. Since these contain hot spot records ( during sustained inserts in CegoObjectManager::insertData ), often there can occur deadlocks on record locks by sustained insert and concurrent select operations. Deadlocks are avoided significantely now. |
cego | 18.06.2010 | 2.5.16 | Completed CegoFactor::getFieldList for function case to allow queries like select sum( date2int(a) ) from t1; |
cego | 17.06.2010 | 2.5.15 | Changed exception msg to use new getBaseMsg method from Exception class. |
lfcbase | 17.06.2010 | 1.1.29 | Added method Exception::getBaseMsg |
cego | 16.06.2010 | 2.5.15 | Fix in CegoFactor::evalFieldValue(). Exception for select evaluation in QUERY case was not catched. So no cleanup was made for the select handle and the locked object was not released. Added drop if exists clause to grammar for drop counter statement |
cegodbd | 14.06.2010 | 1.1.8 | Fix for null values. Add drop if exists clause to test scenarios to avoid error messages. Since the generation of the Cego.xsi file lead to compilation problems with gcc 4.x, this file was patches and is no more generated on the fly. |
cego | 13.06.2010 | 2.5.15 | Bug fixes for encoding and decoding in CegoAttrDesc::encode() and CegoAttrDesc::decode() This was detected, since the recovery for special update queries did not work |
cego | 13.06.2010 | 2.5.14 | Bug fixes for encoding and decoding in CegoAttrDesc::encode() and CegoAttrDesc::decode() This was detected, since the recovery for special update queries did not work |
lfcbase | 13.06.2010 | 1.1.37 | In ThreadLock hanged strerror error message from errno ( not thread safe ) to the return code of the corresponding thread call. Changed the default value for the init method to doStat = false |
lfcxml | 12.06.2010 | 1.0.20 | Shared library build patch for FreeBSD |
cego | 12.06.2010 | 2.5.13 | Shared library build patch for FreeBSD |
lfcbase | 12.06.2010 | 1.1.28 | Shared library build patch for FreeBSD |
cego | 03.06.2010 | 2.5.12 | Command line option added for database lockfile. On default, lockfile is writte to /tmp/cego.lock since after host reboot, the lockfile should be removed. |
cegojdbc | 30.05.2010 | 1.3.2 | Make some protocol adaptions required to support cego-2.9.x |
cegojdbc | 27.05.2010 | 1.3.1 | Fixed some protocol bugs, which have been detected with the new protocol implementation. |
cego | 20.05.2010 | 2.5.11 | Fixes in CegoMain to delete CegoDatabaseManager also for setDbUser, setAdminUser, define and create tableset mode Fixes in CegoTableManager to delete created index entries in case of a insert error. A problem may happen in case of multiple indexes on a table and for example a contraint violation occurs on a index. It was not handled, that alread insert index entries have to be rolled back ( removed ) |
cego | 16.05.2010 | 2.5.11 | Improvements for exception handling for procedures and exception messages |
cego | 15.05.2010 | 2.5.10 | Improved deadlock resolution for concurrent ( update ) queries Some deadlocks resulted in a hanging system, since the exception handling was not clean This has been fixed and heavily tested |
cego | 14.05.2010 | 2.5.10 | Introduced database lockfile to avoid startup of multiple cego processes. |
cegodbd | 13.05.2010 | 1.2.0 | Adaptions made for cego-2.13 ( support of serial network protocol ) |
cego | 08.05.2010 | 2.5.9 | Method cleanup in CegoTableManager::insertDataTable and CegoTableManager::updateTuple. VirginIndex was added as a method parameter and the member variable was removed, since this seems to be more clean. The native method for insertDataTable using table name was removed. |
cego | 07.05.2010 | 2.5.9 | Expanded update mode in CegoBlowTab |
cego | 05.05.2010 | 2.5.9 | Fix in CegoMain::exportTableSet exit(returnCode) replaced with return returnCode Fix in CegoFileHandler::initDataFile, better exception handling for existing datafile |
cego | 30.04.2010 | 2.5.9 | Changed system table names in CegoAction::selectTable1 to tablename
without prefix since this lead to the following error for queries
refering the system table attributes ( e.g. select * from $table
where name like "XXX" )
CegoFactor.cc(659) : Unknown attribute field |
cegodbd | 02.04.2010 | 1.1.15 | Small change for parameter binding. If a parameter position is not set up via bind_param, a null value is set for the position ( instead of error message "missing parameter at position xxx" ) |
cego | 02.04.2010 | 2.5.8 | Added if exists drop option for defensive object deletion |
cego | 26.03.2010 | 2.5.7 | Added further functions ( mod, div, power, bitand, bitor, bitxor ) Added assign2null statement ( required for procedure calls in procedurs ) Catched division by zero in CeegoFieldValue::div Fixes bug in CegoFactor::toChain, braces have not been generated for expression case |
cego | 22.03.2010 | 2.5.7 | Fix for empty result set ordering select count(*) from dab_mt where shortdesc like "ACL564%" order by mtfrom; Error : Orderspace not created, cannot insert tuple Query failed ok ( 0.007 s ) |
cego | 16.03.2010 | 2.5.7 | Small fix in CegoSelect::nextGroupedTuple, a return value for having-case was missing Fix in CegoOrderSpace. The fields id values are set up now with values from the orderschema. This also includes aggregation id values which are required for group ordering. |
cego | 16.03.2010 | 2.5.6 | Small fix in CegoSelect::nextGroupedTuple, a return value for having-case was missing Fix in CegoOrderSpace. The fields id values are set up now with values from the orderschema. This also includes aggregation id values which are required for group ordering. |
cego | 13.03.2010 | 2.5.5 | New grouping feature finsihed and tested. Fixed a bug in CegoQuery::execute. For teh INSERT_BY_SELECT case, the select handle was not cleaned up. This may lead to blocked table objects in case of using the query in stored procedures. |
cego | 12.03.2010 | 2.5.5 | Changed grouping to store intermediate results rather in tem space than in memory. For this, new classes CegoGroupSpace, CegoGroupEntry and CegoGroupCursor have been introduced. CegoGroupAggregation is now obsolete. |
cego | 03.03.2010 | 2.5.5 | Memory leak fixed in CegoQueryHelper::evalPredicate. flArray was allocated but not freed Changed CegoSelect::nextJoinTuple from cursor deletion to cursor reset. This improves performance for sub select queries about ten times. Here is a snapshot example: select month, count(*) from dab_mtmonth m where year = "2010" and m.pid in ( select pid from dab_prj2bgrp where bgid in ( select bgid from dab_usr2bgrp u2g, dab_user u where u2g.uid = u.uid and u.dbuser = "lemke" ) ) group by month order by month; Before: +---------------------+---------------------+ | m | AGGR | | month | count(*) | +---------------------+---------------------+ | 01 | 29 | | 02 | 75 | | 03 | 87 | | 04 | 20 | | 05 | 13 | | 06 | 16 | | 07 | 19 | | 08 | 10 | | 09 | 15 | | 10 | 19 | | 11 | 12 | | 12 | 12 | +---------------------+---------------------+ ok ( 7.349 s ) After: +---------------------+---------------------+ | m | AGGR | | month | count(*) | +---------------------+---------------------+ | 01 | 29 | | 02 | 75 | | 03 | 87 | | 04 | 20 | | 05 | 13 | | 06 | 16 | | 07 | 19 | | 08 | 10 | | 09 | 15 | | 10 | 19 | | 11 | 12 | | 12 | 12 | +---------------------+---------------------+ ok ( 0.645 s ) |
cego | 24.02.2010 | 2.5.4 | Replaced Timer with NanoTimer in CegoBufferPool Changed the average read/write delay calculation to avoid floating point exception Removed unnessesary seek(0) in CegoFileHandler::releasePage |
cego | 24.02.2010 | 2.5.5 | Replaced Timer with NanoTimer in CegoBufferPool Changed the average read/write delay calculation to avoid floating point exception Removed unnessesary seek(0) in CegoFileHandler::releasePage |
cego | 22.02.2010 | 2.5.4 | Some optimizations in CegoOrderSpace to improve order performance For this, the insertData method with sysEntry datapointer was used to avoid table lookup. Furthermore, the insertLast flag was set. |
lfcxml | 21.02.2010 | 1.0.19 | Added Mac OSX support for shared libraries |
cego | 21.02.2010 | 2.5.3 | Fixes in CegoOrderCursor to avoid locking and treat page claiming in the right way. Some fixes were also made for CegoIndexCursor. In addition to OrderRecordLocks, RBRecord locks have been introduced. This optimzes locking access for rollback operations. The lockstat admin command has been added to get an overall view for all locks. |
lfcbase | 21.02.2010 | 1.1.27 | Added Mac OSX support for NanoTimer and shared libraries |
cego | 19.02.2010 | 2.5.3 | Fixes in CegoOrderSpace::insertTupleInTree, claimDataPtr replaced with claimDataPtrUnlocked, since the access of the orderspace is exclusive and must be not locked In addition, several fixes have been added for CegoOrderSpace and CegoOrderCursor Some code cleanup detected with compiler options -Wall and -pedantic Changed lockId in CegoLockHandler from int to unsigned long to avoid overflow ( 64bit ) |
lfcxml | 18.02.2010 | 1.0.18 | Added method Element::hasAttribute |
cego | 18.02.2010 | 2.5.3 | Null value problem fixed for datetime values. This requires xml-1.0.18 with the Element::hasAttribute method Introduced ordering record semaphores to avoid deadlocks for ordered queries |
cego | 16.02.2010 | 2.5.2 | Small fix in CegoQueryHelper::getAttributeCondList, empty table string is also accepted now Fix in CegoTableCursor::getIdxSchema, the schema is stored now during setup in _idxSchema and is returned as a copy with getIdxSchema Changed JDBC info strings for index retrieval to idx / uidx ( jdbc idx ts table ) |
cego | 14.02.2010 | 2.5.2 | Added MAXFIXTRIES database tuning parameter |
cego | 13.02.2010 | 2.5.2 | Added date2int and int2date datetime conversion functions |
cego | 10.02.2010 | 2.5.2 | Fix in CegoDbHander::receiveTableData and CegoImpInStream::insertData. XML values x="" have been converted to null values, which is not really correct. This has been changed, so the type information ( STRING ) is stored together with a zero length string. |
cego | 05.02.2010 | 2.5.1 | Fix in CegoDistCursor::getTuple. In case of join objects, the cursor method did not return false which may lead to an infinite loop. Fix in CegoTableObject::alterTableObject. The maxFid value was not propagated correctly. |
cego | 04.02.2010 | 2.5.1 | Locking improvements in CegoObjectManager for several object access methods |
cego | 02.02.2010 | 2.5.1 | Fix in CegoObjectManager::insertData and CegoObjectCursor::getObjectCursor In case of object renaming, the hashpage range was not calculated correctly which may lead to "object not found" results. Fix in CegoObjectManager::alterTableObject Index altering was not treated correctly. |
cego | 26.01.2010 | 2.5.0 | Stable version finished |
cego | 23.01.2010 | 2.5.0 | Strong redesign in CegoSelect and CegoDistCursor for join performance optimization and better outer join support |
cego | 20.01.2010 | 2.5.0 | Further performances improvements in CegoSelect::nextJoin. The join buffer is no more copied so the evalPredicate and evalSelection use data directly. This improves performance for about 8 to 10 times. |
cego | 18.01.2010 | 2.5.0 | Fix in CegoIndexCursor. Attribute condition NOT_EQUAL has not been treated correctly: create table t1 ( primary a int not null, b int); insert into t1 ... insert into t1 ... select * from t1 where a != 12; |
cego | 17.01.2010 | 2.5.0 | Started with preparation for BTree index implementation. |
cego | 16.01.2010 | 2.4.9 | Fix in CegoSelect. The evalViewCond flag was removed since the evaluation already is done in the CegoDistCursor |
cego | 16.01.2010 | 2.4.8 | Fix in CegoSelect. The evalViewCond flag was removed since the evaluation already is done in the CegoDistCursor |
cego | 02.01.2010 | 2.4.8 | Fix in CegoProcBlock. The cursorlist was not handled correctly in case of cleanup. ( drop procedure ). cursorlist was changed to a pointer list for improved cursor handling. |
cego | 01.01.2010 | 2.4.8 | Fix in CegoSelect::clone. The method was still not completed since there was missing treatment for optional union select, procedure block and select preparation. The problem occured with the following query: select mid from dab_mtview where sid in ( select sid from dab_systemview where project = "XXX" ) and ( date2str(mtto, "%m") = "09" or ( date2str(mtfrom, "%m") < "09" and date2str(mtfrom, "%Y") = "2009"); The condition is transformed to conjunctive normal form which results in a cloning of the subquery. Since the cloned query was still not prepared, this results in the error: Error : Unknown attribute field Query failed from the view in the nested query Fix in CegoPredDesc::cleanUp. Conditions have not been treated yet here. This was added now. |
cego | 30.12.2009 | 2.4.7 | Further join optimizations have been added for subqueries ( better evaluation of parent field list ) |
cego | 29.12.2009 | 2.4.7 | Memory leak fixed in CegoSelect::buildJonTables. Allocated table objects have not been released in all cases. |
cego | 19.12.2009 | 2.4.7 | Fix in CegoSelect::setViewCond. The Between-mode in CegoAttrCond was still not treated here |
cego | 18.12.2009 | 2.4.7 | Bug fix in CegoSelect::nextJoinTuple : The flag _indexOnViewCond was not reset to false after the setup for the table cursor was called. This may lead to invalid query results if the cursor ( the view ) is used for different setups |
cego | 18.12.2009 | 2.4.6 | Bug fix in CegoSelect::nextJoinTuple : The flag _indexOnViewCond was not reset to false after the setup for the table cursor was called. This may lead to invalid query results if the cursor ( the view ) is used for different setups |
cego | 16.12.2009 | 2.4.6 | Fix for distinct operator in combination with order clause, ordering in clause was ignored ( e.g. select distinct a, b from t1 order by b ) |
cego | 15.12.2009 | 2.4.6 | Extension for execution plan evaluation ( expr list and predicate included ) |
cego | 14.12.2009 | 2.4.6 | Fix for admin action list logfile |
cego | 13.12.2009 | 2.4.6 | Introduction of between clause ( where a between b and c ) |
cego | 09.12.2009 | 2.4.6 | Extended view condition handling to support conditions on expr Sample: create view tv as select date2str(dt, "%Y") as year from t1; select * from tv where year = "2009"; |
cego | 06.12.2009 | 2.4.5 | Several small fixes for distribution mode ( create table, tableinfo, update and delete count ... ) Started with distributed database test suite |
cego | 05.12.2009 | 2.4.5 | Small fixes for distribution mode |
cego | 04.12.2009 | 2.4.5 | Distributed actions completed. Actually no more open TODOs in code |
cego | 03.12.2009 | 2.4.5 | Changed inheritance from CegoRecoveryManager to member class usage This was caused, since the CegoDistManager is used by the RecoveryManager for complete recovery ( CegoDistManager is used in some predicates where select statements occur ) |
cego | 28.11.2009 | 2.4.5 | Table access during transaction commit phase has been restricted Read operations during transaction commit may lead to wrong results, since the tuples data is temporary inconsistent For this the method CegoTransactionManager::getTransactionAffectedTables has been introduced Complettion of distributed queries ( startTransaction, commitTransaction, rollbackTransaction, getTID ) |
cego | 27.11.2009 | 2.4.5 | Added numTries parameter for all locking calls in CegoLockHandler This ensures a repeated lock call try in case of any database deadlock situations |
cego | 26.11.2009 | 2.4.5 | Bug fix in CegoQueryHelper::decodeUpdRec and CegoQueryHelper::encodeUpdRec The variable cwas declared as type int, should be of type char This leads at least to redo log recovery problems for SPARC versions |
cego | 24.11.2009 | 2.4.5 | A bug has been fixed in CegoFunction::fromElement. Just the first expression element has been put into the expression list |
cego | 23.11.2009 | 2.4.5 | Fix in CegoQueryHelper::copyBranch for CNF construction, invalid copy constructor was used for CegoPredDesc branch copy. This has been replaced by clone method. A memory problem occured for the following query select mid, date2str(mtfrom,"%d"), date2str(mtfrom,"%m"), date2str(mtto,"%d"), date2str(mtto,"%m"), sid, shortdesc, status from dab_mtview where date2str(mtfrom, "%m") = "11" and date2str(mtfrom, "%Y") = "2009" or date2str(mtto, "%m") = "11" and date2str(mtto, "%Y") = "2009" or date2str(mtfrom, "%m") < "11" and date2str(mtto, "%m") > "11" and date2str(mtfrom, "%Y") = "2009" and date2str(mtto, "%Y") = "2009"; |
cego | 21.11.2009 | 2.4.4 | Extension of aggregation to support full expressions. Now queries like: select b, 2 * count(*) from t1 group by b having count(*) + 1 = 2 are allowed. Fix for check constraint. check was not removed if table was dropped. Fix for long datatype error in CegoFieldValue::add,sub,mul |
cego | 20.11.2009 | 2.4.4 | Added nextcount function for counter usage ( in stored procs ). |
cego | 06.11.2009 | 2.4.3 | Changed admin threadinfo db operation to threadinfo db [id] This allows a better output and retrievel of last action for a specific db thread |
cego | 04.11.2009 | 2.4.3 | Fixes on null value encoding / decoding |
cego | 03.11.2009 | 2.4.2 | Correction of delete counter value in CegoTableManager::deleteDataTable |
cego | 02.11.2009 | 2.4.2 | No-Alignment logic in encodeEVL/decodeFVL lead to problems for SPARC versions. So all pointer value assignments changed to memcpy val = *(int*)pF->getValue() changed to memcpy(&val, pF->getValue(), sizeof(int)) ) |
cego | 01.11.2009 | 2.4.2 | Added size attribute to system tables $table and $index |
cego | 30.10.2009 | 2.4.1 | Fixed a bug for alter table rename column statement |
cego | 28.10.2009 | 2.4.1 | Added drop statement for check constraints Fixed a problem in CegoQueryHelper::encodeFVL and CegoQueryHelper::decodeFVL In some cases, the decoding has not been worked correctly ( null values at the end of tuple ) The alignment has been removed and a terminating check id has been added to recognize end of tuple |
cego | 21.10.2009 | 2.4.0 | Added check constraints to CegoXPorter |
cego | 17.10.2009 | 2.4.0 | Fix for foreign key ( index check failed, if foreign key attribute name not equal primary key attribute name ) Fix for rename tables with foreign keys ( key was not found although the key exists ) |
cego | 17.10.2009 | 2.3.12 | Fix for foreign key ( index check failed, if foreign key attribute name not equal primary key attribute name ) Fix for rename tables with foreign keys ( key was not found although the key exists ) |
cego | 14.10.2009 | 2.3.12 | Fixed rename bug in CegoTableManager::renameTable. Table name was not set to new tablename. |
cego | 13.10.2009 | 2.3.12 | Added implicit cast from int/long to bigint |
cego | 12.10.2009 | 2.3.12 | Fix for alter table modify in CegoTableManager::alterDataTable |
cego | 03.08.2009 | 2.3.11 | Introduction of class CegoSystemObject for management of system table like $table, $procedure, etc. |
cego | 30.07.2009 | 2.3.11 | Some post corrections for the new execution plan evaluation Fixed a problem regarding query cleanup. Predicates have not been cleaned up correctly Expanded stored procedure grammar to provide initial assignment for variables ( like var i int = 42; ) |
cego | 28.07.2009 | 2.3.11 | Fixed a bug in the CegoDistCursor::evalCondition method. Evaluation was not done correctly. Changed execution plan to work also for empty query results. |
cego | 16.07.2009 | 2.3.10 | Further optimization on join logic ( treating appropriate predicates in where-condition before joining inner and outer tables |
cego | 14.07.2009 | 2.3.9 | Extension of CegoDistCursor to enable condition evaluation. Fixes made in CegoSelect for inner joins, since some queries did not return the correct result |
cego | 13.07.2009 | 2.3.9 | Join optimization correction for view joins. The CegoDistCursor::distSetup returned false. This has been changed, so now the value of the _viewCondOptimized variable of CegoSelect is now returned. |
lfcbase | 10.07.2009 | 1.1.26 | Added setsockopt call to Net::serve method to avoid error message "Address already in use" |
cego | 09.07.2009 | 2.3.9 | Joinlists in combination with nested queries have not been treated correctly. Example: select a from t1 inner join t2 on b in ( select c from t3 ) left outer join t4 on d = 0; lead to exceeded list errors. Fixed. |
cego | 08.07.2009 | 2.3.8 | Fix for view condition handling in CegoSelect ( to support view condition join optimization for aliased attributes ), e.g.: view xview as select a as Alpha from t1; select * from xview where Alpha = 1 now Alpha = 1 is mapped to a = 1 index condition, if index on a exists |
cego | 07.07.2009 | 2.3.8 | Changed ordering to support attribute level ordering |
cegodbd | 03.07.2009 | 1.1.7 | Improved exception handling |
cego | 26.06.2009 | 2.3.8 | Added length calculation for attributes in desc command ( improved format ) |
cego | 25.06.2009 | 2.3.8 | Adaptions for the C-Wrapper library. Caught exception in CegoLogThreadPool, if logfiles could not be copied to archive destination |
lfcxml | 21.06.2009 | 1.0.16 | Shared library support added |
lfcbase | 21.06.2009 | 1.1.24 | Shared library support added |
cego | 20.06.2009 | 2.3.7 | Added shared library support ( required for PHP integration ). Implementation of round function |
cego | 15.06.2009 | 2.3.7 | Fixes done for tableset xml import and export. Default value handling Blob value handling Proc and view db threadpool reloading after import |
cego | 14.06.2009 | 2.3.7 | Thanks to the support of Mr. Schiliro ( iworxs GmbH ) and the intensive tests with the iworxs ECM-Suite, many improvements have taken place in the current release. Improvements in the JDBC driver ( see dedicated changelog ) ROUND, LTRIM, RTRIM function added Parser modification for better handling of arithmetic expressions User function without command line args Cosmetic syntax improvements ( e.g. join as inner join ) Fixes for unique indexes There are still some open issues, we are working on. |
lfcbase | 14.06.2009 | 1.1.24 | Small fix in GetLongOpt ( _isParsed flag set up in parseOpt method ) |
cego | 11.06.2009 | 2.3.7 | Improvements for cego mode ( distributed mode ) For tableset copies, now percentage for copy completion is now indicated ( list copy command ) |
lfcbase | 11.06.2009 | 1.1.24 | Added File::getShortName method for abbreviated filename retrievel |
cego | 10.06.2009 | 2.3.7 | More work on new admin protocol. Added numRequest attribute to threadinfo to indicate the number pf performed request for each thread |
cego | 07.06.2009 | 2.3.7 | Bug fix for grouping queries. The pGroupList was double freed in CegoAction::cleanup(). This must be avoided by setting the variable to zero void CegoAction::selectGroupClause() { _groupClauseStack.Push(_pGroupList); _pGroupList = 0; } More work on extended admin handler ( dialog messages ) |
cego | 04.06.2009 | 2.3.7 | Extended admin handler dialog to support intermediate information messages. First usage of the dialog has taken place for the verifyTableset admin routine |
cego | 03.06.2009 | 2.3.7 | Length attribute added for desc output |
lfcbase | 28.05.2009 | 1.1.23 | Fixe for command exit code in CommandExecuter class |
cego | 26.05.2009 | 2.3.5 | Fixed rawmode for interactive cgadm usage Adaptions for external logmanager |
cego | 24.05.2009 | 2.3.5 | Format extension to CegoOutput for better output formatting |
lfcbase | 24.05.2009 | 1.1.22 | Added signal.h to SigHandler.h |
cegojdbc | 23.05.2009 | 1.2.18 | Elimination of SQLClientInfoException for compliance to JRE 5 |
cegojdbc | 23.05.2009 | 1.2.16 | Sync to current cego version |
cegodbd | 23.05.2009 | 1.1.6 | Added support for AFFECTED and MSG attribute in stmt handle |
cego | 21.05.2009 | 2.3.4 | Improvements for tableset recovery. Support for external log manager added |
lfcbase | 21.05.2009 | 1.1.22 | Changed in CommandExecuter from execl to execv |
cego | 19.05.2009 | 2.3.4 | Some cosmetic issues in CegoDefs and exception message handling |
cego | 18.05.2009 | 2.3.3 | Dramtic performance improvement for delete queries ( no reset of cursor, delete tuples in one run ) Fix for CegoObjectCursor and CegoTableCursor. Caused by performance optimizations, cursors are now aborted ( not deleted ). Abort for ObjectCursor did not reset the cursor in a correct way. reset method was introduced for resetting the cursor for next retrievel Added Ctrl-C query abort for CegoClient |
cego | 17.05.2009 | 2.3.3 | Fix in CegoXMLSpace. The PR locking was not correct. Concurrent read access to Element::getAttributeValue() ist not handeled. So PR was changed to PW. |
cego | 12.05.2009 | 2.3.3 | Intrduction of CegoRecoveryManager for encapsulation of recovery logic. Extension of logging for ALL-module support |
lfcbase | 12.05.2009 | 1.1.21 | Extended Logger class to update already logged modules ( logModule ) |
cego | 09.05.2009 | 2.3.3 | Fix in CegoAction::selectTable2 ( missing assignment of _pJoinTD, which leads to problems with inner and outer joins ) Fix in CegoSelect::filterFacRef ( prepare should be called for query-factors before calling getAttrRefList) |
cego | 08.05.2009 | 2.3.3 | Added code formatting for procedure code |
cegodbd | 04.05.2009 | 1.1.5 | Adaptions for cego version 2.3.2 |
cego | 02.05.2009 | 2.3.3 | Small grammar change for JoinSpec production ( from Predicate to Condition ) This enables join spec conditions without brackets |
cego | 01.05.2009 | 2.3.2 | Fixes for inner, left and outer joins Fixes for recovery ( variable handling in CegoFactor ) Added DTFORMAT parameter for date format customizing in database xml Case sensitive flag is checked in CegoAction::nextChar |
lfcxml | 28.04.2009 | 1.0.15 | Added blob cdata support for stream elements ( used to store blobs ) Fix of escape bug in Element::setText method |
cego | 28.04.2009 | 2.3.2 | Added blob import/export for binary mode Added module based logging ( in combination extended base Logger class ) |
lfcbase | 16.04.2009 | 1.1.20 | Introducion of Base64Coder class |
cego | 15.04.2009 | 2.3.2 | Added quote escape mode ( oracle style ) for string values Encoding fix for blob values in CegoTableManager::encodeFVL/decodeFVL |
cego | 15.04.2009 | 2.3.1 | Added quote escape mode ( oracle style ) for string values Encoding fix for blob values in CegoTableManager::encodeFVL/decodeFVL |
dragon | 15.04.2009 | 1.3.3 | Small fix in generated parser code. the _isReserved flag is reset to false before starting new parse run ( in case of exception inside string handling ) |
cego | 14.04.2009 | 2.3.1 | Changed CegoMain from GetOpt to GetLongOpt ( new command line option conventions ) This requires base version 1.1.19 |
cego | 13.04.2009 | 2.3.1 | Small fixes on CegoClient in terms of logfile handling Small exception handling fix in CegoAdminThreadPool ( replaced e.print() ) |
lfcbase | 13.04.2009 | 1.1.19 | Small extension of Logger class to support no logging Introducion of GetLongOpt class |
cego | 11.04.2009 | 2.3.1 | Introduced affected count to indicate afected rows for insert, update, delete queries Changed grammar for not-Predicate to handle unbracked conditions more friendly ( select a from t1 where not a = 1 and not b = 4 works now without any brackets ) |
cego | 08.04.2009 | 2.3.0 | Introduction of case-sensitive database mode for case-sensitive/insensitive string compares Fix for transactions ( introduction of transaction step ( tastep ) tuple field) Fix for distinct aggregation mode ( select distinct count(a) from t1 ) |
cego | 03.04.2009 | 2.2.8 | Added locale support ( evaluation of the LANG environment variable) Fix for index creation ( changed CegoDistManager::createLocalIndexTable from SHARED to EXCLUSIVE_WRITE locking ) Fix in CegoIndexManager ( ALLOW_UNIQUE_NULL Handling was wrong, which lead to a problem by updating indexed null values ) Changed to smooth handling for commit actionin case of non-active transaction ( no more error result ) |
lfcbase | 03.04.2009 | 1.1.18 | Fixed daylight saving setting in Datetime class Fixed DELAYFAC in Threadlock |
cego | 02.04.2009 | 2.2.8 | Added locale support ( evaluation of the LANG environment variable) |
cego | 31.03.2009 | 2.2.8 | Continue with db verification procedure, first table and index checks ready |
cego | 30.03.2009 | 2.2.8 | Start of db verification procedure for tableset consistency verification |
cego | 28.03.2009 | 2.2.8 | Added counter objects for autoincrement implementation Some code cleanup in Cego.def and CegoAction |
cego | 27.03.2009 | 2.2.8 | Fixed a problem occured with ordering and grouping select statdate, sum(numhit) from webstats ws group by ws.statdate order by ws.statdate asc; The statdate attribute was not found. Fixed in CegoSelect. |
cego | 25.03.2009 | 2.2.8 | Added C wrapper functions cego_putblob, cego_getblob and cego_delblob for blob handling |
cego | 22.03.2009 | 2.2.7 | Blob support added with corresponding interface in CegoDbHandler putBlob getBlob delBlob Added blob check routines in CegoBlowTab |
cego | 14.03.2009 | 2.2.7 | Added autocommit switch mode Added transaction isolation level switch ( read committed / read uncommitted ) |
cego | 14.03.2009 | 2.2.6 | Added autocommit switch mode Added transaction isolation level switch ( read committed / read uncommitted ) |
cego | 01.03.2009 | 2.2.6 | Added union all feature Small bugfixes for precedure return values ( missing len for decimal ) and join predicates |
cego | 25.02.2009 | 2.2.5 | Quality gate B extended More exceptions catched in case of lock exceeds. Catched wrong procedure and function call including wrog return statments ( return value required for functions, return value invalid for procedures) |
lfcbase | 25.02.2009 | 1.1.17 | Changed struct ExcepStruc to class ExcepStruct for correct instance assignment ( operator = ) |
lfcbase | 25.02.2009 | 1.1.15 | Changed struct ExcepStruc to class ExcepStruct for correct instance assignment ( operator = ) |
cego | 24.02.2009 | 2.2.5 | Quality gate B extended Some fixes for distinct queries were made ( used in procedures ) |
cego | 22.02.2009 | 2.2.4 | Quality gate checks introduced Since the quality checks are embedded in procedures, this brought up several improvements and bug fixes ( especially regarding procedure handling ) |
cego | 20.02.2009 | 2.2.4 | Performance improvement for update operations Introductoion of table and index reorg feature |
cegojdbc | 16.02.2009 | 1.2.18 | CegoStatement::getWarnings returns null value, is warning list is empty |
cego | 15.02.2009 | 2.2.3 | Improvements for transaction handling ( introduced TupleState to store transaction information for each tuple) This makes datafile structure incompatible to older releases ( export/import needed) !!! Fix for AdminThread to handle client network timeouts ( occured with new NetHandler class ) |
cego | 14.02.2009 | 2.2.3 | Join optimization fix for views ( view condition was not treated correctly ) Join fixes for outer joins Cosmetic improvements for sample test suite |
dragon | 13.02.2009 | 1.3.2 | In some complex grammars with epsilon productions definitions, the first set calculation may lead to an infinite loop. This has been fixed with this release. |
dragon | 13.02.2009 | 1.3.1 | In some complex grammars with epsilon productions definitions, the first set calculation may lead to an infinite loop. This has been fixed with this release. |
cego | 12.02.2009 | 2.2.2 | C-Library completed Clean exception handling in case of deadlocks in CegoDistCursor and CegoIndexCursor |
lfcbase | 12.02.2009 | 1.1.14 | Changed to dynamic message allocation in NetHandler::readMsg and NetHandler::setMsg |
cego | 06.02.2009 | 2.2.1 | Added plain c-library interface Some bugfies |
cego | 19.01.2009 | 2.2.1 | Introduction of "list transaction" admin command Some performance optimizations in CegoTableManager ( to avoid redundant getObjectList calls in delete and insert methods ) |
cego | 17.01.2009 | 2.2.0 | Fixes on binary export Fix in CegoTableManager::deleteDataTable, foreign key check is not appropriate for update operations Syntax change for update operations ( no more braces in set clause ) Performance optimizations in CegoTransactionManager. Use of single tables rbcatlog an updtab to avoid table creation for each transaction |
cego | 11.01.2009 | 2.2.0 | Started with binary export/import implementation. His should boost up the export/import performance pretty much |
cego | 11.01.2009 | 2.1.5 | Started with binary export/import implementation. His should boost up the export/import performance pretty much |
cego | 10.01.2009 | 2.1.5 | Tableset online check added in CegoDbThread ( for each query ) Check added for foreign keys to refer to a valid primary key |
cego | 08.01.2009 | 2.1.5 | Bug fixes regarding procedure and view object reload and corresponding thread locking |
lfcxml | 07.01.2009 | 1.0.13 | Small bug fix in Document::setRootElement ( catched zero value ) |
cego | 07.01.2009 | 2.1.4 | Changed buticket to tsticket to store complete tableset data Objects are reloaded now by all db threads in case of creating or dropping objects (views or procs) Timeout option introduced for sync tableset admin commmand Performance improvement for tableset import ( 2 times ), introduced nologging option to speed up import |
cego | 02.01.2009 | 2.1.4 | Completion of alter table statements, including rename, modify and drop attribute handling Corresponding keys and indexes are treated Completion of select statement encoding and decoding for logging and distributed queries |
cego | 23.12.2008 | 2.1.3 | Added class CegoCaseCond to support case-when-clauses in queries Expanded Order clause to support complete expressions in the ordering Added support for right outer join queries |
cego | 19.12.2008 | 2.1.3 | Lock fix in CegoDistManager::updateLocalDataTable, lock mode changed to EXCLUSIVE_WRITE ( the EXCLUSIVE_WRITE mode was introduced in CegoDatabaseManager to allow read operations on an exclusive write lock) |
lfcbase | 06.12.2008 | 1.1.13 | Added waitMsg method to NetHandler |
cego | 24.11.2008 | 2.1.2 | More work on distributed queries ( insert, update, delete ) to enable predicate transfer ( fromElement, toElement methods) |
cego | 24.11.2008 | 2.1.1 | More work on distributed queries ( insert, update, delete ) to enable predicate transfer ( fromElement, toElement methods) |
cego | 22.11.2008 | 2.1.1 | Added CegoSelect::setViewCond feature for using index access in view queries |
cego | 01.11.2008 | 2.1.1 | Completion work on CegoDistManager, including xml encoding for distributed update and delete queries ( CegoPredDesc::toElement) |
lfcbase | 12.10.2008 | 1.1.12 | Changed CommandExecuter implementation ( and interface ) to support timeout |
lfcbase | 12.10.2008 | 1.1.11 | Fixes for clean exit in ThreadLock::readLock and ThreadLock::writeLock |
lfcbase | 12.10.2008 | 1.1.10 | Fixes for MinGW in ThreadLock |
cego | 11.10.2008 | 2.1.0 | Some stability fixes for distributed mode ( execution of subsequent copy tableset commands hang up ) Added info copy feature to request status of running and finished or aborted copies |
cego | 30.09.2008 | 2.1.0 | Logical logging basically works. For some special query types, the encoding and decoding still has to be implemented Admin command for tableset info retrievel expanded ( more detailed info ) |
cego | 27.09.2008 | 2.1.0 | Started with implementation of consequent logical logging Introduction of encode, decode and getEncodingLength methods for CegoPredDesc and members |
cego | 25.09.2008 | 2.0.12 | Added missing cleanDataFile call in CegoTableManager::regDataFiles for user datafiles The missing call lead to problems in case of logfile crash recoveries The method CegoDataPointer::getEncodingLength is used now for all encoding length calculations regarding datapointer objects. As a result, the class CegoDataPointer can be modified to reduce the required dp data. Instead of 3 * 32bit ( fileId, pageId, offset ), the data might be reduced to 2 * 32 bit ( 16 bit fileId, 16bit pageId, 32bit offset ). This can be useful for larget index objects, where lots of dp references are used for the balanced tree structure. |
cego | 21.08.2008 | 2.0.12 | Fixed CegoXPorter::exportTable, the output file was not closed and the handle not deleted Changed object usage from EXCLUSIVE to SHARED in CegoDistManager::createLocalIndexTable |
cego | 13.08.2008 | 2.0.12 | Improved grouping attribute check for grouping queries in CegoSelect::groupTuple |
cego | 10.08.2008 | 2.0.12 | Added rowlimit option for select statements to limit result rows Role abbreviation for list user admin command |
cego | 23.07.2008 | 2.0.11 | Fixes in several inline functions. Introduction of randstr and randint function Added a db sesson pool in CegoDatabaseManager for managing connections from distributed queries More work on distributed queries ( list table ). |
cego | 19.07.2008 | 2.0.11 | Fix in CegoTransactionManager::getRBOperation In case of heavy update operations, a timing problem could be occur with available rollback entries. To avoid this, a retry loop was introduced in getRBOperation |
cego | 18.07.2008 | 2.0.11 | Catched missing command line arguments for cego in CegoMain Corrections of several functions |
cego | 04.07.2008 | 2.0.10 | Fix on RBSEG creation coming with the object hash entry strategy ( no usage of hash start page ) |
cego | 04.07.2008 | 2.0.9 | Fix on RBSEG creation coming with the object hash entry strategy ( no usage of hash start page ) |
cego | 03.07.2008 | 2.0.9 | Use of ThreadLock:numLockTry method for concurrency calculation |
lfcbase | 03.07.2008 | 1.1.9 | Added method ThreadLock::numLockTry() |
cego | 30.06.2008 | 2.0.9 | Change list lock admin command to show specific locks Changed hash strategy for syspage objcte entry hash. Index and key objects are hashed now with the corresponding table name This avoids an expensive getObjectListByTable call in the insertTable method |
cego | 29.06.2008 | 2.0.8 | Added object distribution strategy for system pages. Via Chain::getHashPos, the initial system page for an object is calculated, which leads to a spread of all objects over the whole hash system page field ( CegoDef.h : #define TABMNG_HASHSIZE 30 ) For multiprocessing environments, this should improve the parallel write access to different objects |
lfcbase | 29.06.2008 | 1.1.8 | Added method Chain::getHashPos() ( |
cego | 28.06.2008 | 2.0.8 | Introduced rename statement for table renaming Introduced alter modify and alter rename statement for column modification ( not finished ) |
cego | 27.06.2008 | 2.0.8 | Value fixes in CegoImpInStream and CegoExpOutStream ( null value handling, added CegoQueryHelper::prepareFieldValue) |
cego | 22.06.2008 | 2.0.8 | Changed ordering to support non-selected order attributes ( e.g. select snr from supplier order by sname ) |
cego | 21.06.2008 | 2.0.8 | Added role option to cego -p command line call Corrected exit codes for cgclt Fixed CegoProcBlock::toChain() exception generation |
cego | 20.06.2008 | 2.0.7 | Fix in CegoTableManager::encodeFVL Null values are foced for propre encoding This bug lead to seg fault in some cases |
cego | 15.06.2008 | 2.0.7 | Added insert by select statement Added lock optimization in CegoObjectManager::insertData() The system page is locked READ now and the actual object entry is locked on record level as WRTIE This leads to performance improvements in case of concurrent modifying insert operations on object located in the same system page |
cego | 08.06.2008 | 2.0.7 | Completed CegoViewObject::getFormatted and CegoViewObject::putElement This avoid problems with the desc view operations |
cego | 07.06.2008 | 2.0.6 | CegoIndexManager::compIndexValue corrected for null value comparison CegoQueryHelper::prepareFieldValue() fixed to check null values Completed negative value handling for several data types |
lfcbase | 07.06.2008 | 1.1.7 | Bug fix in BigInteger::add method ( occured by adding negative values ) ( |
cego | 06.06.2008 | 2.0.6 | CegoProcVar::toChain fixed , Missing open bracket for bigint CegoQuery::toChain() fixed ( return clause for update query added ) |
cego | 04.06.2008 | 2.0.6 | CegoDistCursor completed. So distributed queries now work. From the secondary or mediator host, table queries are dispatched to the primary and the corresponding data is sent back This is the next milestone for the distributed Cego approach. |
cego | 03.06.2008 | 2.0.6 | Expansion of interface class CegoDecodableObject. The virtual methods getElement, putELement and getFormatted have been introduced to locate XML serialization and formatted output to the corresponding object classes ( CegoTableObject, CegoProcObject ...) |
cego | 01.06.2008 | 2.0.6 | New tree-based orderspace implementation finished. |
cego | 31.05.2008 | 2.0.6 | Fix for unique index creation ( was not built up with unique constraint ) Multiple sent signal catched now in CegoBeatThread More tableset information provided in CegoAdminThread::medGetTableSetInfo Better implementation of OrderSpace started ( instead of linear inserts, a binary tree is used now ) |
cego | 22.05.2008 | 2.0.6 | Treated log loss situation. ( log connection to secondary lost ) Sync status of the tableset is set up to LOG_LOSS In this cases, the secondary should be switched ( e.g. to primary ) |
cego | 19.05.2008 | 2.0.6 | Introduced CegoQueryException for improved exception handling ( coming up with procedure exceptions ) Fixed a bug occured with MinGW and gcc 3.x in CegoTableManager::removeCompProcedure and removeCompView The cleanup sequence before fix: _procList[tabSetId].Remove(*pProc); CegoProcedure *pDelProc = *pProc; delete pDelProc; Before removing the procedure from procList, the procedure pointer must be deleted. The following change has been made CegoProcedure *pDelProc = *pProc; delete pDelProc; _procList[tabSetId].Remove(*pProc); |
lfcbase | 19.05.2008 | 1.1.7 | Include windows.h in Chain.h to avoid MinGW compilation errors |
cego | 18.05.2008 | 2.0.5 | Proceed with procedure exception handling. Basically works now |
cego | 16.05.2008 | 2.0.5 | Fixed a Forte CC compatibility problem in CegoProcException ( return values missing ) Changed output format of cglog, proper objtype value for insert operations in log Added definition of buticket to define tableset administration |
cego | 12.05.2008 | 2.0.5 | Fixes on backup mode, online log files have not been stored to archive location Backup mode was not handled for new db connections in CegoDbThread |
cego | 10.05.2008 | 2.0.5 | Some changes made for failover handling and instance relocation Primary switch tested in case of a complete primary node crash |
cego | 03.05.2008 | 2.0.5 | Added return clause to update statement to return updated values in given vars Changed update evaluation to make incrementing updates ( a = a + 1 ) work |
cego | 01.05.2008 | 2.0.5 | Fixed a problem with recovery after switch ( lsn confusion ) Cleanup of cached object in CegoAdminThread::medSwitchTableSet |
cego | 28.04.2008 | 2.0.5 | More work done on JDBC info requests. Column information for tables and views handled now. Data type information added. |
cego | 27.04.2008 | 2.0.4 | Introduced CegoJDBCInfo class for isolation of JDBC info requests. Added support for primary key information |
cego | 04.03.2008 | 2.0.4 | Fix in CegoQuery::prepareFieldValue to catch null pointer for fv.getValue() |
cego | 16.02.2008 | 2.0.4 | Fix in CegoTableManager for the checkTypes method. To get the right column typ, the method is called before any tuple ( containing null value ) is retrieved. The results in a relocation of the method from checkIntegrity to updateDataTable |
cego | 10.02.2008 | 2.0.4 | Fixed a bug in CegoQuery::execute occured with insert queries and incomplete attr spec list ( no null values have been added ). |
cegojdbc | 16.12.2007 | 1.2.9 | Fixed some protocol problems ocured with MetaDB info requests |
cegojdbc | 16.12.2007 | 1.2.8 | The JDBC driver now basically works with the SQuirrel frontend. There is still a lot of work to complete the driver implementation |
cego | 16.12.2007 | 2.0.4 | Added qualifed star feature for select statement ( select tbl.* from t1 tbl ) Added several JDBC driver relevant info statements ( jdbc xxx ) |
cegojdbc | 15.12.2007 | 1.2.8 | Extensions and fixes to make cegojdbc work with the SQuirrel utility |
cego | 15.12.2007 | 2.0.4 | Extensions for JDBC Driver implementation ( MetaDB Infos ) |
cego | 04.12.2007 | 2.0.4 | Added cast from Decimal to Fixed type in CegoFieldValue::castTo Fixed a field type setup bug in CegoQuery::execute in UPDATE_QUERY case |
cegojdbc | 02.12.2007 | 1.2.8 | Added implementation of acceptsUrl in class CegoDriver |
lfcbase | 02.12.2007 | 1.1.7 | Small correction in Timer class for ostream operator ( was sent to cout > |
cego | 01.12.2007 | 2.0.4 | Fix in CegoQuery::toChain. For insert statement generation, the attribute list was missing for full qualified queries |
cego | 01.12.2007 | 2.0.3 | Fix in CegoQuery::toChain. For insert statement generation, the attribute list was missing for full qualified queries |
cego | 21.11.2007 | 2.0.3 | Fix in CegoTableManager::updateDataTable. For the virgin index evaluation Alter table statement now checks non-nullable columns Bug Fix in CegoTableManager::updateTuple for new update strategy |
cego | 19.11.2007 | 2.0.3 | Ordering direction implemented ( asc, desc ) Alter table statement now checks non-nullable columns Bug Fix in CegoTableManager::updateTuple for new update strategy |
cego | 18.11.2007 | 2.0.3 | Update redesign done. The virgin index is used for traversing the table during the update. The virgin index is an index, which is not affected during the update During the update, all changes tuple pointers are write to a update table After the update is completed, the update is completed for the virgin index This leads to a consistent table view after each update operation |
cego | 18.11.2007 | 2.0.2 | Update redesign done. The virgin index is used for traversing the table during the update. The virgin index is an index, which is not affected during the update During the update, all changes tuple pointers are write to a update table After the update is completed, the update is completed for the virgin index This leads to a consistent table view after each update operation |
cego | 17.11.2007 | 2.0.2 | Parameter consolidation of CegoIndexManager::insertNativeIndexTable() and insertIndexTable Preparation for update transaction redesign ( virgin index strategy ) |
cego | 12.11.2007 | 2.0.2 | Type check added for update operations ( CegoTableManager::checkTypes() ) This avoids tuple update to invalid field types |
cego | 11.11.2007 | 2.0.2 | Further problem with transaction. The idxOnCommit flag was not handled in case of transaction recovery This has been fixed introducing a new log record type LOGREC_IDXCOMMITON and LOGREC_IDXCOMMITOFF |
cego | 10.11.2007 | 2.0.2 | Detected a problem with recovery in combination with transactions The commit operations call the method CegoTableManager::deleteDataTable This results in a duplicate delete entry in the logfile which crashes the recovery |
cego | 08.11.2007 | 2.0.2 | Fixed CegoSelect::analyzeJoin(). Just for straight subselect the analyze worked. The CegoPredDesc::analyzeSelect method was introduced for recursive subselect analyze The corresponding part in CegoSelect::analyzeJoin was changed to if ( _pPred ) { _pPred->analyzeSelect(); } |
cego | 07.11.2007 | 2.0.2 | Hanging export in case of exporting empty table. This was a problem in CegoExpOutStream::getNext which was called after the getFirstTuple method already had returned a false value. Missing idempotence was fixed in CegoObjectCursor::getFirst() and getNext by checking the introduced _isEOC flag Added further locking information ( lockcount ) for lock listing in cgadm Fixed CegoFactor::evalFieldValue() for QUERY-Type factors in case of selection-select in views ( select was not prepared, added _pSelect->prepare() ) |
cego | 04.11.2007 | 2.0.1 | Fixed some problems occured with primary and unique index violation on update operations For this, the CegoTableManager::checkIntegrity was introduced and called before any update In stored procedures, the procedure variables have not been resolved correctly in delete and update predicates ( where condition ). This has been fixed User roles and user tracing has been introduced |
cego | 29.10.2007 | 2.0.1 | Proceed on procedure exceptions |
lfcbase | 28.10.2007 | 1.1.6 | Small extension in Chain::asBool for true/false token handling Extension in Tokenizer::nextToken for handling zero length input |
cego | 27.10.2007 | 2.0.1 | Some fixes for outer joins Fixes for CegoFactor::evalField() to indicate proper attribute headers ( select count(*) ) Introduced user roles |
cego | 20.10.2007 | 2.0.0 | Fixed some attribute management problems in CegoExpr::evalField Added unloadObject and friends to CeegoDbThreadPool for procedure and view cleanup in case of stopping ts |
cegojdbc | 14.10.2007 | 1.2.0 | Fixed some bugs in network protocol Added some more exception handling Introduced log4j |
cego | 14.10.2007 | 2.0.0 | Fixed some bad deadlock effects occured with views and procedures Fixed some memory leaks occured with procedures Fixed alias handling for view management |
cego | 13.10.2007 | 2.0.0 | Fixed some foreign key problem with update operation Fixed ordering problem occure with Solaris memory alignment ( CegoOrderEntry was not alignment save) |
lfcxml | 09.10.2007 | 1.0.12 | Added newline to getXMLChain methods and the end of export |
cego | 07.10.2007 | 2.0.0 | Since first basic distributed functions work, switch to version 2.0.0 is done ( alpha ) |
cego | 03.10.2007 | 1.4.3 | First switch cycle basically works ( switch -> relocate secondary -> copy -> switch -> relocate secondary -> copy ) |
cego | 29.09.2007 | 1.4.3 | Online tableset copy basically works now ( medCopyTableSet ) |
cego | 28.09.2007 | 1.4.3 | Preparations for 2.0. this includes mediator services and improvements for tableset copy/recovery actions |
cego | 23.09.2007 | 1.4.2 | Some corrections for MinGW and CegoAdm |
lfcbase | 20.09.2007 | 1.1.5 | Changed NetHandler::SIZEINFOLEN to 6 to handle larger messages Please note : This is made in correlation to newer versions of Cego JDBC and CegoADM !!! |
lfcxml | 16.09.2007 | 1.0.11 | Changed Element constructor for explicit reference count defintion ( to avaid memory leaks ) |
cego | 16.09.2007 | 1.4.1 | Elimination of some memory leaks. This also leads to a new version of the XML library ( 1.0.11 ) Improved casts on datatypes |
cego | 15.09.2007 | 1.4.1 | Correction of transaction concurrency access strategy. If a transaction has touched any tuple, the tuple is still readable from another transaction but no more writable. This is realized using the ignoreTouched flag in CegoTableCursor and CegoIndexCursor |
cego | 12.09.2007 | 1.4.1 | Small corrections for CegoAdm GUI |
cego | 09.09.2007 | 1.4.0 | Started with select outer join feature implementation |
lfcbase | 09.09.2007 | 1.1.4 | Modifications and extensions of the Chain:posStr method for negation and occurence search |
cego | 08.09.2007 | 1.4.0 | More fixes regarding new query features Fixes regarding stored procesdure Fixes regarding concurrency |
cego | 03.09.2007 | 1.4.0 | Tests and bug fixes for 1.4.0 Views still need some work .. |
cego | 02.09.2007 | 1.4.0 | Syntax extension for query predicate expressions ( instead of native attribute ) QueryPredicate: Expr INTOK LB SelectStatement RB QueryPredicate: Expr NOT INTOK LB SelectStatement RB QueryPredicate: Expr Comparison Expr QueryPredicate: Attribute IS NULLTOKEN QueryPredicate: Attribute IS NOT NULLTOKEN QueryPredicate: Expr LIKE STRINGVAL QueryPredicate: Expr NOT LIKE STRINGVAL This provides more powerful queries with full expression support |
dragon | 28.08.2007 | 1.3.0 | Completed LALR parse analysis. As expected, analyse performance increases dramatically and generated parse table shrinks to about 15-20% ( based on generated Cego parser ) Still have to check out if generated code is correct and useful |
dragon | 27.08.2007 | 1.3.0 | Started with implementation of LALR parse analysis. |
lfcbase | 26.08.2007 | 1.1.3 | Some small platform adaptions (FreeBSD) in configure script and for NanoTimer |
cego | 25.08.2007 | 1.3.3 | Added lock id information to lock monitor methods Completed extended table spec defs |
cego | 23.08.2007 | 1.3.3 | Added extented table spec to grammar def ( table@tablset ) Fixed remove user / passwd user operation |
cego | 23.08.2007 | 1.3.3 | Added extented table spec to grammar def ( table@tablset ) Fixed remove user / passwd user operation |
lfcbase | 23.08.2007 | 1.1.2 | Introduction of class NanoTimer |
cego | 22.08.2007 | 1.3.3 | Changed hashId calculation to avoid concurrency for page 0 access for different tablesets ( Changed hashId = ( (fileId+1) * (pageId+1) ) % _numPage ) Introduced lock monitor admin service for analysing locking effects |
cego | 18.08.2007 | 1.3.3 | Completed recovery issues and other open issues for 1.3 Added -mthreads link option for MinGW. This is required for a proper exception handling in multithreaded applications |
cego | 17.08.2007 | 1.3.3 | Added lower, upper and trunc function Completed import- and export table operations ( single table and structure ) |
cego | 16.08.2007 | 1.3.3 | Use of non-timeout locks in CegoXXXThreadPool to avoid locking timeout errors |
cego | 15.08.2007 | 1.3.2 | Cego runs pretty stable on Windows. This requires new base library version 1.1.0 |
cegodbd | 13.08.2007 | 1.1.2 | Adaptions for modified enumerations in CegoDbHandler |
cego | 13.08.2007 | 1.3.2 | Further bug and stability fixes for mediator services and online backup mode Elimination of os dependent code and compile-ready-state with MinGW ( Windows ) |
lfcbase | 13.08.2007 | 1.1.1 | Added base for support of MinGW windows suite ( some features still missing ) For this, just small modifications have take place ( mainly in Thread, ThreadLock, Net and SigHandler ) Renaming of Signal to SigHandler class ( to avoid name conflicts occured with windows ) |
lfcbase | 13.08.2007 | 1.1.0 | Added base for support of MinGW windows suite ( some features still missing ) For this, just small modifications have take place ( mainly in Thread, ThreadLock, Net and SigHandler ) Renaming of Signal to SigHandler class ( to avoid name conflicts occured with windows ) |
dragon | 12.08.2007 | 1.2.11 | Added escape token for special regular expressions containing reserved control characters |
dragon | 11.08.2007 | 1.2.11 | With GNU C compiler 3.4.6, a segmentation fault occured with large parse tables To avoid this problem, the option -y has been introduced to generate parser code with dynamic allocated parse tables |
cego | 08.08.2007 | 1.3.1 | Proceed with user documentation. Several small fixes for mediator services |
cego | 07.08.2007 | 1.3.1 | Small bugfixes for new mediator services. Fixed a locking problem in CegoXMLSpace |
cego | 05.08.2007 | 1.3.0 | Syntax consolidation for query and procedure expressions done. This results in a more powerful grammar to provide more advanced features in stored procedures ( e.g. function calls ) |
cego | 29.07.2007 | 1.2.1 | Cleanup work for the online backup features and CegoAdmin |
lfcbase | 29.07.2007 | 1.0.18 | Added trunc method to File class |
cego | 28.07.2007 | 1.2.1 | Tested online backup mode feature and fixed some problems. |
cego | 22.07.2007 | 1.2.1 | Added online backup mode features to CegoFileHandler. As a result, reorganisation of class inheritance regarding CegoXMLSpace was needed ( now CegoLogManager is derived from CegoXMLSpace ) The online backup feature is a prerequisite for the mediator copy tableset function |
cego | 21.07.2007 | 1.2.1 | Completed XML Space isolation. Now all shared XML space operations are synchronized via CegoDatabase Managaer |
cego | 15.07.2007 | 1.2.1 | More work on mediator services for adding archive logs, adding datafiles, getting tableset info. Proceed with cgadm online help Basic mediator services work ( including recovery on secondary ): define, create, copy, start, stop, add user, add archlog, add datafile |
cego | 14.07.2007 | 1.2.1 | Adaptions for 64 compiles for SPARC/Forte C More work on online help for cgadm console client |
lfcbase | 14.07.2007 | 1.0.17 | Defintion of REENTRANT in some classes for thread safe valid strerror information Introduced base class Sleeper |
lfcbase | 14.07.2007 | 1.0.17 | Defintion of REENTRANT in some classes for thread safe valid strerror information Introduced base class Sleeper |
cego | 11.07.2007 | 1.2.1 | Adaptions for cgadm console interface for new mediator services Bug fixes in CegoXMLSpace::addTableSetDef |
cego | 08.07.2007 | 1.2.0 | Distributed tableset definition for mediator, primary and secondary implemented and tested ( Med Services medDefineTableSet and medRemoveTableSet ) Since there are several mediator service spec extensions, I decided to switch to version 1.2 |
lfcxml | 07.07.2007 | 1.0.9 | Added createClone method to class Element |
cego | 07.07.2007 | 1.1.2 | Introduced CegoDatabaseManager class derived from CegoBufferPool. CegoGlobalSpace has been renamed to CegoXMLSpace This is a cleanup step to achive a better isolation and straight locking of the thread global space |
cego | 04.07.2007 | 1.1.2 | Introduced statStart parameter for reset of statistic counter in buffercache. Fixed some bugs with n ew mediator services. Changed shutdown procedure of daemon to shut down all active tablesets. Completed switch and copy mediator confirmation widgets. Tomorrow back in germany |
cego | 03.07.2007 | 1.1.2 | Proceed with med service implementation. Corrections made for batch import mode in combination with archive mode ( since the LogThreadPool was not started up, no arching took place and import has blocked on occupied redo logs ) Added hitrate, readDelay and writeDelay indicators to BufferCache info |
lfcbase | 03.07.2007 | 1.0.16 | Extended Timer base class for recording time usage summary |
cego | 02.07.2007 | 1.1.2 | Fixed some bug fixes occured with multi tablesets. Introduced major mediator services for tableset transistion states DEFINED, OFFLINE_SYNCHED, OFFLINE_NOT_SYNCHED, ACTIVE_SYNCHED, ACTIVE_NOT_SYNCHED, ON_COPY |
cego | 01.07.2007 | 1.1.2 | Redesign of tableset dialog widgets. Since this can be done using JOptionPane in a convenient way, I changed all dialog widgets to this class. |
cego | 30.06.2007 | 1.1.2 | More work on creating, dropping and removing of tableset via admin gui CegoAdm |
cego | 29.06.2007 | 1.1.2 | Cleanup of CegoAdminThread, isolation of service request code to decicated srv* methods. Adding new service for definition of tablesets |
cego | 28.06.2007 | 1.1.2 | Trip to turkey :) More work on cgadm online help, some cosmetic changes on gettablesetinfo operation |
cego | 27.06.2007 | 1.1.2 | Completion and online help of console based cgadm |
cegodbd | 26.06.2007 | 1.1.1 | Adaptions for relocated network classes Net and NetHandler in base 1.0.16 |
cegodbd | 26.06.2007 | 1.1.0 | Tests of DBD-cego on Solaris x86. Some little problems with Makefile.PL finish call required for statements |
cego | 26.06.2007 | 1.1.2 | Fixed a bug occured with distinct option and select * Fixed a bug for correct function/procedure load Added procedure and function cache for faster procedure execution |
cego | 26.06.2007 | 1.1.1 | Fixed a bug occured with distinct option and select * Fixed a bug for correct function/procedure load Added procedure and function cache for faster procedure execution |
lfcbase | 26.06.2007 | 1.0.16 | Relocation of CegoNet and CegoNetHandler utility classes to Net and NetHandler base classes |
cego | 24.06.2007 | 1.1.0 | It seems, there are some compiler problems with Mac OS X 10.4.10 and gcc 4.0.1 With the current update, cego crashes during select in a thread with a strange behaviour also in gdb Perhaps Xcode 2.4.1 might help ... Anyway, for 2.x multinode development, switch of development platform to Solaris is required Added buffer cache disk read/write information to BufferPool::poolInfo and CegoAdm GUI |
cego | 23.06.2007 | 1.1.0 | Added distinct option Fixed a bug in CegoObjectManager. The locking mode was not initialized correctly for the persistent required system pages This problem was detected on Solaris x86 since table dictionary page was not fixed persistent Fixed a bug in CegoIndexCursor occured with select * from t1 where a > 10000, In case of double index entries with value 10000, the query returned zero result tuples Added dbthread abort service for admin thread. Long running queries may be aborted by this service |
lfcbase | 23.06.2007 | 1.0.15 | Added lockDelay parameter to ThreadLock::ThreadLock constructor for appropriate delay configuration This is needed to optimize CPU utilization |
cego | 21.06.2007 | 1.1.0 | Added db thread state connected for more detailed information about db threads ( READY, CONNECTED, BUSY ) Completed sub select queries ( = select , in select , not in select ) and null/not null-Predicate |
dragon | 18.06.2007 | 1.2.10 | Optimization for generated code done. Now parse table is loaded in a static array which leads to a dramatically improved startup performance Startup time has been observed 7 times faster for large parsers and parallel load ( Cego with 1640x132 x 30 threads : dynamic = 7 min startup, static = 1 minute startup ) |
lfcxml | 18.06.2007 | 1.0.8 | Improved performance with new created parser ( dragon 1.2.10 ) |
cego | 18.06.2007 | 1.1.0 | Increased performance with new optimized dragon 1.2.10 generated parser ( about 50% ) The performance benefit results from the improved XML handling but also the native Cego SQL parsing |
cego | 17.06.2007 | 1.1.0 | Bug fixes for protocol change ( occured Solaris ). Tests for logfile shipping continued. Since I have a Solaris x86 based host up and running, multi node testing can be done by using Solaris zones |
cegojdbc | 16.06.2007 | 1.1.0 | Adapted driver for network protocol change |
cego | 16.06.2007 | 1.1.0 | Network protocol change. Now msg size is transferred at the beginning to provide larger messages |
dragon | 15.06.2007 | 1.2.9 | Some optimization done for analysing performance Changed some call-by-value method parameters to call-by-reference ( Dragon::getJump, FirstHast::getFirstSet and Dragon::getClosure ) This lead to about 7% performance improvement |
cego | 14.06.2007 | 1.0.12 | More work on distributed stuff for version 2.x. TableSet copy and remote logging tested |
cego | 12.06.2007 | 1.0.12 | Preparation work for version 2.x Some cleanup of CegoGlobalSpace and mediator connection tests from other machine |
lfcbase | 10.06.2007 | 1.0.14 | Added Chain::setChar to set character value in string Since the crypt system library routine seems to differ on several unix systems ( at least Mac OS X, Linux , Solaris ), I changed the Crypt class to native crypt algorithm implementation as given from Eric Young ( Thanks Eric ! ) |
cego | 09.06.2007 | 1.0.12 | More work on CegoAdm Java GUI Fixed some occured incompatibilties and added threadInfo panel Fixed a problem occured on Linux in CegoXThreadPool::nextRequest: CegoNetHandler **pRequest = _requestQueue.First(); if ( pRequest ) { _requestQueue.Remove(*pRequest); CegoNetHandler *pN = *pRequest; unlockQueue(); return pN; } to CegoNetHandler **pRequest = _requestQueue.First(); if ( pRequest ) { CegoNetHandler *pN = *pRequest; _requestQueue.Remove(*pRequest); unlockQueue(); return pN; } Heavy insert + index creation tests on Linux ( OpenSuse, TableSize : 6 * 10^7 ) System runs stable |
lfcxml | 08.06.2007 | 1.0.8 | Reference count bug fix |
cego | 07.06.2007 | 1.0.12 | Adaptions for 64bit support ( Solaris x86 ) Added threadinfo in CegoAdm |
lfcbase | 06.06.2007 | 1.0.14 | Fixed Chain::asShort method format string ( %d to %hd) |
cegojdbc | 03.06.2007 | 1.0.4 | Added valid resultset for executeQuery calls with any update query |
cego | 03.06.2007 | 1.0.12 | Changed XML_CEGOERROR_DOC to XML_ERROR_DOC |
dragon | 28.05.2007 | 1.2.9 | Added Exception throw to nextChar and shiftToken methods |
dragon | 06.05.2007 | 1.2.8 | Tests of Java code generation for Tracx parser finished Public release |
dragon | 28.04.2007 | 1.2.8 | Fixes for Java code generation |
cego | 18.04.2007 | 1.0.12 | Preparation for further subselect queries ( in, not in, subquery comp ) Proceed with user documentation |
cego | 17.04.2007 | 1.0.12 | Implementation of string functions instr, locate, replace, substr, length Some fixes for null values in CegoDbHandler |
lfcbase | 17.04.2007 | 1.0.14 | Extended posStr method with start position ( class Chain ) |
lfcbase | 16.04.2007 | 1.0.14 | Added posStr method to Chain class |
cego | 15.04.2007 | 1.0.12 | Some reorganisation of CegoSelet::getFacField and friends This is still no clean solution. All function evalation should be capsulated Parser preparation for further string functions instr, locate, replace, substr, length |
lfcxml | 14.04.2007 | 1.0.7 | Improved error message in case of XML syntax errors Public release |
cego | 14.04.2007 | 1.0.11 | Alter statement basically works ( adding and removing columns ) Some corrections for datatype handling in CegoOutut and CegoDbHandler class First public beta release. |
cegodbd | 13.04.2007 | 1.0.2 | Completed procedure out-parameter handling Added corresponding test 09bindinout |
cego | 13.04.2007 | 1.0.11 | Fixed out-parameter handling for stored procedures Now out parameters are registered implicit if not already set up in masterblock This is useful for calling procedures via DBD or JDBC driver Proceed with alter query implementation. Introduced CegoAlterDesc as container class |
lfcxml | 11.04.2007 | 1.0.7 | Some adaptions to the configure.ac file ( for multithreaded compile on Solaris ) |
cego | 11.04.2007 | 1.0.11 | Some adaptions to the configure.ac file Some performance improvements for table inserts CegoTableManager::insertDataTable without table-lookup has been introduced.This saves one call of CegoObjectManager::getObject() Some fixes and performance improvements regarding log file recovery Proceed with user documentation |
lfcbase | 11.04.2007 | 1.0.13 | Public release |
lfcbase | 11.04.2007 | 1.0.13 | Some adaption to the configure.ac file |
cego | 10.04.2007 | 1.0.11 | Some Solaris related fixes. Tested the ZFS based online concept. It works. |
cego | 09.04.2007 | 1.0.11 | Null values have not encoded correctly CegoTableManager::encodeFVL The problem was fixed there. Proceed with user documentation |
cego | 08.04.2007 | 1.0.11 | Some fixes for online backup and subsequent recovery Now online backups are possible ( using the checkpoint escape command ) and complete recovery can be performed using the cgadm recovery commands |
cego | 07.04.2007 | 1.0.11 | More work on backup and recovery. This results in some rework of the checkpointing and logile handling methods Archive log mode basically works |
lfcbase | 07.04.2007 | 1.0.13 | Introduced CommandExecuter class |
cego | 06.04.2007 | 1.0.11 | Added pidfile to access pid of current running cego daemon Implementation of local archive logs in CegoLogThreadPool::shiftRedoLogs started Added synchronization command for cgadm. An escape command argument can be given to the sync command This can be used to perform a backup of the datafiles for online backup. ( better : use Solaris ZFS snapshots to minimize buffer pool locking time ) |
cego | 04.04.2007 | 1.0.11 | Completed client library for stored procedure return and out parameter retrievel ( CegoDbHandler::getProcResult ) |
cegodbd | 03.04.2007 | 1.0.1 | Implemented transaction handling Added more test cases |
cego | 03.04.2007 | 1.0.11 | Introduced type map in CegoDataType ( for better type mismatch error message ) Fixed type check in CegoQuery::execute ( Insert case ) Catched Cntrl-C in cegoclt |
lfcbase | 03.04.2007 | 1.0.13 | Corrected return value in File::readLine() to the right number of bytes read ( i + 1 ) Added lock timeout information to ThreadLock::writeLock and ThradLock::readLock |
cego | 01.04.2007 | 1.0.10 | Basic implementation of the DBD driver is done ( connection, execution, fetching, parameter handling works ) See cego DBD blog for more information. The DBD implementation required some cleanup operations of the cego client library ( isolation of server only methods to derived CegoGlobalDbHandler class ) Public release Please note: Since there was missing a header include in some modules, the release was corrected and uploaded again. If you have some compile problems, please download again. |
cego | 31.03.2007 | 1.0.10 | Started with implementation of perl DBD driver. Derived the required code from the SQLite driver implementation. Since a C++ class usage is required, the XS code has patched a lot ... C++ integration together with DBI includes seems to work DBI connect to cego db works |
cego | 30.03.2007 | 1.0.10 | Fixed writeAllow logic in BufferPool |
cego | 26.03.2007 | 1.0.10 | Changed update statement to treat expressions Update statement generation for stored procs fixed Import/export of empty tables fixed ( added empty stream row element ) Fixed a problem with lock leak procedure cursor After proc block termination, cursors have not been cleaned up |
cegojdbc | 25.03.2007 | 1.0.3 | Changed authorization protocol for cego db version 1.0.9 Public release |
cego | 25.03.2007 | 1.0.9 | The update statement did not work correctly. Some redesign of the update algorithm was required. To avoid any temporary conflicts with existing unique indexes, we force a transaction now, wherein the update occurs ( subsequent delete and insert ) |
lfcbase | 24.03.2007 | 1.0.12 | Changed Chain::toUpper and Chain toLower to const methods Added asShort and asChar conversion methods |
cego | 22.03.2007 | 1.0.9 | BufferPool optimization for creating large index tables : Instead of writing a checkpoint, dirty pages are written to datafile. To avoid data inconsistency, this is just allowed in case of index creation. Reduced BUPMNG_MAXFIXTRIES parameter from 100 to 25. This improved performance dramatically. As a consequence, buffer cache filling rate has been reduced. |
lfcbase | 20.03.2007 | 1.0.12 | Fixed timeout calculation in ThreadLock class. Catched nanosleep exception. |
cego | 18.03.2007 | 1.0.9 | Added drop statement for foreign keys Bug fixes on foreign key handling Bug fixes on import/export handler |
cego | 17.03.2007 | 1.0.9 | Added view and proc objects to import / export Introduced libCego as a client library Isolated Import and export to CegoXPorter |
lfcxml | 16.03.2007 | 1.0.6 | Public release |
cego | 16.03.2007 | 1.0.8 | Public release |
lfcbase | 16.03.2007 | 1.0.11 | Public release |
cego | 12.03.2007 | 1.0.8 | More work on user management. Admin users introduced. |
cego | 12.03.2007 | 1.0.8 | Proceed with user management. Basic management works |
cego | 11.03.2007 | 1.0.8 | Moved fkey check in CegoTableManager::insertTableData after tuple insert to treat self refering foreign keys ( same table, same row ) Added fkey check at foreign key creation time Added admin feature to add new datafiles Fixed thread termination synchronization for database shutdown ( Joining db, log and admin threads after terminate signal ) Started with user management |
lfcbase | 11.03.2007 | 1.0.11 | Add Crypt class for key encryption |
lfcxml | 07.03.2007 | 1.0.6 | Bug fix in XMLSuite::nextChar(). Added moreData call after scanning " character for string values This bug lead to empty attribute values in some special cases " |
cego | 06.03.2007 | 1.0.8 | Another work on import/export Export and import for tables, indexes and foreign keys basically works |
cego | 06.03.2007 | 1.0.8 | Another work on import/export Export and import for tables, indexes and foreign keys basically works |
cego | 05.03.2007 | 1.0.8 | Started with import/export admin features. This requires added streaming features in the XML suite New streaming classes CegoExpOutStream and CegoImpInStream introduced Rework of CegoAdm done Basic XML tableset export works now |
lfcxml | 05.03.2007 | 1.0.6 | Eliminated newline in XML chain in case of empty content Added classes XMLInStream and XMLOutStream as super classes for user controlled stream handling This is useful to handle huge amount of input or output data |
cego | 04.03.2007 | 1.0.8 | Small fix in CegoSelect to correct group aggregation values Small fix in CegoFieldValue copy constructor to set _pV to 0 |
cego | 04.03.2007 | 1.0.7 | Small fix in CegoSelect to correct group aggregation values Small fix in CegoFieldValue copy constructor to set _pV to 0 |
cego | 03.03.2007 | 1.0.7 | Fixes on index deletion algorithm. In case of non-unique index values, wrong entries have been removed This has been fixed by comparing the datapointer for the data tuples. This is implemented in the method CegoIndexManager::searchDataPointer() Changed MINFREE to dynamic MINFREERATIO in CegoDefs.h and CegoBufferPage to avoid minfree exceptions Modified cegoblow to blow arbitrary queries ( insert / delete ) and also to generate sql-load file ( if hostname and port arguments ommitted ) Public release |
cego | 28.02.2007 | 1.0.6 | Testing of new index deletion algorithm Added some missing releaseDataPtrUnlocked calls to avoid buffer fix leaks Public version released |
lfcbase | 28.02.2007 | 1.0.10 | Public version released |
cego | 26.02.2007 | 1.0.6 | Since in case of index entry deletion, it is not enough to propagate the decrease of a subnode to its parent, a new method CegoIndexManager::propagateRotation was added. RL-Rotations may lead to unbalanced subnodes, which may be treated in a dedicated step. Deletion of index entries in AVL trees seems to be pretty complicated ... To handle the rebalancing during index deletion, the method propagateRotation was extended and renamed to rebalanceNode Now all rebalancing analysis and treatment for any unbalanced node situation is managed by this method Basically works ! Fixed the count(*)-NULL bug. ( NULL is printed for count(*) = 0 ) |
cego | 25.02.2007 | 1.0.6 | Fixed index value handling for null values. For this, the length of the data field is stored with the index field value Fixes a bug in group aggregation ( first aggregation was not handled ) There seams to be a bug in the index deletion algorithm. This occured by testing the new index value handling Fixed some of the problems in CegoIndexManager::deleteIndexTableData. There are still some open problems regarding index balancing ... |
cego | 19.02.2007 | 1.0.6 | Some bug fixes on the improved join construction Corrections done for null value handling in class CegoFieldValue und CegoDbHandler Proceed with HTML guide |
cego | 18.02.2007 | 1.0.6 | Improved join performance achieved by extended CegoAttrCond class Now select queries like "select count(*) from t1, t2 where t1.a=20 and t1.a = t2.a;" will use index a on t1 and t2. Index search value for table t2 is set up during the join after evaluating t1.a value An execution plan may look like plan select * from t1 , t2 where t1.a=42 and t1.a = t2.a; Execution Plan : Joining t1(t1_1) IndexCondition -> a = 42 Joining t2(t2_2) IndexCondition -> a = t1_1.a ok ( 0.003 s ) |
cego | 17.02.2007 | 1.0.6 | OrderSpace implementation basically works Added plan statement to show select execution plan |
cego | 12.02.2007 | 1.0.6 | Started with OrderSpace implementation ( for tuple ordering in select query) This requires three new classes called CegoOrderEntry, CegoOrderSpace and CegoOrderCursor |
cego | 11.02.2007 | 1.0.6 | Grouping clause basically works ( without having ) |
lfcbase | 11.02.2007 | 1.0.10 | Added operator == to ListT |
cego | 10.02.2007 | 1.0.5 | Redesign of CegoSelect::nextTuple and CegoSelect::evalSelection to prepare for grouping clause Public release |
lfcbase | 10.02.2007 | 1.0.9 | Public release |
cego | 09.02.2007 | 1.0.5 | Fixed int-alignment in CegoIndexEntry and CegoFieldValue ( detected on HP/UX ) |
lfcbase | 09.02.2007 | 1.0.9 | Fixed BigDecimal constructor |
lfcbase | 08.02.2007 | 1.0.9 | Catched in Chain::truncLeft and Chain::truncRight method zero truncated strings ( Chain("0000").truncLeft("0") ) |
cego | 07.02.2007 | 1.0.5 | Syntax extension for group by and order clause Started with design of grouping |
cego | 04.02.2007 | 1.0.5 | Proceed with module cleanup ( 65 / 75 treated ) Fixed missing joinbuf reference for like-clause attributes ( problem, if the atribute does not appear in selection list ) Exception throw for unknwon attributes ( was ignored ) : select foo from t1 Module cleanup finished |
cego | 03.02.2007 | 1.0.5 | Several fixes for new locking policy Transactions now are mainly working, rollback after db crash still not handled Completed date2str function implementation HTML documentation extension regarding transactions |
lfcbase | 03.02.2007 | 1.0.9 | Treated empty patterns in Matcher::match method Some bug fixes on new ThreadLock class Added tzset() call to Datetime class for correct timezone setting |
cego | 30.01.2007 | 1.0.5 | Introduced defensive locking with r/w-locks and locking timeout support for deadlock situation |
lfcbase | 29.01.2007 | 1.0.9 | Added class ThreadLock for better thread lock handling inclusing read/write locks and lock timeouts |
lfcxml | 28.01.2007 | 1.0.5 | Proper format returned by XMLSuite::getXMLChain method. Whitespaces in content are stripped and the tag structure of the xml tree is mapped to an appropriate output format |
cego | 28.01.2007 | 1.0.5 | Reactivation of transaction functions Provided dump function to dump any user, system or rbseg table to client |
cegojdbc | 27.01.2007 | 1.0.2 | Started HTML documentation of the driver Small fixes in CegoStatement class Fixed function return value handling |
cego | 27.01.2007 | 1.0.5 | Added "fixed" datatype ( used for currency ) Public alpha release of version 1.0.4 |
cego | 27.01.2007 | 1.0.4 | Added "fixed" datatype ( used for currency ) Public alpha release of version 1.0.4 |
lfcxml | 26.01.2007 | 1.0.4 | Fixed Element::getXMLText to use XMLEscaper Fixed XMLEscaper |
lfcbase | 26.01.2007 | 1.0.8 | Fixed some bugs in Chain::replaceAll Public release |
dragon | 24.01.2007 | 1.2.7 | Catched missing grammar defintion in Main Clustered parser table load in generated C++ code for better compile performance Indent format corrections in generated code |
lfcxml | 22.01.2007 | 1.0.4 | Added XMLEscaper class for consolidated escape character treatment |
lfcbase | 22.01.2007 | 1.0.8 | Added Chain::replaceAll method for faster string replacement Added #define _XOPEN_SOURCE_EXTENDED in Net.cc fro HP/UX portability |
cegojdbc | 20.01.2007 | 1.0.1 | Further tests of the Driver during development of the jacc sample application Added BigDecimal handling Fixed function return value handling |
cego | 20.01.2007 | 1.0.4 | Several bugs fixed regarding procedures and functions, occured by developing the Cego sample application Jacc |
cego | 20.01.2007 | 1.0.4 | Several bugs fixed regarding procedures and functions, occured by developing the Cego sample application Jacc |
lfcxml | 19.01.2007 | 1.0.4 | Fixed a bug in XMLSuite::nextChar(). moreData must not return next char to scanner ( this fails in case of quote-characters as the first sign ) Rather, a surrounded while-loop leads to the further input handling Exception is catches in case of exceeding content buffer |
cego | 16.01.2007 | 1.0.4 | Integration of decimal data type |
cego | 15.01.2007 | 1.0.4 | Proceed with user guide
change primary index create statement ( primary index name is now
alway |
dragon | 14.01.2007 | 1.2.6 | Minor corrections in error messages Public release |
lfcxml | 14.01.2007 | 1.0.3 | Public release |
cego | 14.01.2007 | 1.0.3 | Test of the new indexmanager Public release |
lfcbase | 14.01.2007 | 1.0.7 | Added Chain::isDec method Introduced class BigDecimal Public release |
cego | 13.01.2007 | 1.0.3 | An ugly bug took me almost 2 days to fix. In CegoIndexManager::insertIndexTable, the index entries have not been claimed and released This lead to an corrupted index, but just in case of page relocation of the buffer bool |
cego | 11.01.2007 | 1.0.3 | Index build with height logic now works ( deletion still to do ) Introduced a check index command to verify consistency of index |
lfcbase | 10.01.2007 | 1.0.7 | Change in Exception class to provide error information without module location semctl call correction in Semaphore classs |
cego | 08.01.2007 | 1.0.3 | Redesign of CegoIndexManager. Since after node rotation, the balance values of the index entries could not be set obviously to correct values, I decided to switch from three value balance attribute to height value of subtree. This involves some code changes in CegoIndexEntry and CegoIndexManager |
lfcxml | 06.01.2007 | 1.0.3 | Handling of excape sequences ( for < sign ) in Attribute::setValue and Attribute::getValue method |
cego | 06.01.2007 | 1.0.3 | Proceed with user guide Changed procedure variable reference syntax for assign statements and proc call statements Fixed a locking bug in CegoGlobalTableManager::createLocalIndexTable |
cego | 05.01.2007 | 1.0.3 | Added procedure variable evaluation for select statement Procedure vars now are referenced with the colon sign to distinguish from table attribute references Fixed a locking bug occured by dropping procedures Proceed with user guide |
cego | 04.01.2007 | 1.0.3 | Cego protocol file ( cego.log ) now customizable via command line argument Changed thread pool queue locking to dedicated semaphores Now NETMNG_SELECT_TIMEOUT in CegoDefs.h set to 1500000 Fixed a bug in CegoGlobalManager::updateLocalDataTable , update schema was not set up correctly for index based updates Fixed a bug in CegoProcFetch::fetch, proc variable was net set up correctly |
cego | 03.01.2007 | 1.0.3 | Small fixes on cgclt Heavy tests on the backend with large tables and corresponding indexes ( 8*10^6 tuples ) For a good performance, actually the index should fit into the bufferpool Increased NETMNG_SELECT_TIMEOUT from 3000 to 500000 usec to avoid CPU usage of the thread pool threads. This increased the select count(*) performance of 8 mio tuples from 98sec to 14 sec. |
cego | 02.01.2007 | 1.0.3 | Lock consolidation for locks in CegoBufferPool and CegoFileHandler Now all mutex are manged by the CegoLockHandler class. This fixes another locking problem with the locks in CegoBufferPool and CegoFileHandler |
lfcxml | 01.01.2007 | 1.0.2 | Fixed a memory leak in Document::clear(). Root element was not deleted |
cego | 01.01.2007 | 1.0.3 | Memory leak fixed located in xml library ( fixed with xml 1.0.2 ) Locking problem fixed in CegoBufferPool and CegoFileHandler Cleanup of CegoDefs.h |
cego | 31.12.2006 | 1.0.2 | Introduced msg receive timeout in NetHandler class Proceed with module cleanup ( 42 / 75 treated ) Public alpha release of version 1.0.2 |
cego | 30.12.2006 | 1.0.2 | Cleanup on CegoGlobalTableManager with object protection Still a lot of todos for Version 2 Proceed with user guide |
cego | 29.12.2006 | 1.0.2 | More work on object protection for create/drop operations Object protection now handled via GlobalSpace::useObject and GlobalSpace::unuseObject methods |
cego | 28.12.2006 | 1.0.2 | Fixes on query aggregation functions done ( avg, min, max ) Object ( record ) locking introduced to protect table during index build Bug-Notice to the bug from 15.06.2006 : The issue has been fixes in the meantime. The problem was located in the nextRequest-method of the CegoXThreadPool classes. Code changed from P(); CegoNetHandler **pRequest = _requestQueue.First(); if ( pRequest ) { _requestQueue.Remove(*pRequest); V(); return *pRequest; } to P(); CegoNetHandler **pRequest = _requestQueue.First(); if ( pRequest ) { _requestQueue.Remove(*pRequest); CegoNetHandler *pN = *pRequest; V(); return pN; } |
cego | 27.12.2006 | 1.0.2 | LogManager extension for handling object create/alter/drop cglog extension to trace create/alter/drop Changed lsn start values from 0 to 1 for better log handling |
cego | 26.12.2006 | 1.0.2 | Proceed with user guide Proceed with module cleanup ( 38 / 75 treated ) |
cego | 25.12.2006 | 1.0.1 | Proceed with user guide Proceed with module cleanup ( 27 / 75 treated ) Public alpha release of version 1.0.1 |
cego | 24.12.2006 | 1.0.1 | Cleanup on CegoOutput to prepare for datatype handling float, double and bigint type basically work now |
lfcbase | 23.12.2006 | 1.0.5 | Some minor enhancements in File class as a merge result of the Tracx base classes |
cego | 21.12.2006 | 1.0.1 | Started with web based user documentation |
cego | 20.12.2006 | 1.0.1 | More work on CegoIndexManager::propagateDecrease which handles tree balancing after index deletion. This is the hardest part of the story. Since many cases have to be treat, it will take a while to make run this stable. Benefit: No reorganization of indexes is required after heavy insert/delete operations First tests for rebalancing after deletion are sucessful Proceed with module cleanup ( 20 / 75 treated ) |
cego | 18.12.2006 | 1.0.1 | Cleanup work on IndexManager. Balancing after index deletion is still not done. For this, the rotation operation methods for the AVL index trees have been isolated Now they can be used for balancing after deletion. |
cego | 17.12.2006 | 1.0.1 | Cleanup work on stored procedures. Return value handling added to procedures and functions. Minor language extension for retrieving object information ( adding show user [view,index,procedure] ). Bug fixes regarding object dropping. |
cego | 15.12.2006 | 1.0.1 | Multithreading tests started. Fixed a locking bug in CegoObjectManager::insertPageData After getNewFilePage, fileId and pageId have not been assigned to the new values, which lead to wrong arguments in lockDataPage call Fixed some (old) issues in the CegoLockHandler class ( from multi-process version ) |
cego | 14.12.2006 | 1.0.1 | Started with final code cleanup |
cego | 13.12.2006 | 1.0.1 | Prepared SQL function structure in CegoSelect and CegoFacDesc Implementation of first string function LEFT The locking strategy in BufferPool::bufferfix and BufferPool::bufferUnfix seems to be to rough. A locking granularity on hashIds would enable parallel reads and wirtes on different datafiles ... |
cego | 11.12.2006 | 1.0.1 | Little syntax extension for date value handling: date( < value > , < format > ) |
cego | 10.12.2006 | 1.0.1 | Performance optimization and bugfixing on subqueries A more intelligent strategy is used for query execution preparation ( references and join execution structures are build up now ONE time in the master query ) |
dragon | 09.12.2006 | 1.2.5 | Compiler Cleanup for Forte C++ ( Solaris ) |
lfcxml | 09.12.2006 | 1.0.1 | Adapted version for base 1.0.4 Compiler Cleanup for Forte C++ ( Solaris ) |
cego | 09.12.2006 | 1.0.1 | JDBC now works for Callable Statements ( Stored Procedures ) in a basic way Source cleanup has been done in accordance to Forte C++ ( Solaris ) Performance tests with insert and select operations habe been done. TableSchema : int, string(30) Insert performance via stored proc ( no index) : 100000 rows in 7 sec Insert performance via stored proc ( one index on integer ) : 100000 rows in 12 sec Create index : 100000 rows in 4 sec Select count(*) : 200000 rows in 0.3 sec Select count(*) : 1000000 rows in 1.5 sec Select count(*) with where condition : 1000000 rows in 3 sec |
lfcbase | 09.12.2006 | 1.0.4 | Compiler cleanup for Forte C++ |
dragon | 04.12.2006 | 1.2.4 | Make dragon conform to base 1.0.4 |
lfcbase | 04.12.2006 | 1.0.4 | Cleanup of sample directory Changed class Exception from ListT to StackT msg handling ( this enables using Exception for ListT::operator [] |
lfcxml | 02.12.2006 | 1.0.0 | Prepared XML library for reading large file streams With the XMLSuite::setFile method, the XML stream is buffered read from a file |
cego | 02.12.2006 | 1.0.1 | More workd on JDBC driver and extensions to cego server ( session handling ) |
cego | 26.11.2006 | 1.0.1 | Proceed with JDBC Driver, this is still much work ... fixed tableinfo statement and added method CegoObjectManager::getPageCount to retrieve page count information for table objects |
cego | 25.11.2006 | 1.0.1 | Tested cego with high volume data ( 10 G ), engine works pretty stable Checking CegoFieldValue value ptr for zero in comparison to catch non-initialized variables Handling session abort in CegoDbThread, CegoAdminThread and CegoLogThread Started with JDBC Driver implementation, basic query works |
cego | 21.11.2006 | 1.0.1 | Fixed some alignment problems in CegoTableObject ( occured with Solaris ) Added datetime data type |
cego | 20.11.2006 | 1.0.1 | Fixed some memory leaks Fixed some log handler problems |
cego | 19.11.2006 | 1.0.1 | Cursor added to precedures Client XML protocol bugfixing Select Aggregation fixing |
cego | 18.11.2006 | 1.0.1 | Procedures basically work ( cursor still missing ) Started with null value implementation |
cego | 13.11.2006 | 1.0.1 | Cleanup of Cego.def and CegoAction Proceed with procedure implementation Introduction of bool datatype |
cego | 12.11.2006 | 1.0.1 | Proceed with procedure implementation Procedures are parsed, stored and loaded now |
dragon | 06.11.2006 | 1.2.3 | Check of recursive usage of useless productions added. ( prod -> prod IDENTIFIER was nor detected as useless, if prod was not used in other productions ) |
lfcbase | 06.11.2006 | 1.0.4 | Added BigDecimal class |
lfcbase | 06.11.2006 | 1.0.3 | Added Datetime(int) constructor and asInt() method to class Datetime Added asBool to class Chain |
lfcbase | 06.11.2006 | 1.0.2 | Changed SetT.First() and SetT.Next() methods to be const |
cego | 05.11.2006 | 1.0.1 | Started with procedure implementation Following classes have been added : CegoProcedure CegoProcParam CegoProcCursor CegoProcBlock CegoProcStmt CegoProcIfStmt CegoProcCursorLoopStmt CegoProcAssignStmt CegoProcExpr CegoProcTerm CegoProcFactor CegoProcCond CegoProcPred |
cego | 04.11.2006 | 1.0.1 | Views are basically work fine |
cego | 01.11.2006 | 1.0.1 | CegoGlobalTableCursor basically adapted for view handling View are dynamically parsed and loaded if detected from the table cursor Still need some work to get this stuff run ... |
cego | 30.10.2006 | 1.0.1 | Foreign keys basically work. Introduced CegoContentObject as an abstract container class for table and view objects. Changed the CegoSelect class to handle CegoContent objects ( requirement for view handling ) |
cego | 29.10.2006 | 1.0.1 | Foreign key implementation started. View management implementation started. |
cego | 23.10.2006 | 1.0.1 | Select queries seem to run well again. The join optimizing logic was fixed but also an alignment bug in the CegoIndexCursor::getFieldList method. |
lfcbase | 23.10.2006 | 1.0.1 | Introduced Bitmap class. Introduced version string variable vor release control. |
cego | 22.10.2006 | 1.0.1 | In terms of view and procedure implementation, the CegoSelect class had to be redesigned. Now there is provided a nextTuple method for controlled retrievel of selected tuples. This is necessary to retrieve tuples in nested views, but also for db cursor implementation. Also the class looks more lean and clean now. |
cego | 21.10.2006 | 1.0.1 | The change of CegoObjectEntry had some impact to using classes. Affected classes have been changed. Introduced object classes for views and procedures. |
dragon | 16.10.2006 | 1.2.2 | Changed '$'-Token to 'ENDTOKEN'-Token for Compiler compatibility |
cego | 16.10.2006 | 1.0.1 | Started with implementation of foreign keys. Basic structures are ready. Split of CegoObjectEntry in superclass CegoObject + derived classes CegoTableObject and CegoKeyObject This lead to a cleaner object design. |
cego | 15.10.2006 | 1.0.1 | Nested Join basically works well ( allquantor results seem to be ok ) |
cego | 14.10.2006 | 1.0.1 | Further preparation work for nested select queries Cleanup of XML attribute definitions |
cego | 13.10.2006 | 1.0.1 | Isolation of CegoQuery::select-methods to class CegoSelect |
dragon | 10.10.2006 | 1.2.1 | Some small documentation fixes have been done |
dragon | 09.10.2006 | 1.2.0 | New code runs. Java based parser basically tested. |
cego | 09.10.2006 | 1.0.1 | Made CegoGlobalSpace class threadsafe. Changed CegoBlow Test-Program for direct attach to db. |
dragon | 07.10.2006 | 1.2.0 | Implementation of Java code generation done. Still untested. |
cego | 06.10.2006 | 1.0.1 | Queries work now with new tableset model. Some changes have been required in CegoFileHander::allocatePage() and CegoFileHandler::getHandle() to handle tableset > 1 |
cego | 05.10.2006 | 1.0.1 | CegoAdm : Fixed some appearance issues in the DataFile Monitor and BufferCache Monitor Cego : Added table startup feature for daemon mode. Made some basic function tests with db queries. cego cores with activated log and treating select queries. Fixed the problem for the activated log |
cego | 04.10.2006 | 1.0.1 | Again back to CegoAdm. Start and stop of tableset via Admin GUI now basically works. |
cego | 03.10.2006 | 1.0.1 | Introduction of cego to the public web page |
cego | 25.09.2006 | 1.0.1 | Further work on GUI. Added action panel and separator design. Cleanup and better code design of several JPanels. Looks more beautiful now ... |
cego | 24.09.2006 | 1.0.1 | GUI programming is tough. Spent a lot of time in CegoADM GUI design to find an appropriate appearance. Now all essential node and table set information are displayed pretty nice. |
cego | 22.09.2006 | 1.0.1 | Further work on CegoAdm Java Frontend. Active nodes and tableset are displayed and managed in Jtree structures |
cego | 21.09.2006 | 1.0.1 | Added create and drop tableset services. Introduced table set status values |
cego | 20.09.2006 | 1.0.1 | Started with reprise of the CegoAdm stuff. Back to Java ... |
cego | 18.09.2006 | 1.0.1 | Introduced recovery services to CegoAdmin |
cego | 17.09.2006 | 1.0.1 | Added the file copy service to CegoAdmin |
cego | 16.09.2006 | 1.0.1 | Better help output was designed ( cego -h ) CegoAdminHandler was extended to request db spec information. The CegoLogThread works in a basic form. |
cego | 09.09.2006 | 1.0.1 | some work done on LogManager and friends. Introduced new classes for logfile shipping ( CegoLogThreadPool, CegoLogThread and CegoLogHandler ) |
cego | 04.09.2006 | 1.0.1 | more bugfixing and cleaning regarding the tabsetId extension |
cego | 03.09.2006 | 1.0.1 | some bugfixing in CegoFileHandler and CegoTableManager ( caused by tableset extension ) |
cego | 28.08.2006 | 1.0.1 | another redesign of the thread structure. Now we have the following thread model: db thread pool admin thread pool mediator thread beat thread The CegoAdmin program was modified in a way, that it connects to the admin thread pool for basic admin actions. |
cego | 23.07.2006 | 1.0.1 | transfer of admin data works. Data is transferd via xml to requestor |
cego | 09.07.2006 | 1.0.1 | DB configuration now is described in a XML definition file Introduction of CegoGlobalSpace for meta information handling ( host, tableset and global objecct information ) Introduction of CegoAdmin as admin console client Introduction of CegNet::nextMessage for single threaded message handling Basic testing |
cego | 08.07.2006 | 1.0.1 | Introduction of table set management. This results in a fundamental change of several classes. Current state of code is compile ready but still not tested. |
cego | 03.07.2006 | 1.0.1 | Further work on session handling. Bug fixing on protocol errors |
cego | 02.07.2006 | 1.0.1 | Renaming CegoXMLHandler to CegoSessionHandler. Completion of first draft xml protocol implementation. basic query works now ... |
cego | 27.06.2006 | 1.0.1 | introduced CegoXMLHandler for complete XML protocol encapsulation |
cego | 26.06.2006 | 1.0.1 | table sync works but code is still not very clean ( XML message handling encapsulation ) |
cego | 24.06.2006 | 1.0.1 | further work on table sync function |
cego | 22.06.2006 | 1.0.1 | added pointer alignment to CegoTableManager::encodeFVL and CegoTableManager::decodeFVL ( bus error on Sparc) |
cego | 19.06.2006 | 1.0.1 | introduced mediator, basic sync table function ( SYS_HOST, SYS_TABLEGROUP, SYS_GLOBALOBJECT) |
cego | 18.06.2006 | 1.0.1 | added global getObject feature cleanup of CegoThread xml handling |
cego | 17.06.2006 | 1.0.1 | more work on the global table handling, introduced SYS_GLOBALOBJECT and added node to node communication to CegoGlobalTableManager and CegoThread testing of the first distributed table creation and insert commands |
cego | 16.06.2006 | 1.0.1 | The MT-problem also occurs on the PPC but not on FreeBSD. Added some client protocol enhancements for query and error handling Added tableGroupId attribute to CegoObjectEntry Introduced SYS_TABLEGROUP table in CegoSystemSpace Introduced SYS_HOST table in CegoSystemSpace added several access methods in CegoSystemSpace ( getHostId, addHostInfo, addTableGroup, getTableGroupId, getPrimaryHostId, getHostInfo ) |
cego | 15.06.2006 | 1.0.1 | made some heavy MT-Tests with multiple client against cego daemon. Fixed some synchronisation problems. There is still a memory access problem, if too many incoming requests are handled ( heavy memory requests occur ). Perhaps this is an Mac OS X pthread problem. I have to analyse this bug more detailed ( on Mac OSX/PPC or Solaris ) |
cego | 12.06.2006 | 1.0.1 | introduced client session protocol in CegoThread and CegoClient introduced CegoGlobalTableManager, CegoGlobalTableCursor and CegoQueryHelper for global table handling |
cego | 11.06.2006 | 1.0.1 | changed lsn management to avoid access to SystemSpace in bufferFix ( now managed by CegoDBInfo ) some debug mode enhancements |
cego | 10.06.2006 | 1.0.1 | Integration of native ObjectCursor into CegoTableCursor ( usage in CegoQuery methods ) This is a preparation for the global approach because of SPARC memory alignment requirements type change of short to int some cleanup of semantic actions for Condition handling bug fix in CegoObjectManager ( removed inheritance from CegoLockHandler ) |
cego | 06.06.2006 | 1.0.1 | better exception handling of CegoThread signal handling in CegoThreadPool |
cego | 05.06.2006 | 1.0.1 | Code is running again with new CegoThreadPool and CegoNet classes |
cego | 29.05.2006 | 1.0 | Transition of the most old dbeng PQL classes to CEGO Modification for thread save operation was made ( thread interface is CegoBufferPool ) |