| Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
| Commit | Credits | Log message |
2.32.6 04 Jan 2017 19:37:20
  |
pi  |
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 <lemke@lemke-it.com> |
2.32.5 01 Jan 2017 15:43:37
  |
pi  |
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 <lemke@lemke-it.com> |
2.32.4 31 Dec 2016 18:14:09
  |
pi  |
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 (Only the first 15 lines of the commit message are shown above ) |
2.32.3 24 Dec 2016 10:03:02
  |
pi  |
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 <lemke@lemke-it.com> |
2.32.2 22 Dec 2016 06:24:48
  |
pi  |
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 <lemke@lemke-it.com> |
2.32.1 18 Dec 2016 16:57:51
  |
pi  |
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 <lemke@lemke-it.com> |
2.32.0 16 Dec 2016 18:24:51
  |
pi  |
devel/lfcbase: update 1.8.10 -> 1.8.11
lfcbase:
- Added range check to Chain::toInteger method to catch overflow exception
cego:
- 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 <lemke@lemke-it.com> |
2.31.7 04 Dec 2016 10:54:06
  |
pi  |
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 <lemke@lemke-it.com> |
2.31.6 02 Dec 2016 11:58:22
  |
mat  |
Do not use post-stage. Use post-install instead.
The only reason to use post-stage is because the port needs to do
"things" at a later time, like some plist manipulation.
While there, fold post-install in do-install targets when they are
defined.
PR: 214780
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight |
2.31.6 26 Nov 2016 10:24:06
  |
pi  |
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 <lemke@lemke-it.com> |
2.31.5 21 Nov 2016 06:41:32
  |
pi  |
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 <lemke@lemke-it.com> |
2.31.4 19 Nov 2016 08:26:19
  |
pi  |
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 <lemke@lemke-it.com> |
2.31.3 16 Nov 2016 08:44:12
  |
pi  |
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: lemke@lemke-it.com |
2.31.2 13 Nov 2016 14:35:36
  |
pi  |
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 <lemke@lemke-it.com> |
2.31.1 10 Nov 2016 20:19:50
  |
pi  |
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 ). |
2.31.0 10 Sep 2016 12:46:48
  |
pi  |
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 <lemke@lemke-it.com> |
2.30.26 21 Aug 2016 19:03:45
  |
pi  |
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 <lemke@lemke-it.com> |
2.30.24 11 Aug 2016 18:07:17
  |
pi  |
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
defaults
Submitted by: Bjoern Lemke <lemke@lemke-it.com> |
2.30.23 11 Aug 2016 10:54:17
  |
pi  |
devel/lfcbase: 1.8.9 -> 1.8.10
databases/cego: 2.30.21 -> 2.30.23
lfcbase:
- Improvements for BigDecimal class
All values are normalized now and stored now with non trailing zeros
cego:
- 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 <lemke@lemke-it.com> |
2.30.21 25 Jul 2016 13:02:33
  |
pi  |
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 <lemke@lemke-it.com> |
2.30.19 20 Jul 2016 07:30:09
  |
pi  |
devel/lfcbase: 1.8.7 -> 1.8.9
databases/cego: 2.30.17 -> 2.30.19
lfcbase:
- 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
cego:
- Catched server termination in CegoTableManager::writeCheckpoint.
If log files could not be archived, the method does not recognized
server termination ( runstate = OFFLINE ) (Only the first 15 lines of the commit message are shown above ) |
2.30.17 15 Jul 2016 17:34:38
  |
pi  |
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 <lemke@lemke-it.com> |
2.30.15 10 Jul 2016 12:39:29
  |
pi  |
devel/lfcbase: 1.8.4 -> 1.8.5
databases/cego: 2.30.14 -> 2.30.15
lfcbase:
- 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
calls
cego:
- Made __dateFormatList in CegoMain threadsafe
For the point-in-time recovery timestamp format, now the server (Only the first 15 lines of the commit message are shown above ) |
2.30.14 07 Jul 2016 13:30:54
  |
pi  |
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 <lemke@lemke-it.com> |
2.30.12 27 Jun 2016 05:36:45
  |
pi  |
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 <lemke@lemke-it.com> |
2.30.11 23 Jun 2016 05:20:41
  |
pi  |
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
started.
- 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. (Only the first 15 lines of the commit message are shown above ) |
2.30.7 11 Jun 2016 06:35:16
  |
pi  |
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 <lemke@lemke-it.com> |
2.30.6 04 Jun 2016 06:31:16
  |
pi  |
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 <lemke@lemke-it.com> |
2.30.5 16 May 2016 08:19:25
  |
pi  |
devel/lfcbase: 1.8.2 -> 1.8.3
devel/lfcxml: 1.2.3 -> 1.2.4
databases/cego: 2.30.3 -> 2.30.5
lfcbase:
- code format cleanup
lfcxml:
- code format cleanup
cego:
- 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 <lemke@lemke-it.com> |
2.30.3 30 Apr 2016 19:09:04
  |
pi  |
databases/cego: 2.30.2 -> 2.30.3
Changes:
- 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
command
- Small information fix for query cache information in show tableset
admin command
Submitted by: Bjoern Lemke <lemke@lemke-it.com> |
2.30.2 03 Apr 2016 07:52:02
  |
pi  |
devel/lfcbase: 1.8.0 -> 1.8.1
databases/cego: 2.29.3 -> 2.30.2
Changes:
- 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
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.
- 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.
- Changed default protocol from xml to serial. Date format handling
completely implemented
Submitted by: Bjoern Lemke <lemke@lemke-it.com> |
2.29.3 01 Apr 2016 14:00:57
  |
mat  |
Remove ${PORTSDIR}/ from dependencies, categories d, e, f, and g.
With hat: portmgr
Sponsored by: Absolight |
2.29.3 06 Mar 2016 16:21:20
  |
pi  |
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 CegoQuery.cc, added table and query cache cleanup for alter
and rename queries (Only the first 15 lines of the commit message are shown above ) |
2.29.1 06 Feb 2016 15:59:38
  |
pi  |
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
lfcbase:
- 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 ) .
- Memory leak fixed in File::readLine
cego:
- Started with clob datatype implementation(Only the first 15 lines of the commit message are shown above ) |
2.28.3 11 Jan 2016 12:30:27
  |
pi  |
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.
lfcbase:
- 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 .. )
lfcxml: (Only the first 15 lines of the commit message are shown above ) |
2.27.2 14 Dec 2015 06:42:12
  |
pi  |
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; (Only the first 15 lines of the commit message are shown above ) |
2.27.0 05 Dec 2015 18:14:19
  |
pi  |
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 <lemke@lemke-it.com> |
2.26.16 01 Dec 2015 20:33:11
  |
pi  |
devel/lfcbase: 1.6.5 -> 1.6.7
databases/cego: 2.26.14 -> 2.26.16
lfcbase:
- 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.
cego:
- Ugly bug fixed in CegoObjectManager::releaseDataPtrUnlocked. (Only the first 15 lines of the commit message are shown above ) |
2.26.14 25 Nov 2015 18:55:38
  |
pi  |
devel/lfcbase: 1.6.3 -> 1.6.5
devel/lfcxml: 1.1.7 -> 1.1.8
databases/cego: 2.26.13 -> 2.26.14
lfcbase:
- 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 )
lfcxml:
- Added automake check suite to package
- Small fix for XMLSuite constructor for pInStream initialization
cego:
- 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 <lemke@lemke-it.com> |
2.26.13 15 Nov 2015 08:05:08
  |
pi  |
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 <lemke@lemke-it.com> |
2.26.12 13 Nov 2015 06:35:48
  |
pi  |
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 <lemke@lemke-it.com> |
2.26.11 08 Nov 2015 15:57:52
  |
pi  |
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 <lemke@lemke-it.com> |
2.26.10 08 Nov 2015 10:56:39
  |
pi  |
databases/cego: 2.26.9 -> 2.26.10
- Added make check feature for basic and gate tests |
2.26.9 07 Nov 2015 09:28:22
  |
pi  |
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 (Only the first 15 lines of the commit message are shown above ) |
2.26.7 31 Oct 2015 21:27:35
  |
pi  |
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 (Only the first 15 lines of the commit message are shown above ) |
2.26.2 04 Oct 2015 12:31:09
  |
pi  |
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. (Only the first 15 lines of the commit message are shown above ) |
2.25.3 20 Sep 2015 17:04:20
  |
pi  |
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
TABMNG_MAXTABSET to 500
- 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 <lemke@lemke-it.com> |
2.25.1 13 Sep 2015 10:08:27
  |
pi  |
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 <lemke@lemke-it.com> |
11 Sep 2015 06:19:44

|
pi  |
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 <lemke@lemke-it.com> |
2.24.4 30 Aug 2015 08:39:32
  |
pi  |
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
dictionary.
- 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 <lemke@lemke-it.com> |
2.24.3 29 Aug 2015 08:37:15
  |
pi  |
databases/cego: 2.23.12 -> 2.24.3
- Implemented query cache
http://www.lemke-it.com/litexec?request=pubcegodoc&user=&lang=en§ion=cgdoc_cgadm.html#cgadm_querycache
- SQL keywords can now be used case-insensitive, with proper CSMODE
http://www.lemke-it.com/litexec?request=pubcegodoc&user=&lang=en§ion=cgdoc_database_running.html#compatattr
Submitted by: Bjoern Lemke <lemke@lemke-it.com> |
2.23.12 25 Jul 2015 17:11:37
  |
pi  |
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
DELETE FROM t1 WHERE a IN ( SELECT ....)
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.23.11 21 Jul 2015 07:39:36
  |
pi  |
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 <lemke@lemke-it.com> |
2.23.10 19 Jul 2015 08:28:00
  |
pi  |
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 <lemke@lemke-it.com> |
2.23.9_1 14 Jul 2015 15:16:08
  |
amdmi3  |
- Fix shebangs
- Add LICENSE_FILE
- Fix whitespace
Approved by: portmgr blanket
MFH: 2015Q3 (blanket) |
2.23.9 12 Jul 2015 10:11:44
  |
pi  |
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 <lemke@lemke-it.com> |
2.23.8 14 Jun 2015 13:48:25
  |
pi  |
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 <lemke@lemke-it.com> |
2.23.7 09 Jun 2015 21:34:36
  |
pi  |
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.
cego:
- Fix in CegoFieldValue for VARCHAR comparison. In case of exceeded
string length for index values, the CegoFieldValue did not work
correctly.
- Fix in CegoClient for dump mode. BTrees habe not been dumped with
the correct type ( primary, unique, normal )
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.23.6 06 Jun 2015 03:25:29
  |
pi  |
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 <lemke@lemke-it.com> |
2.23.3 01 Jun 2015 20:12:52
  |
pi  |
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: lemke@lemke-it.com |
2.23.2 19 May 2015 05:31:32
  |
pi  |
databases/cego: 2.23.1 -> 2.23.2
- Added rowlimit argument to CegoDatabaseFormater::formatSelect method
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.23.1 15 May 2015 20:48:59
  |
pi  |
databases/cego: 2.23.0 -> 2.23.1
Added some missing include files to be installed
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.23.0 14 May 2015 06:01:22
  |
pi  |
databases/cego: 2.22.0 -> 2.23.0
- Introduced CegoDatabaseFormater.
Since the API has changed (proagation of database formatting methods),
this is 2.23.0
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.22.0 01 May 2015 17:21:22
  |
pi  |
devel/lfcbase: 1.5.11 -> 1.6.1
databases/cego: 2.21.1 -> 2.22.0
databases/p5-DBD-cego: 1.2.9 -> 1.3.0
lfcbase:
- Added syslog support
- syslog is enabled per default
cego:
- fix in CegoFieldValue::comp for correct null value ordering
- adapt to lfcbase 1.6 with syslog support
p5-DBD-cego:
- adapt to lfcbase 1.6 with syslog support
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.21.1 12 Apr 2015 10:51:50
  |
pi  |
databases/cego: 2.21.0 -> 2.21.1
- Fixes for btree handling. Some field value offsets have been corrected
based on experiences with SAGE db import
- Improved error messages for CegoLockHandler to indicate low level lock
error messages from pthread calls
- Added sudo command to cego rc script to run db as given user
Submitted by: lemke@lemke-it.com |
2.21.0 06 Apr 2015 17:29:41
  |
pi  |
databases/cego: 2.20.24 -> 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.
Submitted by: lemke@lemke-it.com |
2.20.25 06 Apr 2015 09:48:04
  |
pi  |
databases/cego: 2.20.24 -> 2.20.25
- Added multibyte character evaluation in CegoOutput to show visible
chain length
- added build_depends for a specific version of lfcbase
Submitted by: lemke@lemke-it.com |
2.20.24 04 Apr 2015 12:04:43
  |
pi  |
databases/cego: 2.20.23 -> 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.
Submitted by: lemke@lemke-it.com |
2.20.23 03 Apr 2015 20:02:04
  |
pi  |
databases/cego: 2.20.22 -> 2.20.23
- SQL optimizer improvement was added. In case of select conditions
with "a is null", neither index nor btree was used. Just for "a = null",
the index was used. This has been fixed.
- Added fix for btree null value handling. A dedicated null value
flag was introduced for each btree value ( class CegoBTreeValue )
to handle null values.
Submitted by: lemke@lemke-it.com |
2.20.22 28 Feb 2015 12:29:19
  |
pi  |
databases/cego: 2.20.21 -> 2.20.22
- Added command line parameter validation for poolsize, numdbthread,
numadminthread and numlogthread parameters
- 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
- Fix in CegoQueryHelper::evalSelection for isAgg-case
Submitted by: Bjorn Lemke <lemke@lemke-it.com> (author) |
2.20.21 15 Feb 2015 21:51:57
  |
pi  |
databases/cego: fixing startup script
Submitted by: lemke@lemke-it.com (author) |
2.20.20 15 Feb 2015 16:52:23
  |
pi  |
databases/cego: 2.20.19 -> 2.20.20
- Added fork+setsid system calls to daemon mode
- rc.d script is now part of the distribution
Submitted by: lemke@lemke-it.com (author) |
2.20.19 13 Jan 2015 21:51:39
  |
pi  |
databases/cego: 2.20.18 -> 2.20.19
small fix for blob handling ( treat exception for exceeded pages )
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.20.18 06 Dec 2014 12:16:16
  |
pi  |
databases/cego: 2.20.17 -> 2.20.18
Added more detailed log information for tableset import and export operation
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.20.17 16 Nov 2014 09:01:41
  |
pi  |
databases/cego: 2.20.16 -> 2.20.17
Change for primary and secondary host evaluation.
Instead of comparing gethostbyname, the defined dbhost value is used.
This helps if the configured dbhost does not match with the result
value of gethostbyname (e.g. is multiple hostnames are configured
on a database server)
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.20.16 24 Oct 2014 09:59:25
  |
pi  |
databases/cego: 2.20.15 -> 2.20.16
Added utility function blobsize for retrieving blob size information
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.20.15 20 Oct 2014 10:41:13
  |
bapt  |
Cleanup plist |
2.20.15 18 Oct 2014 10:05:41
  |
pi  |
databases/cego: 2.20.14 -> 2.20.15
- Added restricted access for JDBC information requests
The jdbc role now is required to perform any JDBC information requests.
- 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 is stored now to
evaluate if the compare is appropriate for the corresponding table
- 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.
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.20.14_1 15 Sep 2014 07:26:26
  |
pi  |
databases/cego: 2.20.14 distfile was changed after initial update
Submitted by: antoine |
2.20.14 14 Sep 2014 17:55:53
  |
pi  |
databases/cego: 2.20.13 -> 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
- Fix in CegoDatabaseManager::Object::operator == Index comparisons
corrected ( index can either match uindex, pindex or index, btree
can either match ubtree, pbtree or btree )
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.20.13 10 Sep 2014 14:07:11
  |
pi  |
databases/cego: 2.20.12 -> 2.20.13
- Fix in CegoQueryHelper::evalAttrCond. In some table ordering cases,
the attributes had been switched and the evaluation was wrong
( LESS_THAN, MORE_THAN, LESS_EQUAL_THAN, MORE_EQUAL_THAN ).
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.20.12 31 Aug 2014 09:28:13
  |
pi  |
databases/cego: 2.20.11 -> 2.20.12
- Recovery added for check constraints and foreign keys
- Corrections for btree recovery, btree creation was not performed
correctly during tableset recovery. Tableset autocorrect mode is
enabled on default now ( by define tableset )
Submitted by: Bjorn Lemke <lemke@lemke-it.com> |
2.20.11 29 Jun 2014 08:21:31
  |
pi  |
databases/cego: 2.20.10 -> 2.20.11
Submitted by: lemke@lemke-it.com |
2.20.10 14 Jun 2014 20:14:25
  |
pi  |
databases/cego: 2.20.9 -> 2.20.10, USES libtool, strip libs
Submitted by: lemke@lemke-it.com |
2.20.9 02 May 2014 20:20:08
  |
pi  |
databases/cego: update 2.20.1 -> 2.20.9
PR: ports/186776
Submitted by: pi
Approved by: jadawin (mentor) |
2.20.1 01 Feb 2014 11:50:20
  |
wg  |
databases/cego: update to 2.20.1
PR: ports/186126
Submitted by: maintainer |
2.19.14 07 Jan 2014 18:53:09
  |
wg  |
databases/cego: update to 2.19.14
PR: ports/185530
Submitted by: maintainer |
2.19.13 26 Nov 2013 00:30:44
  |
wg  |
databases/cego: update to 2.19.13
PR: ports/184200
Submitted by: maintainer |
2.19.12 17 Nov 2013 16:10:12
  |
wg  |
databases/cego: update to 2.19.12
PR: ports/184020
Submitted by: maintainer |
2.19.11 01 Nov 2013 10:51:03
  |
wg  |
databases/cego: update to 2.19.11
PR: ports/183548
Submitted by: Kurt Jaeger <fbsd-ports opsec.eu> (maintainer) |
2.19.10 27 Oct 2013 20:27:20
  |
wg  |
databases/cego: update to 2.19.10
- Update to 2.19.10
PR: ports/183358
Submitted by: Kurt Jaeger <fbsd-ports opsec.eu> (maintainer) |
2.19.7 22 Oct 2013 04:55:32
  |
danilo  |
- Update from 2.19.6 to 2.19.7 [1]
- Add stage support [1]
- Convert LIB_DEPENDS to new syntax
PR: ports/183128
Submitted by: Kurt Jaeger <fbsd-ports@opsec.eu> (maintainer) [1] |
2.19.6 20 Sep 2013 16:13:49
  |
bapt  |
Add NO_STAGE all over the place in preparation for the staging support (cat:
databases) |
2.19.6 05 Sep 2013 16:17:00
  |
culot  |
- Update to 2.19.6
Changes: http://www.lemke-it.com/litexec?request=pubclogcego&user=&lang=en
PR: ports/181751
Submitted by: Kurt Jaeger <fbsd-ports@opsec.eu> (maintainer) |
2.19.4 19 Aug 2013 08:42:26
  |
culot  |
- Update to 2.19.4
Changes: http://www.lemke-it.com/litexec?request=pubclogcego&user=&lang=en
PR: ports/181305
Submitted by: Kurt Jaeger <fbsd-ports@opsec.eu> (maintainer) |
2.19.3 08 Aug 2013 13:37:02
  |
culot  |
- Update to 2.19.3
Changes: http://www.lemke-it.com/litexec?request=pubclogcego&user=&lang=en
PR: ports/181084
Submitted by: Kurt Jaeger <fbsd-ports@opsec.eu> (maintainer) |
2.19.2 30 Jul 2013 08:25:29
  |
culot  |
- Update to 2.19.2
Changes: http://www.lemke-it.com/litexec?request=pubclogcego&user=&lang=en
PR: ports/180901
Submitted by: Kurt Jaeger <fbsd-ports@opsec.eu> (maintainer) |
2.18.11 17 Jul 2013 23:46:05
  |
wg  |
databases/cego: update to 2.18.11
- Update to 2.18.11@
Changes: http://www.lemke-it.com/litexec?request=pubclogcego&user=&lang=en
PR: ports/180610
Submitted by: Kurt Jaeger <fbsd-ports opsec.eu> (maintainer) |
2.18.10 09 Jul 2013 15:54:49
  |
culot  |
- Update to 2.18.10
Changes: http://www.lemke-it.com/litexec?request=pubclogcego&user=&lang=en
PR: ports/180406
Submitted by: Kurt Jaeger <fbsd-ports@opsec.eu> (maintainer) |
2.18.9 26 Jun 2013 07:39:40
  |
culot  |
- Update to 2.18.9
Changes: http://www.lemke-it.com/litexec?request=pubclogcego&user=&lang=en
PR: ports/179973
Submitted by: Kurt Jaeger <fbsd-ports@opsec.eu> (maintainer) |