notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
This referral link gives you 10% off a account and gives me a discount on my Fastmail account.

Get notified when packages are built

A new feature has been added. FreshPorts already tracks package built by the FreeBSD project. This information is displayed on each port page. You can now get an email when FreshPorts notices a new package is available for something on one of your watch lists. However, you must opt into that. Click on Report Subscriptions on the right, and New Package Notification box, and click on Update.

Finally, under Watch Lists, click on ABI Package Subscriptions to select your ABI (e.g. FreeBSD:14:amd64) & package set (latest/quarterly) combination for a given watch list. This is what FreshPorts will look for.

non port: databases/cego/distinfo

Number of commits found: 304 (showing only 100 on this page)

«  1 | 2 | 3 | 4  »  

Saturday, 25 Nov 2017
12:54 pi search for other commits by this committer
databases/cego: update 2.38.3 -> 2.38.5

- Fix in CegoBTreeValue::valueFromSchema, introduced 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
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:454880 
Wednesday, 22 Nov 2017
18:46 pi search for other commits by this committer
databases/cego: update 2.38.1 -> 2.38.3

- Fix in CegoXMLSpace::setTSSortAreaSize, changed type from int to
  unsigned long long, otherwise overflow may occur for large sort
  area size configurations
- 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.

Submitted by:	Bjoern Lemke <>
Original commitRevision:454698 
Sunday, 19 Nov 2017
09:33 pi search for other commits by this committer
databases/cego: update 2.38.0 -> 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 )

Submitted by:	Bjoern Lemke <>
Original commitRevision:454483 
Saturday, 18 Nov 2017
08:34 pi search for other commits by this committer
databases/cego: update 2.37.3 -> 2.38.0
databases/cegobridge: update 1.2.1 -> 1.3.0

- Fix in CegoSelect::clone, pUnionSelect was not cloned, which might
  lead to seg faults
- 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.

- 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 )

Submitted by:	Bjoern Lemke <>
Original commitRevision:454415 
Wednesday, 15 Nov 2017
12:32 pi search for other commits by this committer
databases/cego: update 2.37.1 -> 2.37.3

- 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
- Adaption in CegoMain to also parse comment lines in a more
  sophisticated way ( same as in CegoMain ), just relevant for server
  batch mode
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:454234 
Friday, 10 Nov 2017
19:09 pi search for other commits by this committer
devel/lfcbase: update 1.11.0 -> 1.11.1
devel/lfcxml: update 1.2.5 -> 1.2.6
databases/cego: update 2.37.0 -> 2.37.1
databases/cegobridge: update 1.2.0 -> 1.2.1

- New generated configure script with libtool-2.4.6

Submitted by:	Bjoern Lemke <>
Original commitRevision:453921 
Wednesday, 8 Nov 2017
10:23 pi search for other commits by this committer
devel/lfcbase: update 1.10.3 -> 1.11.0
databases/cego: update 2.36.4 -> 2.37.0
databases/p5-DBD-cego: update 1.3.0 -> 1.4.0
databases/cegobridge: update 1.1.6 -> 1.2.0

- Layout improvements in Pager class
- Changed constructor for Net and NetHandler class to setup maxSendLen.
  Since this changes the API, minor release level has been increased

- Improvements for cgblow simulation mode added
- 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
- 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
- Added show parameter admin command to show all tableset independent
  database parameters

- support changed API with lfcbase-1.11.0

- support changed API with lfcbase-1.11.0

Submitted by:	Bjoern Lemke <>
Original commitRevision:453728 
Wednesday, 1 Nov 2017
17:42 pi search for other commits by this committer
devel/lfcbase: update 1.10.1 -> 1.10.2
databases/cego: update 2.36.3 -> 2.36.4
databases/cegobridge: update 1.1.5 -> 1.1.6

- 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.
- Improved error messages for invalid database objects
- Decreased shutdown delay time by reducing net delays for all
  thread pools and optimized mediator thread wait procedure
- Completely removed the nologging option for import actions.
  Logging is disabled in any case now.
- 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

- Speed up imports by changing the way the parser reads the input

Submitted by:	Bjoern Lemke <>
Original commitRevision:453310 
06:44 pi search for other commits by this committer
databases/cego: update 2.36.2 -> 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:453262 
Monday, 30 Oct 2017
19:36 pi search for other commits by this committer
databases/cego: update 2.36.1 -> 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:453209 
Sunday, 29 Oct 2017
10:42 pi search for other commits by this committer
databases/cego: update 2.36.0 -> 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.
- 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
- fixes in CegoXPorter for CLOB handling ( was not checked for plain exports )

Submitted by:	Bjoern Lemke <>
Original commitRevision:453106 
Saturday, 30 Sep 2017
06:17 pi search for other commits by this committer
databases/cego: 2.35.10 -> 2.36.0

- Completed pointer cleanup in CegoQueryHelper::evalPredicate, added
  check061 to check pointer cleanup
- 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
- 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 )
- Adding missing export / import messages to CegoXPorter
- 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 )

Submitted by:	Bjoern Lemke <>
Original commitRevision:450945 
Sunday, 17 Sep 2017
18:23 pi search for other commits by this committer
databases/cego: update 2.35.8 -> 2.35.10

- 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.
- 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 main loop
- Small format fix in CegoProcCreateStmt ( missing indent )
- Add header row out put for client raw mode ( attribute names )
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:450018 
Saturday, 9 Sep 2017
20:38 pi search for other commits by this committer
databases/cego: update 2.35.4 -> 2.35.8

- 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.
- 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
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:449509 
Sunday, 3 Sep 2017
09:44 pi search for other commits by this committer
databases/cego: update 2.35.3 -> 2.35.4

- Added tuple information command tupleinfo to indicate
  tuple state information for a given table
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:449192 
Saturday, 2 Sep 2017
10:08 pi search for other commits by this committer
devel/lfcxml: update 1.2.4 -> 1.2.5
databases/cego: update 2.35.2 -> 2.35.3

- Small improvement in XMLSuite::nextChar to check for non-ASCII characters

- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:449117 
Friday, 25 Aug 2017
19:50 pi search for other commits by this committer
databases/cego: update 2.35.1 -> 2.35.2

- Fix for a bad patch
  In CegoSelect::clone also the pCache variable has to be copied
  ( was previously done by calling setTabSetId )

Submitted by:	Bjoern Lemke <>
Original commitRevision:448737 
Thursday, 24 Aug 2017
17:20 pi search for other commits by this committer
databases/cego: update 2.35.0 -> 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:448698 
Wednesday, 23 Aug 2017
14:32 pi search for other commits by this committer
databases/cego: update 2.34.0 -> 2.35.0

- Fix in CegoDistManager::checkKey ( used for verify tableset admin
  commend ). Check for foreign key has been redesigned
- 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 view will not work
- 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
- The previous problem regarding query cache is a result of the new
  introduced select cloning. The extended query id string should solve
  the problem
- 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
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:448624 
Saturday, 12 Aug 2017
12:21 pi search for other commits by this committer
devel/lfcbase: update 1.9.7 -> 1.10.0
databases/cego: update 2.33.22 -> 2.34.0

- Adoptions made in CommandExecuter and Outstream for MINGW builds
- Added Datetime advanced constructor for more efficient datetime construction

- Small fix in CegoAttrCond::operator = , compare Find result
  with 0 instead of false. A compile error occured for MINGW compiles
- 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
- 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 )

Submitted by:	Bjoern Lemke <>
Original commitRevision:447824 
Saturday, 5 Aug 2017
12:12 pi search for other commits by this committer
databases/cego: update 2.33.21 -> 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:447401 
Saturday, 29 Jul 2017
07:01 pi search for other commits by this committer
databases/cego: update 2.33.20 -> 2.33.21

- Added further constraint check in CegoTableManager::dropObjectSynced.
  Primary objects just allowed to be removed, if no foreign key
  reference exists
- More fixes on foreign key contraint handling in
  CegoTableManager::checkKeyIntegrity and CegoTableManager::insertDataTable
- Fix in CegoTableManager::checkKeyIntegrity. The implementation
  of the mehod has been completly reworked, since not all violation
  cases have been treated.

Submitted by:	Bjoern Lemke <>
Original commitRevision:446869 
Saturday, 22 Jul 2017
08:34 pi search for other commits by this committer
databases/cego: update 2.33.19 -> 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:446373 
Sunday, 16 Jul 2017
13:47 pi search for other commits by this committer
databases/cego: update 2.33.18 -> 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
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:446004 
Friday, 14 Jul 2017
06:22 pi search for other commits by this committer
databases/cego: update 2.33.16 -> 2.33.18

- Method cleanup in, also some irrelevant case is
  treated for grouping clauses in combination with distinct operator
- 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
- For this, also the CegoXMLSpace::setCounterValue method has been
  changed to return the current counter value return the current
  counter value

Submitted by:	Bjoern Lemke <>
Original commitRevision:445730 
Thursday, 29 Jun 2017
05:38 pi search for other commits by this committer
databases/cego: update 2.33.14 -> 2.33.16

- Completion for admin help backup section, some commands were still missing
  Improvements for procedure indent formatting. All sugar, nothing functional
- Fix in CegoAction::execute, missing break added after calling execListView
- 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
- Seg faults have been experienced for delete with double nested
  subselect conditions ( see check055 )

Submitted by:	Bjoern Lemke <>
Original commitRevision:444621 
Saturday, 3 Jun 2017
18:48 pi search for other commits by this committer
databases/cego: 2.33.12 -> 2.33.14

- 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
- 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;

Submitted by:	Bjoern Lemke <>
Original commitRevision:442514 
Saturday, 27 May 2017
07:39 pi search for other commits by this committer
databases/cego: update 2.33.11 -> 2.33.12

- Fix in CegoAttrComp::reset, case VALUE2VALUE still was not treated,
  which lead to wrong index handling for between clauses with native values

Submitted by:	Bjoern Lemke <>
Original commitRevision:441829 
Thursday, 25 May 2017
20:03 pi search for other commits by this committer
databases/cego: update 2.33.9 -> 2.33.11

- Fix in CegoObjectManager::createBTreeObject to avoid some duplicate btree
- Added space character in CegoSelect::toChain after distinct keyword
  to avoid certain errors
- Fix in CegoAttrComp::operator== The values should NOT be compared,
  since they are set up by the calling CegoAttrCond::update method
  Otherwise, the error "Cannot set up diff for attribute condition"
  basecheck54 added to test for the this problem
- 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 )

Submitted by:	Bjoern Lemke <>
Original commitRevision:441713 
Sunday, 7 May 2017
11:50 pi search for other commits by this committer
databases/cego: update 2.33.8 -> 2.33.9

- in CegoTableManager::getClobData added termination character to
  ensure clob values are terminated with 0 character
- Small fixes for fixed value handling
- Small fixes for quote escape handling in cgclt batch mode
- In CegoAction::selectionList1 added alias check for non unique
  alias definitions
- Stored Procedure formatting improvements regarding indent handling

Submitted by:	Bjoern Lemke <>
Original commitRevision:440333 
Saturday, 22 Apr 2017
15:29 pi search for other commits by this committer
databases/cego: update 2.33.6 -> 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
- Furthermore, a setup method has been introduced for CegoAttrCond
  to evalute joinBuf and parentJoinBuf ( if both references occur in
  a condition this is needed )
- Optimization in CegoCheckpoint::checkpointReached, if interval
  was reduced, we set up the new interval
- 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
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:439178 
Friday, 14 Apr 2017
14:30 pi search for other commits by this committer
devel/lfcbase: update 1.9.3 -> 1.9.6
databases/cego: update 2.33.5 -> 2.33.6

- Small correction in OutStream, include required by FreeBSD
  ( for definition of WEXISTATUS )
- Added method getErrorCode to OutStream class
- Cleanup of OutStream implementation ( removed some includes,
  removed ifdef for MINGW)

- Small improvements for utility scripts cgmkdb, logManager and backupManager

Submitted by:	Bjoern Lemke <>
Original commitRevision:438516 
Friday, 7 Apr 2017
19:56 pi search for other commits by this committer
databases/cego: update 2.33.4 -> 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.
- Check052 has been introduced to verify the previous described behaviour

Submitted by:	Bjoern Lemke <>
Original commitRevision:437955 
Sunday, 2 Apr 2017
08:01 pi search for other commits by this committer
databases/cego: update 2.33.3 -> 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 )

Submitted by:	Bjoern Lemke <>
Original commitRevision:437530 
Saturday, 1 Apr 2017
08:18 pi search for other commits by this committer
devel/lfcbase: update 1.9.2 -> 1.9.3
databases/cego: update 2.33.1 -> 2.33.3

- Small fixes for Monitor and Pager class, adding missing ifdef for
  curses option in Pager class, replaced CGNOCURSES with LFCNOCURSES

- 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
- Added implizit tableset btree and index correction to recovery procedure
  ( CegoRecoveryManager::recoverTableSet )
- 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 of isSynced flag ), since
  during recovery phase, still no objects are registered and there is
  no need for synchronization
- Added further admin console messages for recovery procedure.
  This enables the database admin to follow the recovery procedure on
  admin console level

Submitted by:	Bjoern Lemke <>
Original commitRevision:437396 
Sunday, 26 Mar 2017
09:02 pi search for other commits by this committer
databases/cego: update 2.33.0 -> 2.33.1

- Some cosmetic changes for backup manager handlng
  ( change nameing from archmng to backupmng )

Submitted by:	Bjoern Lemke <>
Original commitRevision:436943 
Saturday, 25 Mar 2017
18:06 pi search for other commits by this committer
devel/lfcbase: update 1.9.1 -> 1.9.2
databases/cego: update 2.32.14 -> 2.33.0

- Added CommandExecuter::executeStream method to catch stdout for
  any forked process
- Added class OutStream to catch stdout from forked programs via popen

- Added database verify006 to check multidimensional btrees also in
  combination of null value handling.
- 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
- Introduced archive manager, which can be triggered, to perform
  an online backup. For now, online backups have to be triggered
  The achive manager should make backup / restore handling more convenient
- Update to version 2.33.0 since the backup feature changes the product
- Integration of newly introduced lfcbase OutStream class to catch output
  from backup manager. This allows to indicate a more detailed
  output from backup manager on the admin console.

Submitted by:	Bjoern Lemke <>
Original commitRevision:436911 
Saturday, 11 Mar 2017
19:33 pi search for other commits by this committer
devel/lfcbase: update 1.9.0 -> 1.9.1
databases/cego: update 2.32.11 -> 2.32.14

- Small fix for Monitor::showFormBox, in case of menu elements,
  delete key is disabled

- 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
  Confusing sample not allowed anymore : select count(distinct a),
  count(distinct b) from t1 ... now select distinct count(a), count(b)
  from t1 )
- 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
- Fix in CegoDistManager::registerObjects, registration of btree
  objects was still missing. This might lead to wrong results for
  drop if exists btree statements
- Added check to CegoXMLSpace::addArchLog to verify, that directory
  for new archive location really exists
- Added archive log management to curses based CegoAdmMon administration

Submitted by:	Bjoern Lemke <>
Original commitRevision:435953 
Sunday, 5 Mar 2017
11:08 pi search for other commits by this committer
devel/lfcbase: update 1.8.12 -> 1.9.0
databases/cego: update 2.32.8 -> 2.32.11
databases/cegobridge: update 1.1.2 -> 1.1.3, fix build with clang 4.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.
- Added class Pager for curses based pager implementation

- Include stdlib.h added in CegoNet ( still missing forLinux compiles )
- Added CegoFieldValue::getDim method required for arithmetic operations
  on fixed values
- Fix in CegoTableManager::getPoolInfo, readdelay and writedelay was
  not calculated correctly
- 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 ).
- Added some sizing optimizations for CegoAdmMon forms
- Fix in CegoRecoveryManager::recoverCurrentTransactionLog, added
  the force option to addCounter method, since counters already could
  be synched to xml ( not completely transaction save )
- Online index build up tested and verified. First tests with heavy
  insert operations ( using cgblow ) during index build went succesful.
- Improvements for CegoAdmMon role permission handling, added remove
  permission option
- 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 )

PR:		216621
Submitted by:	Bjoern Lemke <>
Reported by:	jbeich
Original commitRevision:435469 
Sunday, 29 Jan 2017
09:36 pi search for other commits by this committer
devel/lfcebase: update 1.8.11 -> 1.8.12
databases/cego: update 2.32.7 -> 2.32.8

- Changed methods for class Sleeper to static. Added Sleeper class
  test to test suite
- Added include file limits.h in For Linux compiles, this
  include is required ( definition of INT_MAX and INT_MIN )

- Small improvements for CegoAdmMon curses based admin console

Submitted by:	Bjoern Lemke <>
Original commitRevision:432707 
Saturday, 21 Jan 2017
15:10 pi search for other commits by this committer
databases/cego: update 2.32.6 -> 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
- 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.

Submitted by:	Bjoern Lemke <>
Original commitRevision:432049 
Wednesday, 4 Jan 2017
19:37 pi search for other commits by this committer
databases/cego: update 2.32.5 -> 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 ...

Submitted by:	Bjoern Lemke <>
Original commitRevision:430589 
Sunday, 1 Jan 2017
15:43 pi search for other commits by this committer
databases/cego: update 2.32.4 -> 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 )

Submitted by:	Bjoern Lemke <>
Original commitRevision:430257 
Saturday, 31 Dec 2016
18:14 pi search for other commits by this committer
databases/cego: update 2.32.3 -> 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
- 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
- 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.
- 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 )
- 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 )
- 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
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:430149 
Saturday, 24 Dec 2016
10:03 pi search for other commits by this committer
databases/cego: update 2.32.2 -> 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.
- Code cleanup in CegoBTReeManager and CegoBTreeNode, use of static
  method CegoDataPointer::getEncodingLength, (define of DPENCODINGLENGTH)
- Fix in CegoFileHandler::CleanDataFile,pageId was not calculated
  correctly ( missing offset )

Submitted by:	Bjoern Lemke <>
Original commitRevision:429319 
Thursday, 22 Dec 2016
06:24 pi search for other commits by this committer
databases/cego: update 2.32.1 -> 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.

Submitted by:	Bjoern Lemke <>
Original commitRevision:429143 
Sunday, 18 Dec 2016
16:57 pi search for other commits by this committer
databases/cego: update 2.32.0 -> 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 )

Submitted by:	Bjoern Lemke <>
Original commitRevision:428881 
Friday, 16 Dec 2016
18:24 pi search for other commits by this committer
devel/lfcbase: update 1.8.10 -> 1.8.11

- Added range check to Chain::toInteger method to catch overflow exception

- 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 )
- First performance analysis indicates a speedup of about 10% for
  btree creation, so significant speedup for full table scans.
- All base checks passed, but there is still a page allocation leak
  for table drops
- Functional tests with SysMT successful completed

Submitted by:	Bjoern Lemke <>
Original commitRevision:428690 
Sunday, 4 Dec 2016
10:54 pi search for other commits by this committer
databases/cego: update 2.31.6 -> 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:427773 
Saturday, 26 Nov 2016
10:24 pi search for other commits by this committer
databases/cego: 2.31.5 -> 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:427137 
Monday, 21 Nov 2016
06:41 pi search for other commits by this committer
databases/cego: update 2.31.4 -> 2.31.5

- Changed CegoQueryHelper methods to static
- 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, databases need to
  be exported and imported.

Submitted by:	Bjoern Lemke <>
Original commitRevision:426691 
Saturday, 19 Nov 2016
08:26 pi search for other commits by this committer
databases/cego: update 2.31.3 -> 2.31.4

- Fix some leaks in CegoXPorter regarding file handles and memory
  allocation ( improved exception handling )

Submitted by:	Bjoern Lemke <>
Original commitRevision:426353 
Wednesday, 16 Nov 2016
08:44 pi search for other commits by this committer
databases/cego: update 2.31.2 -> 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

Submitted by:
Original commitRevision:426221 
Sunday, 13 Nov 2016
14:35 pi search for other commits by this committer
databases/cego: update 2.31.1 -> 2.31.2

- Fix in CegoClient for escape character handling in batch mode
- Fix in CegoClient for dumpfile generation. Default values handling corrected
- Join optimizer fix in CegoSelect, CegoAttrCond and CegoBtreeCursor.
  join attributes are checked now in a more sophisticed way, which
  leads to improved execution performace for advanced joins

PR:		Bjoern Lemke <>
Original commitRevision:426054 
Thursday, 10 Nov 2016
20:19 pi search for other commits by this committer
databases/cego: update 2.31.0 -> 2.31.1

- Fix in CegoBTreeManager::insertBTree, in case of a duplicate
  exception, a bufferpool leak occured ( buffer is not unfixed ).
Original commitRevision:425854 
Saturday, 10 Sep 2016
12:46 pi search for other commits by this committer
databases/cego: 2.30.26 -> 2.31.0

- Added database flag DUPLICATENULL to allow duplicate null values
  for unique btree objects

Submitted by:	Bjoern Lemke <>
Original commitRevision:421688 
Sunday, 21 Aug 2016
19:03 pi search for other commits by this committer
databases/cego: 2.30.24 -> 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
- Adaptions for CegoBlowTab to use CegoNet API
- Completion for blob methods in CegoNet
- Improved flow control in CegoClient ( based on ncurses )
- Optimization in CegoClient, just high level CegoNet API methods
  are used now for client implementation. Missing methods have been
  added to CegoNet API

Submitted by:	Bjoern Lemke <>
Original commitRevision:420577 
Thursday, 11 Aug 2016
18:07 pi search for other commits by this committer
databases/cego: 2.30.23 -> 2.30.24

- Fix in CegoNet::connect, the global vars __dateTimeFormat,
  __currencySymbol and __decimalPoint are set up now to appropriate

Submitted by:	Bjoern Lemke <>
Original commitRevision:420092 
10:54 pi search for other commits by this committer
devel/lfcbase: 1.8.9 -> 1.8.10
databases/cego: 2.30.21 -> 2.30.23

- Improvements for BigDecimal class
  All values are normalized now and stored now with non trailing zeros

- Fixes for cast operations regarding values for type fixed
- Fix in CegoClient, global vars __currencySymbol and __decimalPoint
  still have not been set up correctly, done in the same way as for
  CegoMain on server side
- Added verify005.sql to dbcheck suite to verify cast operations

Submitted by:	Bjoern Lemke <>
Original commitRevision:420058 
Monday, 25 Jul 2016
13:02 pi search for other commits by this committer
databases/cego: 2.30.19 -> 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
- Fixed cgadm online help for import command, the nologging option
  was not documented
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:419038 
Wednesday, 20 Jul 2016
07:30 pi search for other commits by this committer
devel/lfcbase: 1.8.7 -> 1.8.9
databases/cego: 2.30.17 -> 2.30.19

- Added File::rename method to be able to move files via file class
- 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

- Catched server termination in CegoTableManager::writeCheckpoint.
  If log files could not be archived, the method does not recognized
  server termination ( runstate = OFFLINE )
- Improvement added for log file shipping in CegoLogThreadPool::copyLog.
  The archive log file is first written 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
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:418822 
Friday, 15 Jul 2016
17:34 pi search for other commits by this committer
databases/cego: 2.30.15 -> 2.30.17

- Fixed for point-in-time recovery, Date format handling was not
  done correectly
- 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
- 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.

Submitted by:	Bjoern Lemke <>
Original commitRevision:418597 
Sunday, 10 Jul 2016
12:39 pi search for other commits by this committer
devel/lfcbase: 1.8.4 -> 1.8.5
databases/cego: 2.30.14 -> 2.30.15

- Added statlock mutex in ThreadLock class for protecting statistic
  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

- Made __dateFormatList in CegoMain threadsafe
  For the point-in-time recovery timestamp format, now the server
  defined format is used ( variable CGPITFORMAT is obsolete )
- 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
- 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.

Submitted by:	Bjoern Lemke <>
Original commitRevision:418314 
Thursday, 7 Jul 2016
13:30 pi search for other commits by this committer
databases/cego: 2.30.12 -> 2.30.14

- Added alter table modify command just for default values.
    alter table t1 modify column a default 42;
- Improvement for hash calculation in CegoBufferPool::calcSegement.
  For a better page spreading, the segment calculation was changed
  to a more linear approach
- Added more cast cases to CegoField::castTo, still not completed
- 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 )
- Fix in CegoBufferPool::poolInfo, the spread rate calculation was
  not done correctly

Submitted by:	Bjoern Lemke <>
Original commitRevision:418182 
Monday, 27 Jun 2016
05:36 pi search for other commits by this committer
databases/cego: 2.30.11 -> 2.30.12

- Added cast improvements to CegoFieldValue::castTo method, which are
  also checked now with check050
- 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.

Submitted by:	Bjoern Lemke <>
Original commitRevision:417633 
Thursday, 23 Jun 2016
05:20 pi search for other commits by this committer
databases/cego: 2.30.7 -> 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
- Improvements for tableset recovery, external log manage field is
  checked in CegoAdminThread::medRecover before restore procedure is
- 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
- Fixes for query and table cache added (addEntry method was still not clean)
- 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 )
- 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
- Patch in CegoQueryCache and CegoTableCache ( for each method addEntry )
  The usedSize calculation was not done correctly for replaces entries
- 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
- Added synrchonization for query and table cache handling.
  The lack of synchronization might 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
- 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.
- Adapted sysmtexp and sysmtimp X-port utilities for current schema definition
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:417343 
Saturday, 11 Jun 2016
06:35 pi search for other commits by this committer
databases/cego: 2.30.6 -> 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...

Submitted by:	Bjoern Lemke <>
Original commitRevision:416704 
Saturday, 4 Jun 2016
06:31 pi search for other commits by this committer
databases/cego: 2.30.5 -> 2.30.6

The following query can 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.

Submitted by:	Bjoern Lemke <>
Original commitRevision:416345 
Monday, 16 May 2016
08:19 pi search for other commits by this committer
devel/lfcbase: 1.8.2 -> 1.8.3
devel/lfcxml: 1.2.3 -> 1.2.4
databases/cego: 2.30.3 -> 2.30.5

- code format cleanup

- code format cleanup

- Code optimizations tested. The performance improvements on
  subselects are achieved as expected.
- 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.
- code format cleanup
- Fix in CegoAdmMon, CGNOMONITOR definition was fixed, now defined
  via configure

Submitted by:	Bjoern Lemke <>
Original commitRevision:415313 
Saturday, 30 Apr 2016
19:09 pi search for other commits by this committer
databases/cego: 2.30.2 -> 2.30.3

- Fix in CegoBufferPool::bufferFix. Small leak, since last page for each
  pool segment never could be used ( hashId calculation )
- Cosmetic syntax change for set permission and remove permission admin
- Small information fix for query cache information in show tableset
  admin command

Submitted by:	Bjoern Lemke <>
Original commitRevision:414359 
Sunday, 3 Apr 2016
07:52 pi search for other commits by this committer
devel/lfcbase: 1.8.0 -> 1.8.1
databases/cego: 2.29.3 -> 2.30.2

- Fix in CegoAction and CegoDbHandler to handle query abort requests correctly
  ( initiated by cgadm via abort db thread command )
- Fix in CegoDistCursor for query plan calculation ( join objects )
- Fix in CegoAdminThreadPool and CegoLogThreadPool for thread load
- 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.
- 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
- Changed default protocol from xml to serial. Date format handling
  completely implemented

Submitted by:	Bjoern Lemke <>
Original commitRevision:412452 
Sunday, 6 Mar 2016
16:21 pi search for other commits by this committer
devel/lfcbase: 1.7.2 -> 1.8.0
databases/cego: 2.29.1 -> 2.29.3

Changes to lfcbase:
- Fix in Chain for truncleft, truncRight and cutTrailing. In case
  of single character strings, the methods might return wrong results.
- Started with implementation of TextIndex class ( utility class
  for full text index creation )

Changes to cego:
- Fixes for table and query cache handling
- Fix in CegoDistManager::dropDistObject, table and query cache
  have been checked for cleanup, if a table is dropped
- Fix in, added table and query cache cleanup for alter
  and rename queries
- 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');
- Added include of string.h in CegoAction.c ( compile error occured
  on Suse Linux )

Submitted by:	Bjoern Lemke <>
Original commitRevision:410465 
Saturday, 6 Feb 2016
15:59 pi search for other commits by this committer
devel/lfcbase: 1.7.0 -> 1.7.2
databases/cego: 2.28.3 -> 2.29.1
databases/cegobridge: 1.1.1 -> 1.1.2

Please note: Updating cego databases needs an export/import
             cycle for 2.28 -> 2.29

- Fix in, 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 ) .
- Memory leak fixed in File::readLine

- Started with clob datatype implementation
- 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
- Required network protocol expansions done for clob handling
  (putclob, getclob, delclob)
- More work on clob handling. A fix was done for update operations
  on clob values in CegoTableManager::updateTuple method. Before
  updating the tuple, all clob references must be cloned, otherwise
  in case of untouched clobs, references are invalid. This approach
  is brute force, better would be, to stay on the untouched clob
  references. But in terms of transaction and recovery handling,
  this is not trivial
- Very long strings are handled now in CegoAction and CegoClient
  to also parse large clob values
- 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

- fix build problem

Submitted by:	Bjoern Lemke <>
Original commitRevision:408300 
Monday, 11 Jan 2016
12:30 pi search for other commits by this committer
devel/lfcbase: 1.6.7 -> 1.7.0
devel/lfcxml: 1.1.8 -> 1.2.2
databases/cego: 2.27.2 -> 2.28.3
databases/p5-DBD-cego: bump portrevision
databases/cegobridge: bump portrevision

IMPORTANT: Upgrades of cego 2.27.x to 2.28.x databases has to be done by
export and import.

- 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 .. )

- Fix in to find lfcbase and for FreeBSD

- 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.
- 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
- 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 )
- 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
- Please note, that version 2.28.x makes datafiles from older versions
  An upgrade requires a xml tableset export of existing data and a
  restore after succesful upgrade
- 2.28.x also contains many code cleanup fixes and some fixes for
  btree handling.
- 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
- 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 !
- Several changes from type int to type unsigned long long
- 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.
- 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.
- Fix in to find lfcbase and lfcxml and for FreeBSD

Submitted by:
Original commitRevision:405781 
Monday, 14 Dec 2015
06:42 pi search for other commits by this committer
databases/cego: 2.27.0 -> 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
- Add dbCheck for Fetch & Cache ( check047 ), all base checks are
  run now with querycache ON and OFF
- 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
- 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
- Modification for admin command set tsroot. Also the base path for
  all defined datafiles is set now to new tsroot
- Fix in CegoBTreeCursor and CegoBTreeManager. Several conditons
  have been changed from fileId && pageId to 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 )
- Fix in CegoGroupSpace::insertTuple, the grouping tuple has to be
  searched 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; -- broken
  A check for this has been added in dbcheck suite

Submitted by:	Bjoern Lemke <>
Original commitRevision:403707 
Saturday, 5 Dec 2015
18:14 pi search for other commits by this committer
databases/cego: 2.26.16 -> 2.27.0

- Introduced BTree Cache to speed up the creating of large btree
  indizes. A BTree Cache test done with 100 million tuples went
  from 20h to 2.6h to create the index.

Submitted by:	Bjoern Lemke <>
Original commitRevision:403072 
Tuesday, 1 Dec 2015
20:33 pi search for other commits by this committer
devel/lfcbase: 1.6.5 -> 1.6.7
databases/cego: 2.26.14 -> 2.26.16

- 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.
- Patch in ThreadLock, the mutex for lock statistics has been
  removed, since there is no need for synchronization. Also errors
  have not been checked for the pthread_rwlock_wrlock, which might
  cause some deadlocks.

- Ugly bug fixed in CegoObjectManager::releaseDataPtrUnlocked.
  The logical operator && must be replaced by ||, otherwise fix leak arises
- Fix in CegoSelect::nextTuple for query cache to avoid, that queries
  including system tables are cached.
- Error message fixes in CegoXPorter
- 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
- 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
- Cego Tera 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.
- Changed command line argument --nolockstat to --lockstat. So the
  default value is lockstat disabled, since this has impact to the
  database performance
- Modification of hash function in CegoBufferPool to achieve a
  better distribution for large buffer pool configurations

Submitted by:	Bjoern Lemke <>
Original commitRevision:402783 
Wednesday, 25 Nov 2015
18:55 pi search for other commits by this committer
devel/lfcbase: 1.6.3 -> 1.6.5
devel/lfcxml: 1.1.7 -> 1.1.8
databases/cego: 2.26.13 -> 2.26.14

- Added kill method to class Process, added SigTest check program to
  basecheck suite
- Fix in BigDecimal::operator < and > .. comparison was not done correctly.
- Added automake check suite in baseecheck directory ( derived from samples )

- Added automake check suite to package
- Small fix for XMLSuite constructor for pInStream initialization

- 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;
- Cosmetic changes in CegoDefs, increased FILEMNG_MAXDATAFILE to 5000

Submitted by:	Bjoern Lemke <>
Original commitRevision:402406 
Sunday, 15 Nov 2015
08:05 pi search for other commits by this committer
databases/cego: 2.26.12 -> 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:401682 
Friday, 13 Nov 2015
06:35 pi search for other commits by this committer
databases/cego: 2.26.11 -> 2.26.12

- cgsimload with 3 mio ops and 2 processes passed
- 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.

Submitted by:	Bjoern Lemke <>
Original commitRevision:401478 
Sunday, 8 Nov 2015
15:57 pi search for other commits by this committer
databases/cego: 2.26.10 -> 2.26.11

- Added more sophisticated corruption check for btrees
  ( CegoBTreeManager::verfiyBTree ), which also checks for any structure
  corructions in all btree nodes
- Added btree check to CegoDistManager::verifyTable

Submitted by:	Bjoern Lemke <>
Original commitRevision:401062 
10:56 pi search for other commits by this committer
databases/cego: 2.26.9 -> 2.26.10

- Added make check feature for basic and gate tests
Original commitRevision:401048 
Saturday, 7 Nov 2015
09:28 pi search for other commits by this committer
databases/cego: 2.26.7 -> 2.26.9

- Version passed concurrent load test with 10 million concurrent
  operations ( random insert, update and delete on one table with 2
  processes )
- Fix in CegoFileHandler::allocatePage, In case of page exceed with
  appendMode = true, a second try is done with appendMode = false
- Small fix in CegoObjectManager::reorgObject, ref page id information
  for append mode is set to new last page id
- Small fix in CegoSelect::filterRefs, allow expressions with constant
  values ( getAttrRefList= 0 ) in aggregation
- 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 )
- 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
- Small modifications on cgblow load simulation client
- Changed locking for delete an update operations to exclusive due
  to concurrency prpblems with btree operations
- Added page locking to AVLIndexManager and AVLIndexCursor
- 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
  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.
  This improves performance for about 4%.

Submitted by:	Bjoern Lemke <>
Original commitRevision:400974 
Saturday, 31 Oct 2015
21:27 pi search for other commits by this committer
databases/cego: 2.26.2 -> 2.26.7

- Improvements for query execution plan retrieval
- Fix in CegoOutput for multline format
  ( e.g. execution plans have been cut off )
- 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
- Small fix in CegoAction::readChain, treating backslashes for
  quoteEscapeFlag=false was commented, reactivated
- Small fix in CegoMain, default for csmode changed to value "ID"
- 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.
- 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.
- Added online help for query cache and table cache in cgadm
- 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
- 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.

Submitted by:	Bjoern Lemke <>
Original commitRevision:400587 
Sunday, 4 Oct 2015
12:31 pi search for other commits by this committer
databases/cego: 2.25.3 -> 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
- Introduced server mode with same behaviour as daemon mode, but
  no child process is forked and server can be terminated with Ctrl-C
- Small formatting fix in CegoOutput
- 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.
  This required also a fix in the evalCondition method.
- Added multi segment support to CegoBufferPool. Since the pool is
  divided now into several memory segments, this allows larger buffer
  pool configurations.
- Improvements for output formatting regarding string functions
  (cegoFunction::getReturnTypeLen). Size of required column field size
  is now calculated, so the outlook looks more pretty
- Added hints from David Binderman in CegoAction::backChar and
  CegoBufferPage::printPage ( changed pointer comparison to avoid
  -Wextra compile warnings ) Thanks !

Submitted by:	Bjoern Lemke <>
Original commitRevision:398572 
Sunday, 20 Sep 2015
17:04 pi search for other commits by this committer
databases/cego: 2.25.1 -> 2.25.3

- Decreased default cache size values to 100k ( query + table )
- 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.
- Some format correction in CegoAdminHandler
- Increased parameter FILMNG_MAXDATAFILE to 10000 and
- 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

Submitted by:	Bjoern Lemke <>
Original commitRevision:397379 
Sunday, 13 Sep 2015
10:08 pi search for other commits by this committer
databases/cego: 2.25.0 -> 2.25.1

- Fix in CegoSelect::nextTuple : in case of rowlimit > 0,
  the cached entry was not added to query cache
- Added many columns sample to base test
  ( create, insert and select for table with 60 columns )

Submitted by:	Bjoern Lemke <>
Original commitRevision:396804 
Friday, 11 Sep 2015
06:19 pi search for other commits by this committer
databases/cego: 2.24.4 -> 2.25.0

- Added throw statement for stored procedures. This allows to throw
  exceptions on application level

Submitted by:	Bjoern Lemke <>
Original commitRevision:396648 
Sunday, 30 Aug 2015
08:39 pi search for other commits by this committer
databases/cego: 2.24.3 -> 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
- Fix in CegoFactor::getId.
  If sysdate is used in queries, it should be resolved, otherwise
  query couldbe used from cache which returns invalid result

Submitted by:	Bjoern Lemke <>
Original commitRevision:395602 
Saturday, 29 Aug 2015
08:37 pi search for other commits by this committer
databases/cego: 2.23.12 -> 2.24.3

- Implemented query cache
- SQL keywords can now be used case-insensitive, with proper CSMODE

Submitted by:	Bjoern Lemke <>
Original commitRevision:395533 
Saturday, 25 Jul 2015
17:11 pi search for other commits by this committer
databases/cego: 2.23.11 -> 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.
- Further patches in CegoTableManager::deleteDataTable,
  CegoFactor::evalReferences and CegoSelect::nextTuple for advanced
  query cache handling. All patches have impact on queries of the form

Submitted by:	Bjorn Lemke <>
Original commitRevision:392901 
Tuesday, 21 Jul 2015
07:39 pi search for other commits by this committer
databases/cego: 2.23.10 -> 2.23.11

- Added performance patch in CegoFieldValue.
  Values with a 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
- The local copy logic was shifted from CegoSelect::nextGroupedTuple
  to CegoGroupSpace::insertTuple.

Submitted by:	Bjorn Lemke <>
Original commitRevision:392613 
Sunday, 19 Jul 2015
08:28 pi search for other commits by this committer
databases/cego: 2.23.9 -> 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 invalidated, 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 with small buffer poolsizes in
  combination with grouping queries on large tables. The probability
  of grouping key invalidation is higher in that case, because
  buffer pool pages are reloaded more often.

Submitted by:	Bjorn Lemke <>
Original commitRevision:392489 
Sunday, 12 Jul 2015
10:11 pi search for other commits by this committer
databases/cego: 2.23.8 -> 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,
  so that efficient tuple retrievel is ensured.
- The fix also avoids infinite query loops for non-reference conditions,
  e.g. select a from t1 where 1 = 1;

Submitted by:	Bjorn Lemke <>
Original commitRevision:391775 
Sunday, 14 Jun 2015
13:48 pi search for other commits by this committer
databases/cego: 2.23.7 -> 2.23.8

- Simplification in CegoBTreeManager and CegoBTreeNode.
  Calculation of leaf node chain is now much simpler. This ensures
  consistency and improves btree build up performance.
- 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.
- Changed default primary and secondary values for tableset definition
  command to the configured hostname. This simplifies the define command
  in case of single node tableset configurations.

Submitted by:	Bjorn Lemke <>
Original commitRevision:389632 
Tuesday, 9 Jun 2015
21:34 pi search for other commits by this committer
devel/lfcbase: 1.6.1 -> 1.6.2
databases/cego: 2.23.6 -> 2.23.7

lfcbase: Fix in Chain::visibleLength.
	Calculation may result in an infiite loop, if mbtowc returns zero.

- Fix in CegoFieldValue for VARCHAR comparison. In case of exceeded
  string length for index values, the CegoFieldValue did not work
- Fix in CegoClient for dump mode. BTrees habe not been dumped with
  the correct type ( primary, unique, normal )

Submitted by:	Bjorn Lemke <>
Original commitRevision:389004 
Saturday, 6 Jun 2015
03:25 pi search for other commits by this committer
databases/cego: 2.23.3 -> 2.23.6

- 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
- Fix in CegoTableManager::insertDataTable, in case of constraint
  violation, btrees have not been cleaned up. This may result in
  inconsistent btree objects.
- 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:
  just change isLogging parameter value for insertDataTable method
  from true to false.

Submitted by:	Bjorn Lemke <>
Original commitRevision:388652 
Monday, 1 Jun 2015
20:12 pi search for other commits by this committer
databases/cego: 2.23.2 -> 2.23.3

- Added uptime command for cgclt to show database uptime
- Added pool uptime to buffer pool information, this indicates the
  database uptime
- Several fixes for cgmkdb utility

Submitted by:
Original commitRevision:388273 
Tuesday, 19 May 2015
05:31 pi search for other commits by this committer
databases/cego: 2.23.1 -> 2.23.2

- Added rowlimit argument to CegoDatabaseFormater::formatSelect method

Submitted by:	Bjorn Lemke <>
Original commitRevision:386741 
Friday, 15 May 2015
20:48 pi search for other commits by this committer
databases/cego: 2.23.0 -> 2.23.1

Added some missing include files to be installed

Submitted by:	Bjorn Lemke <>
Original commitRevision:386483 

Number of commits found: 304 (showing only 100 on this page)

«  1 | 2 | 3 | 4  »