non port: databases/cego/Makefile |
SVNWeb
|
Number of commits found: 306 (showing only 100 on this page) |
Sun, 14 May 2023
|
[ 10:12 Kurt Jaeger (pi) Author: Björn Lemke ] 14202f5
databases/cego: update 2.48.23 -> 2.48.25
- Performance improved for stored procedures.
In CegoFunction, the procedure handle is now stored after first
stored procedure call ( instead of freeing the handle and requesting
it again with the next call )
So for subsequent function calls, the handle is already available,
which improves stored procedure execution time significantly.
As a consequene, code has been added for cleanUp the handle at
the end of the query ( object is also in use during the whole
query with CegoDatabaseManager::useObject and must be unused by cleanup )
- Patch added in CegoFunction to avoid useObject leaks
|
Fri, 28 Apr 2023
|
[ 19:24 Kurt Jaeger (pi) Author: Björn Lemke ] 9b18436
devel/lfcbase,databases/cego: update 1.18.3 -> 1.18.5, 2.48.19 -> 2.48.23
lfcbase:
- Added scrollable feature to Screen2::Message, so longer messages can
now be handled by the panel
- improvements for Screen2:Message panel
cego:
- Added default append mode setting for tableset.
WIth cgadm the appendmode can be setup ( e.g. enable appendmode for TS1 )
It may be useful to have enabled appendmode at default for insert
intensive tableset configurations
- Fix added for CegoAdmScreen in tableset parameter panel.
Initfile was not setup correctly
( null value indicated, should be empty string )
- Changes in CegoAdmScreen::DBThread panel to show long queries
with new Screen2::Message panel
- Patch added in CegoTableManager::updateTuple,
reactivated evalExtTableReferences method call,
since this is needed for update with nested selects,
where external attributes are referenced
in combination with enabled query cache
( e.g. update t1 set a = ( select a from t2 where t1.b = t2.b ) )
|
Tue, 7 Mar 2023
|
[ 10:58 Kurt Jaeger (pi) Author: Björn Lemke ] 9c66b76
devel/lfcbase,databases/cego: update
lfcbase: 1.18.0 -> 1.18.3
- Opimization in Screen2 to customize screen refreshes
( introduced virtual method Panel::doRefresh )
cego: 2.48.15 -> 2.48.19
- Fix added for CegoAdmScreen, the data file root path was not added
to new datafiles in the 'tableset add datafile mask'
- Fixes added for CegoAdmScreen, to avoid too many admin requests,
backup panel and data file panel are just refreshed initially and
after add objects.
- Fix added in CegoObjectManager::alterObject, the getNewFilePage has
been changed to type CegoObject::SYSTEM. Otherwise, a page from a
tuple datafile is allocated, which results in strange effects
- Some adaptions for extended Screen2 interface with refresh customizing.
|
Thu, 26 Jan 2023
|
[ 19:07 Kurt Jaeger (pi) Author: Björn Lemke ] b76b5eb
databases/cego: 2.48.14 -> 2.48.15
- Fixes added in CegoAction and CegoSelect to treat cego parser
with tablemanager pointer = 0.
This is needed for cegobridge to parse procedures and generated
other db specific code
|
Tue, 24 Jan 2023
|
[ 10:49 Kurt Jaeger (pi) Author: Björn Lemke ] 314ad8b
databases/cego: 2.48.10 -> 2.48.14
- Fix added in CegoObjectManager::alterObject, after freeing old page entry,
page should be unfixed with marked as dirty. In the main loop,
unfix has been changed to dirty = false
- Added function dateformat which can be feeded with two expressions
to return a datetime value from a given format and value string (
analog to date(x,y) which expects constant input values )
- Added more date functions to the datefunc package. Now there are
the following date functions available
int second(datetime d)
int minute(datetime d)
int hour(datetime d)
int day(datetime d)
int month(datetime d) (Only the first 15 lines of the commit message are shown above )
|
Tue, 3 Jan 2023
|
[ 12:31 Kurt Jaeger (pi) Author: Björn Lemke ] c4bd711
devel/lfcbase: update 1.17.2 -> 1.18.0
- Fix for some geometries in Screen::showFormBox
- Further improvements for Screen::showFormBox and showInfoBox
( selected rows and newline treatment )
- integrate Screen2 interface
databases/cego: update 2.48.2 -> 2.48.10
- Introduced Backup branch id for online backup verification. Due
to datafile page id constraints, just online backups can be recovered
inside one backup branch. Creation of a tableset and adding a
datafile to a tableset violates this contraint, so a new backup
branch is created.
- Added backup branch option for backup manager. So just valid (Only the first 15 lines of the commit message are shown above )
|
Fri, 18 Nov 2022
|
[ 19:23 Kurt Jaeger (pi) Author: Björn Lemke ] 68b2a25
devel/lfcbase: update 1.16.6 -> 1.17.2, databases/cego: 2.47.31 -> 2.48.2
lfcbase:
- Improvements done for ncurses based Monitor class.
Added confirm box and improved form box
- many changed have been made to Screen class ( was Monitor ).
The changes require a recompile for consuming packages ( here : cego )
- Improvements done for Screen::showFormBox ( scrolling content in input mask )
cego:
- Fix added in CegoFactor and CegoFieldValue.
To get the factor id for query cache management, a dedicated
method was introduced in CegoFieldValue ( getId ) This method
uses for DATETIME values valAsChain(true) ( to evaluate current
timestamp in case of sysdate values ) and for all others toChain() (Only the first 15 lines of the commit message are shown above )
|
Fri, 23 Sep 2022
|
[ 14:42 Kurt Jaeger (pi) Author: Björn Lemke ] fcbe84c
databases/cego: 2.47.30 -> 2.47.31
Fix added in CegoTableManager::alterDataTable, the altering table
object has to be retrieved completely via getObject to setup
data page id and last data page id. With the new introduced
object manager method alterObject, these values
are not copied during the alter procedure.
|
[ 08:53 Kurt Jaeger (pi) Author: Björn Lemke ] 35129a4
databases/cego: 2.47.29 -> 2.47.30
Fix in CegoObjectManager for alterTableObject.
If a new system page has to be allocated, this page was not linked.
This might lead to loss table objects for corresponding altering
queries. Furthermore, the ObjectManager has been cleaned up and
reduced in code size in such a way that generic create and alter
methods are now provided for all objects
( createObject and alterObject using encoding method inherited from
CegoDecodableObject ). This results in less code, since the create/alter
operations are just implemented once.
|
Thu, 22 Sep 2022
|
[ 12:56 Kurt Jaeger (pi) Author: Björn Lemke ] 3da7b52
devel/lfcbase,databases/cego: update 1.16.5 -> 1.16.6, 2.47.27 -> 2.47.29
lfcbase:
- Added new method BigDecimal::scaleTo to change scaling for an instance.
This includes an appropriate rounding, if scaling is reduced
cego:
- In CegoFieldValue::castTo, cast from varchar to fixed is done
now with newly introduced BigDecimal::scaleTo method
This includes an appropriate rounding in case of precision reduction.
- Fix in CegoCaseCondition to allow null types in condition
see dbcheck/check106.sql for a sample
|
Wed, 7 Sep 2022
|
[ 21:10 Stefan Eßer (se) ] b7f0544 (Only the first 10 of 27931 ports in this commit are shown above. )
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
|
Tue, 16 Aug 2022
|
[ 14:23 Kurt Jaeger (pi) Author: Björn Lemke ] 71e1781
devel/lfcbase,databases/cego: update 1.16.4 -> 1.16.5, 2.47.26 -> 2.47.27
lfcbase:
- Fix in BigDecimal::operator ==, if _val, _scale and _isPositive
do not match, we still have to call further checks
cego:
- Fix in CegoProcBlock::toChain, dimension has still not been
treated for fixed procedure variables
|
Sun, 10 Jul 2022
|
[ 08:30 Kurt Jaeger (pi) Author: Björn Lemke ] 83aad88
databases/cego: update 2.47.25 -> 2.47.26
- In CegoFieldValue, completed appropriate rounding via cast for
decimal types to integer types
|
Sat, 9 Jul 2022
|
[ 14:22 Kurt Jaeger (pi) Author: Björn Lemke ] 0ccb794
devel/lfcbase: 1.16.3 -> 1.16.4, databases/cego: 2.47.24 -> 2.47.25
lfcbase:
- Fix added for BigDecimal to avoid rounding for zero trailing values,
e.g. 119.00 / 100.00 was 1.1, should be 1.19
cego:
- Added small patch for verification check to meet new BigDecimal patch
in lfcbase
|
Mon, 13 Jun 2022
|
[ 09:25 Kurt Jaeger (pi) Author: Björn Lemke ] 4c310a0
databases/cego: update 2.47.22 -> 2.47.24
- Replaced Chain("") with Chain() for several. This was motivated by
an observed bug for check constraint xml import, where a comparision
between Chain() and Chain("") returned false
- Fix in CegoFunction::evalFieldValue for case REPLACE. If replace
string is null, then empty string is replaced instead of "null"
string.
Author: Björn Lemke <lemke@lemke-it.com>
|
Sun, 20 Feb 2022
|
[ 13:03 Kurt Jaeger (pi) Author: Björn Lemke ] 4c4ce8d
databases/cego: upgrade 2.47.16 -> 2.47.22
- Fix in CegoFunction::clone, also if _exprList is empty, the function
must treated and cloned completely including table manager reference.
Otherwise, for user defined function with no arguments which are used
in views will throw an exception
- Change in CegoJDBCInfo for table list retrievel. This JDBC meta
information command is not split to tab and vie for dedicated
retrievel of table and view objects
- More work has been done regarding clean shutdown of the
database / tableset stop while busy db sessions still exist.
For this, CegoDistCursr desctructor method has been stabilized,
so no exception is thrown. Otherwise, double memory freeing of
cursor resources might occur which results in a crash
- In CegoTableManager::stopTableset, relocated the setTableSetRunState (Only the first 15 lines of the commit message are shown above )
|
Sun, 16 Jan 2022
|
[ 20:56 Kurt Jaeger (pi) Author: Björn Lemke ] fcd7f34
databases/cego: update 2.47.14 -> 2.47.16
- Fix in CegoAttrComp for equal, lt and gt operators.
The compMode ATTR was not treated correctly in a way, that the
attrDesc part was not evaluated. This might lead to missing attr
cond entries for sophisticated queries.
A verify check ( verify008 ) has been added to check this case
Author: Björn Lemke <lemke@lemke-it.com>
|
Wed, 5 Jan 2022
|
[ 15:43 Kurt Jaeger (pi) Author: Björn Lemke ] 414c5d5
databases/cego: update 2.47.13 -> 2.47.14
- In CegoDistManager::startTableset the method setCurrentLSN
has to be called before registerObjects since this method
might also trigger checkpoints
|
Tue, 4 Jan 2022
|
[ 19:33 Kurt Jaeger (pi) Author: Björn Lemke ] b9cb618
databases/cego: update 2.47.11 -> 2.47.13
- Fix in CegoDistManager::renameLocalObject, before renaming the object,
it has to be checked, if the new object name is already in use
- Fix in CegoXPorter::readIndexObject, index schema expects tablename
instead of indexname.
As a result binary and plain imports with index objects have failed.
|
Thu, 23 Dec 2021
|
[ 15:47 Kurt Jaeger (pi) Author: Björn Lemke ] 8da598c
databases/cego: 2.47.7 -> 2.47.11
- Fix in CegoDistManager::startTableSet, the current lsn has
to be setup before performing the cleanup option. cleanup uses
bufferFix which might result in a checkpoint. For this the current
lsn has to be setup
- In CegoQuery, added execSchema which is copied for each execution
call from _schema ( to have a virgin schema definition ). The
execSchema then is enriched in the appropriate way. For the insert
query, an addExprList variable was decleare to store the addition
needed expression to complete the insert value list ( instead of
adding it to _exprListArray ). After performing the query, the
allocated and inserted expression have to be deleted. This
implementation seems to be more useful for procedure based queries,
where the intiantiated CegoQuery object is executed multiple times
- In CegoDistManager, reload message for views, procedure and trigger
is avoided now ( since this occurs for each db thread during startup )
- In CegoAttrComp::setup(ListT** pJoinBuf, int offset) the _isSetup
flag was not set to true for the posSetup case. This might lead to
invalid error message. See https://www.lemke-it.com/litexec?request=pubnews
for details
- Fix in CegoGroupSpace::getValueForAgg, The return value
( of type CegoFieldValue ) must be converted to a local copy,
since the reference to the bufferpool might be invalidated
|
Sun, 10 Oct 2021
|
[ 19:16 Kurt Jaeger (pi) Author: Björn Lemke ] 6da2ac6
databases/cego: update 2.47.6 -> 2.47.7
- Added format correction in CegoField::castTo for case VARCHAR to
FIXED. In case of string values without leading zeros ( e.g. .345),
leading zero is concated.
Author: Björn Lemke <lemke@lemke-it.com>
|
Sun, 4 Jul 2021
|
[ 07:48 Kurt Jaeger (pi) Author: Björn Lemke ] 5aa5b64
databases/cego: update 2.47.3 -> 2.47.6 and devel/lfcbase: 1.16.1 -> 1.16.2
lfcbase:
- Added HashT::getRangePos and HashT::RemovePos for more efficient
hash array manipulation
cego:
- Fix in CegoQueryCacheEntry::cleanCache, reset of all relevant
variables. Furthermore, in CegoQueryCache methods, remove from
hasharray is checked for return code true
- Usage of new HashT methods ( getRangePos and RemovePos ) for
CegoQueryCache to remove entries from query cache array more efficient
- Fix in CegoFactor::evalFieldValue(), for case CegoFactor::QUERY,
the fetched value must be saved to a local copy, otherwise the
buffer could be overwritten by the subsequent nextTuple method call
to complete the query for query cache. As a result, wrong values
are returned in case of heavy buffer cache relocation.
|
Sun, 6 Jun 2021
|
[ 11:47 Kurt Jaeger (pi) Author: Bjoern Lemke ] 64b9e03
databases/cego: update 2.47.2 -> 2.47.3
- New generated parsers ( Cego.def and CegoAdm.def ) with dragon 1.5.5
|
Mon, 24 May 2021
|
[ 07:24 Kurt Jaeger (pi) Author: Bjoern Lemke ] 6794ce7
databases/cegobridge: update 1.6.0 -> 1.6.1
Also update databases/cego: update 2.47.1 -> 2.47.2
cego:
- Fix in CegoQueryHelper::checkIndexForPredicate, wrong tabSetId
was used for getObjectListByTable, must be table specific
cegobridge:
- In method void MySQLAction::storeVarcharType, dimension value was
doubled, since MySQL calculates visible length for varchars and
cego length in bytes. So for multibyte character encodings, length
might exceed ...
|
Sun, 23 May 2021
|
[ 21:24 Kurt Jaeger (pi) Author: Bjoern Lemke ] ec39a11
databases/cego: update 2.47.0 -> 2.47.1
- Rework of new hash array based query cache.
The new introduced methods HashT::FirstInRange and HashT::NextInRange
are used to find an appropriate hash array slot to replace entries
in an occupied array.
- Added cego command line mode setpwd to setup user password
for offline database
|
Wed, 7 Apr 2021
|
[ 08:09 Mathieu Arnold (mat) ] cf118cc (Only the first 10 of 8873 ports in this commit are shown above. )
One more small cleanup, forgotten yesterday.
Reported by: lwhsu
|
Tue, 6 Apr 2021
|
[ 14:31 Mathieu Arnold (mat) ] 305f148 (Only the first 10 of 29333 ports in this commit are shown above. )
Remove # $FreeBSD$ from Makefiles.
|
Sun, 21 Feb 2021
|
[ 19:14 pi ]
devel/lfcbase: update 1.15.1 -> 1.16.0
databases/cego: update 2.46.8 -> 2.47.0
lfcbase:
- Introduction of template class HashT
cego:
- Integration of HashT into QueryCache for faster access of cached
query entries
- Fix in CegoClient and CegoAction for comment parsing. Comment token
in string are treated now. For this, a new method
CegoQueryHelper::skipComment has been introduced
- Improvements done for query cache handling
( more support for nested queries, stabilization fixes )
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Mon, 1 Feb 2021
|
[ 15:37 pi ]
databases/cego: update 2.46.7 -> 2.46.8
- Removed log entry in CegoDatabaseManager::checkTableSetRunState
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Fri, 29 Jan 2021
|
[ 19:37 pi ]
databases/cego: update 2.46.6 -> 2.46.7
- Added fix in CegoTableManager::createBTree
For btree value extraction, we also have to use
valueFromSchema(tableSchema, btreeSchema)
Otherwise, in case if inverted index attributes, the values are
not extraced correctly
Example:
create table t1 ( a int, b string(10));
insert into t1 values ( 1, 'alpha');
create btree b1 on t1(b,a); -- inverted, value for a would be
not setup correctly
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Sun, 24 Jan 2021
|
[ 10:01 pi ]
databases/cego: 2.46.5 -> 2.46.6
- Fix in CegoObjectManager / CegoDatabaseManager added.
The checkTableSetRunState method has been moved to CegoDatabaseManager.
This ensures a single point of check definition.
In the previous version, tableset RECOVERY mode was not treated for
useObject, unuseObject and objectExists method calls which might lead to
crash recovery abort.
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Sat, 5 Dec 2020
|
[ 20:24 pi ]
databases/cego: update 2.46.0 -> 2.46.5
- Fix in CegoExpr::evalField, fixed dimension was still not handled
here for ADD and SUB cases
- Added error msg improvement in CegoProcBlock
- Added MAXDELETEPAGE parameter to show parameter admin command
- set default checkpoint value for new defined tablesets
- added function check in CegoFunction::evalFieldValue to ensure, this is
not a procedure without return value
- Fix in CegoTableManager for table altering. No type conversion
allowed with alter modify and no length shrinking
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Sat, 28 Nov 2020
|
[ 19:28 pi ]
devel/lfcbase: update 1.14.6 -> 1.15.0
devel/lfcxml: update 1.2.11 -> 1.3.0
databases/cego: update 2.45.35 -> 2.46.0
databases/cegobridge: update 1.5.4 -> 1.6.0
Please note: database updates from 2.45.x to version 2.46.x require
a xml tableset export and import, since table structure information
has been changed!
lfcbase:
- Added template class GraphT for dependency graph implementations
- Fix in BigInteger::mul and BigInteger::div, signing was not treated
( e.g. -12 * 12 => -144 ( was 144 ) )
lfcxml: get in sync with lfcbase (Only the first 15 lines of the commit message are shown above )
|
Wed, 18 Nov 2020
|
[ 17:01 pi ]
databases/cego: update 2.45.34 -> 2.45.35
- Added noinit option to cgadm tableset start command. With the
noinit option, the configured init file will not be processed after
tableset startup, otherwise this will be processed now ( if any
configured ) All output messages are written to main log file.
- Redirected output for CegoAction and CegoOutput added to print output
to logfile. This is useful in case of tableset init file, where
several SQL action could be performed
- Fix in CegoAction::execSetCounter, new value must be checked for
null value and if so, set counter to 0. The bug caused a seg fault ..
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Tue, 17 Nov 2020
|
[ 20:22 pi ]
databases/cego: update 2.45.32 -> 2.45.34
- Improved runstate handling in CegoDistManager
- Further fix in CegoPredDesc::getFieldList, case CegoPredDesc::NULLCOMP,
getFieldList method call added for pExpr1,
in CegoPredDesc::setFieldListArray method calls added for
_pC and _pNotPred. For this, setFieldListArray method has been
introduced in CegoCondDesc. This fixes should complete case
cond handling e.g. for aggregation queries.
check097 has been expanded for this
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Mon, 16 Nov 2020
|
[ 21:15 pi ]
databases/cego: 2.45.31 -> 2.45.32
- CegoObjectManager has been modified to check tableset run state
for several methods. For this, method
CegoObjectManager::checkTableSetRunState has been introduced.
- Added check in CegoDatabaseManager::objectExists to verify, if
corresponding tableset is online. So instead of "invalid object"
exception, a tableset offline exception is thrown, which might be
more useful
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Sat, 14 Nov 2020
|
[ 15:46 pi ]
databases/cego: update 2.45.28 -> 2.45.31
- Added case-cond support for aggregation queries
- Fix in CegoCaseCond::evalField, all expression are evaluated now
and are checked for type mismatch. Expressions must return the same
type, otherwise this might lead to value evaluation problems. This
fix also leads to fix in CegoFieldValue::getDim() and CegoFactor::evalField
since now getDim ist used for field length specification which is
also compared by CegoCaseCond::evalField
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Sun, 25 Oct 2020
|
[ 20:53 pi ]
databases/cego: update 2.45.25 -> 2.45.28
- Fix in CegoTableManager::insertDataTable, before call
getObjectListByTable, type must be checked ( must be CegoObject::TABLE
), otherwise ( for system objects ) not found exception arises.
This error may appear with the admin commands begin backup and end
back ( stat information is written to bustat system table )
- Added format fix to CegoAction::formatTableInfo, to treat very
long object names, max name length of all corresponding objects is
now calculated and output is printed in appropriate format
- Change in CegoAction::execProcCall and CegoAction::execFuncCall,
procedure/function arguments are evaluated and cast in this methods
now. This is needed, to support string to clob casting for procedure
arguments. As a consequence the CegoProcedure::execute method has
been changed to receive ListT instead of ListT.
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Fri, 18 Sep 2020
|
[ 08:01 pi ]
databases/cego: update 2.45.23 -> 2.45.25
- Typo fix in CegoTerm::evalField and CegoExpr::evalField
- More rework on CegoFieldValue for improved cast handling
( especially on fixed values )
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Thu, 17 Sep 2020
|
[ 07:25 pi ]
devel/lfcxml: update 1.2.10 -> 1.2.11
databases/cego: update 2.45.19 -> 2.45.23
lfcxml:
- Sync patch for MinGW package build
cego:
- Fix in CegoFieldValue::castTo, case VARCHAR_TYPE to FIXED_TYPE,
plain integers have not been accepted. check091 added for this
- Fix in CegoTerm::evalField and CegoExpr::evalField, type and
length calculation must correspond to cast logic in CegoFieldValue
( corresponding operators for mul, div, add and sub )
- Fix in CegoProcVar::setValue, a castTo has been added to cast to
appropriate target type
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Tue, 25 Aug 2020
|
[ 09:16 pi ]
databases/cego: update 2.45.18 -> 2.45.19
- Fix in CegoAction::insertArg to check for duplicate attribute
specification in insert statement, e.g.
INSERT INTO t1 ( a, a ) VALUES ...
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
|
Fri, 14 Aug 2020
|
[ 07:20 pi ]
databases/cego: 2.45.16 -> 2.45.18
- Fix in CegoClient for treating interactive input. Ctl-D input
lead to segmentation fault, if used in multiline statements.
- Patch in CegoAction::formatTableInfo. For size calculation of
btree objects, null value must be used instead of INVALID, otherwise,
wrong values are indicated during btree build
- Patch in CegoLogManager::switchLogFile, we first have to switch log
file and then change the status to OCCUPIED. Otherwise, the logfile
archiver ( CegoLogThreadPool::shiftRedoLogs ) might access occupied
logfile in parallel. Since this is a different thread and File::open
seems to be not thread safe, bad things might happen ...
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Fri, 5 Jun 2020
|
[ 18:05 pi ]
databases/cego: update 2.45.9 -> 2.45.16
- Fix in CegoBtreeManager for duplicate null handling. The corresponding
btree value has to be checked to be null. For this, the method
CegoBTreeValue::isNull has been introduced
- Fix in CegoFieldValue::negate, for FIXED_TYPE values, trailing
zeros have to be treated. Otherwise, select null - a from t1 where
a = 0.10 will result in 0.1
- Patch in 'update with return' clause. It seems to be useful, that
in combination with return, update should return after first matching
tuple providing the updated tuple in the return clause. So the
values for the tuple can be stored in procedure variables.
create table t1 ( a int, b string(30));
insert into t1 values ( 1, 'DONE');
insert into t1 values ( 2, 'DONE'); (Only the first 15 lines of the commit message are shown above )
|
Sun, 1 Dec 2019
|
[ 20:16 pi ]
databases/cego: upgrade 2.45.8 -> 2.45.9
- Fix in CegoBTreeManager, the allowDuplicateNull flag was not
treated any more. The duplicate handling has been moved from
CegoBtreeNode to CegoBtreeManager
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sun, 24 Nov 2019
|
[ 17:29 pi ]
databases/cego: upgrade 2.45.6 -> 2.45.8
- Fix in CegoSelect::setVIewCond, a view condition id has to be
calculated which is later used for getQueryId(). Otherwise, wrong
query cache entries are used in case of views with outer conditions
- Added method CegoBTreeNode::verifyLeafFull for full btree
verification in a sense, that each btree value is compared with the
corresponding table data entry via datapointer reference
- Improvement in CegoAdmAction for input handling. Used the same
methods for nextChar and friends as in CegoAction
- In CegoXMLSpace, changed access methods for mediator, primary and
secondary in a way, that the default value ist the current hostname.
In this case, no attribute values are set up. This reduces complexity
and avoids to change the entries manually, if the hostname changes
(do not edit the database xml without any deeper knowledge).
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sun, 18 Aug 2019
|
[ 17:22 pi ]
devel/lfcbase: upgrade 1.14.0 -> 1.14.2
databases/cego: upgrade 2.45.5 -> 2.45.6
lfcbase:
- In configure.ac added check for darwin. This is required, since
for File::flush implemention, darwin rather requires a fcntl call
with option F_FULLFSYNC instead of fsync ( see OSX man page for
fsync )
cego:
- Added command line option --fsync to enable physical disk synchronisation
for logging and checkpointing. This options slows down database
significantly but ensures consistent data in case of an operating
system crash
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sun, 14 Jul 2019
|
[ 07:48 pi ]
databases/cego: upgrade 2.45.1 -> 2.45.5
- Fix in CegoQuery::execute for INSERTBYSELECT_QUERY case.
Since the selected tuples are clustered ( MAX_CLUSTERED_INSERT) we have
to create a local copy for the corresponding field values.
Otherwise, tuple information could be invalidated by relocated
buffer pool pages
- Fix in CegoFieldValue::fastComp, the castTo method calls for t1
and t2 have to be switched, since first ist has to be checked to
cast to native btree datatype ( used in CegoBTreeCursor::traceLog,
inRange and fullMatch )
example:
create table t1 ( a int, d datetime);
create btree b1 on t1(b);
select a from t1 where b = '12.07.2019'; -- should be casted
-- from string to datetime
- Code cleanup to avoid warnings with -Wswitch-enum
- In CegoClient, added input data check via File::hasData ( available
with lfcbase 1.14.0 ). Now, pipe input is autodetected, so the
command line argument "--pipe" has been removed
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sun, 7 Jul 2019
|
[ 08:53 pi ]
databases/cego: upgrade 2.45.0 -> 2.45.1
- Treated alias insert queries with empty schema, e.g.
insert into a1 values ( 1, 'XXX');
- Some patches added for alias management to allow alias defintions
as a subset of the original table, e.g.
create table t1 ( a int, b string(10), c string(30))
create alias a1 on t1 ( a as ax, b as bx);
This has required some fixes in CegoAliasObject::mapSchema and
CegoQueryHelper::mapFLA
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Thu, 4 Jul 2019
|
[ 19:13 pi ]
databases/cego: upgrade 2.44.14 -> 2.45.0
- Added table alias feature to grammar definition. Table aliases
allow alternate table name and attribute name definitions for a
table ( create alias ... )
- Added classes CegoAliasObject and CegoAttrAlias for table alias handling
- Implemented base semantic actions for creating, listing and
describe alias objects ( still no usage )
- In CegoDistManager::registerObjects, added registration for fkey,
check, trigger and alias
- Added alias mapping for insert, update and delete queries (
CegoQueryHelper::mapAliasPredicate still to implement )
- Basic alias mapping for select works, here's a sample SQL script
drop if exists table t1;
list alias; (Only the first 15 lines of the commit message are shown above )
|
Wed, 19 Jun 2019
|
[ 11:57 pi ]
databases/cego: upgrade 2.44.13 -> 2.44.14
- Some improved exception handling in CegoTableManager::checkIntegrity
( more detail information about violated object )
- Code cleanup CegoTableManager, drop/create/alter operations inside
a transaction no more allowed
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Tue, 14 May 2019
|
[ 05:23 pi ]
databases/cego: upgrade 2.44.12 -> 2.44.13
- Further recovery fix in CegoTableManager::insertDataTable In case
of an insert exception ( e.g. duplicate pkey ), a checkpoint is
forced now after deleteData to ensure file consistency
In CegoObjectManager::insertPageData a second checkpoint is forced
after data copy, if a previous checkpoint has occured. Otherwise
this insert might be ignored during recovery because of lower LSN
- Fix in CegoBTreeManager::checkDuplicate, the check for uflag (
returned CegoBTreeNode::valueExists ) to check for high value is
not enough if, entries have been deleted from node.
Instead, all subsequent pages have to be checked until a value higher is found
- Introduced CegoBufferPool::getCPCount() to return to current
checkpoint count. This method is used by CegoTableManager,
CegoObjectManager and CegoTransactionManager to decide, if a (Only the first 15 lines of the commit message are shown above )
|
Sat, 11 May 2019
|
[ 07:44 pi ]
databases/cego: upgrade 2.44.11 -> 2.44.12
- Fix added in CegoTransactionManager::commitUpdate, btree must be
inserted with insertBTreeWithCommit
- Fix added in CegoTransactionManager::getCrashAffectedTables,
schema entry must be searched with Find(CegoField(Chain(),
SYS_RB_TABLE))
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Fri, 10 May 2019
|
[ 09:19 pi ]
databases/cego: upgrade 2.44.10 -> 2.44.11
- Fix in CegoRecovery:::recoverCurrentTransactionLog, for LOGREC_INSERT
and LOGREC_DELETE, the corresponding index have to be invalidated
with CegoTableManager::invalidateIndexForTable. This logic was
already implemented but removed in context of more sophisticated
transaction handling ( patch 2.39.11 and around )
- Small fix in CegoObjectCursor constructor, changed _isEOC = false
to _isEOC = ( pageId == 0 ). This causes getFirst to return false
in case of truncated objects ( can occur for RBSEG objects )
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sat, 4 May 2019
|
[ 15:34 pi ]
databases/cego: upgrade 2.44.9 -> 2.44.10
- Fix in CegoAction::readChain() to support "\r" escape character
Fix in CegoBTreeCursor::getFirst, in case of pAttrCond = 0, getNext
has to be called if current leaf page is empty, otherwise cursor
trace is incomplete ( just used for CegoDistManager::verifyTable )
- Fix in CegoBTreeNode::getChildPage, parameter traceMin has been
introduced, which is needed to trace btree with
CegoBTreeManager::deleteBTree.
Otherwise, it might happen that non-unique btree objects are not found
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Thu, 2 May 2019
|
[ 12:50 pi ]
databases/cego: upgrade 2.44.8 -> 2.44.9
- Removed legacy method CegoAggregation::setInit/isInit
- Fix in CegoQueryHelper::aggregateTuple, since the field value
reference for aggregation field value might be no more valid during
the aggregation run, a local copy is created via
CegoFieldValue::getLocalCopy.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sun, 28 Apr 2019
|
[ 08:35 pi ]
databases/cego: upgrade 2.44.7 -> 2.44.8
- Added method CegoClient::treateEscape to handle escacpe charaters
in command strings for interactive and batch mode ( newline, carriage
return und tab )
- Further optimization in CegoFunction::getReturnTypeLen, if the
length argument in left, right substr function is a constant, this
value is used for schema definition, otherwise the length of the
source is used. Example:
select left(a,3) from t1 => length 3 is used for schema
select left(a,b) from t1 => definition of a is used for schema
Further optimization done in CegoSelect and CegoAction for schema
evaluation.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Fri, 26 Apr 2019
|
[ 07:35 pi ]
databases/cego: update 2.44.6 -> 2.44.7
- In CegoSelect::evalSelection, optimization provided in a way,
that schema is not evaluated explizit anymore. Rather the previous
analysed schema ( prepare method, _evalSchema ) is used. Since for
dynamic field length, the resulting schema must be estiamated, this
approach is ok.
- Fix added in CegoFunction::getReturnTypeLen, evalFieldValue for
expression values could fail, since FLA ist still not set up. For
this case, now the cont value RETVAL_LEN is returned as an estimation.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Tue, 23 Apr 2019
|
[ 11:56 pi ]
databases/cego: update 2.44.5 -> 2.44.6
- Added some code cleanup and additional checks ( check082 and check083 )
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Mon, 22 Apr 2019
|
[ 14:11 pi ]
databases/cego: update 2.44.4 -> 2.44.5
- Added fix in CegoAttrComp::setup, _posSetup variable was not setup
correctly for case BTWN / VALUE2VALUE which might lead to invalid
join array access.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
[ 12:16 pi ]
databases/cego: update 2.44.3 -> 2.44.4
- Added fix in CegoExpr::evalField and CegoTerm::evalField to provide
correct result type. This is required for fastserial protocol usage.
- Also added fix in CegoFieldValue::operators +-*/ to cast to the
largest value
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
[ 06:57 pi ]
databases/cego: update 2.44.1 -> 2.44.3
- Fix in CegoTableManager::deleteDataTable, before resolving external
table references via evalExtTableReferences, the subquery must be
prepared, to resolve local attributes first
- Optimization added in CegoBufferPool::bufferFix. If there is no
available slot in the bufferpool, a checkpoint is forced for the
corresponding tableset ( already implemented ). Now if still no
available slot, we force checkpoint for all other online tableset
of the database. This might be useful, if the bufferpool is heavily
occupied by other tablesets with dirty pages.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sun, 21 Apr 2019
|
[ 13:31 pi ] (Only the first 10 of 12 ports in this commit are shown above. )
devel/lfcbase: update 1.11.9 -> 1.13.0
devel/lfcxml: update 1.2.6 -> 1.2.10
databases/cego: update 2.39.16 -> 2.44.1
databases/cegobridge: update 1.4.0 -> 1.5.0
databases/p5-DBD-cego: update 14.0 -> 1.5.0
- Warning: storage format has changed
Export to xml format before upgrade and re-import after the upgrade
See UPDATING
- recompile all applications linked to libcego
- Lots of changes, among them:
o improved crash recovery
o fixes to SQL expected behaviour
o better CDATA handling
o fixes primary key handling design issue
o changes to serialisation for export/import, XML export/import is still
possible
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
Changelog: http://www.lemke-it.com/litexec?request=pubnews&user=&lang=en&numlog=1000
|
Tue, 9 Apr 2019
|
[ 14:04 sunpoet ] (Only the first 10 of 289 ports in this commit are shown above. )
Update devel/readline to 8.0
- Bump PORTREVISION of dependent ports for shlib change
Changes: https://tiswww.case.edu/php/chet/readline/CHANGES
PR: 236156
Exp-run by: antoine
|
Tue, 24 Apr 2018
|
[ 05:22 pi ]
devel/lfcbase: update 1.11.8 -> 1.11.9
databases/cego: update 2.39.15 -> 2.39.16
lfcbase:
- Introduced new method File::flush to force synchronization of data to disk
cego:
- Fix in CegoObjectManager::insertPageData, new data entry is checked
now for maximum available space in page. This is done if a new
data page has to be allocated and the data entry still fits not
into page
- Added File::flush method to CegoLogManager and CegoFileHandler
to synchronize log data and datafile data to disk
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Wed, 11 Apr 2018
|
[ 11:24 pi ]
databases/cego: update 2.39.14 -> 2.39.15
- Fix in dbcheck/expimpcheck, test plan was not set up correctly
In CegoXPorter and CegoExpImpStream, row export information was
added again to indicate overall row export for each table
- Fix added in CegoDbThread::serveRequest ( GETBLOB and GETCLOB case ) and
CegoTableManager::getBlobData / getClobData chunkSize calculation. The
existing calculation did not treat every boundary case.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Mon, 9 Apr 2018
|
[ 17:56 pi ]
databases/cego: update 2.39.13 -> 2.39.14
- Fix in CegoXPorter::writeRow and CegoXPorter::readRow for binary
export and import of tables containing lob null values. lob null
values must be identified by colLen unsigned long long = 0 instead
of integer = 0
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sat, 7 Apr 2018
|
[ 17:22 pi ]
databases/cego: update 2.39.12 -> 2.39.13
- Introduced CegoTransactionManager::getCrashAffectedTables method.
In case of a crash recovery, all transaction affected tables have
to be analysed for index objects. Before finishing transactions,
the index objects have to be invalidated ( since they might be
corrupted ) and after completion of transactions they have to be
recreated. This is done now in CegoTableManager::finishOpenTransaction
- Fixes in CegoLogManager, CegoRecoveryManager, CegoDistManager and
CegoTableManager for LSN handling. Instead of saving the next LSN,
now the current written LSN is recorded in CegoLogManager. This
seems to be more natural, since a lot of methods set up the LSN to
a value + 1. Also this fixes a mismatch between commited lsn and
current lsn, which leads to a tableset recovery during startup in
any case ( occured with version 2.39.9 )
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Thu, 5 Apr 2018
|
[ 17:10 pi ]
databases/cego: update 2.39.11 -> 2.39.12
- Patch in CegoClient to catch format exceptions like
"Invalid datetime string <0> for format <%d.%m.%Y %H:%M:%S>"
This may happen, if on server side bad union selects are defined like
create view v1 as
select a as a, b as b from t1
union all
select a as a, 0 as b from t2;
where b is a datetime data type. In this case, invalid formatted
strings occur on the client side, which are catched now.
- Patch in CegoDatabaseManager::useObject to support lock
delay values > 1 sec. The DBM_LOCKDELAY value in CegoDefs has now
increased to 2500 msec. In some cases for heavy updates
( e.g. clob updates ) this might be useful to avoid ugly exclusive
lock delay messages in database log file
- Fix in CegoTableManager::updateTuple. If the update fails ( this
might happen, if another transaction actually updates the corresponding
tuple ), any allocated lob values are freed now. Otherwise the
data pages for the lob values were allocated with no more references.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sun, 1 Apr 2018
|
[ 14:00 pi ]
databases/cego: update 2.39.9 -> 2.39.11
- Improvements for log handling, the logIt method was moved from
CegoTableManager to CegoBufferPool. This allows a more adequate
locking of the logging actions. For this the tsLock array has been
removed from CegoTableManager and lmLock array has been set up in
CegoBufferPool. Since checkpoint writing occurs in CegoBufferPool
( which is also relevant for loging operations ), the logging method
is now part of CegoBufferPool.
- The logAction method in CegoLogManager has also been improved in
a way, that a log buffer is not allocated for each logging operation
anymore. Instead, a logBuf array has been defined for all tablesets
and the logBuf is reallocated, if the current logging record exceeds
the log buffer.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Thu, 29 Mar 2018
|
[ 11:55 pi ]
databases/cego: update 2.39.8 -> 2.39.9
- Added fixes for recovery procedure in CegoTableManager. Now the
LSN is allocated at the beginning of critical operation to avoid
double operations in case of a forced checkpoint. For this the
CegoLogManager::nextLSN method has been introduced. Now it is no
more ensured that the log is written with increasing LSN, so some
logical parts of the recovery procedure in CegoRecoveryManager has
been changed.
- In CegoBufferPool, the writeCheckPoint method still returned int
value. This has been changed to unsigned long long
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sun, 18 Mar 2018
|
[ 10:57 pi ]
devel/lfcbase: 1.11.6 -> 1.11.7
databases/cego: 2.39.7 -> 2.39.8
lfcbase:
- Fix for memory leak in TreeT and AVLTreeT.
The = operator implementation did not empty the tree before copy.
- Additional fix to this release : Added regfree call to Matcher
destructor. Missing this call seems to cause a small memory leak
cego:
- Fix for memory leak in CegoPredDesc, pMatcher has not been cleaned up
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sat, 10 Mar 2018
|
[ 11:45 pi ]
databases/cego: update 2.39.5 -> 2.39.7
- Fix in CegoTableManager::deleteDataTable, pBlock has to be checked
for null value, otherwise crash recovery might crash. ( bug came
with 2.39.0 to check for pBlock->getTriggerValueList )
- Some clob related fixes in CegoQueryHelper::decodeNativeFVL /
decodeFVL relevant for recovery handling
- Fix in CegoRecoveryManager::recoverCurrentTransactionLog for the
INSERT case. For the blob/clob handling, the lobREf values have not
been set up correctly. This might lead to problems for table recovery
with more than one lob row ( e.g. table t1 ( a blob , b clob )
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Tue, 6 Mar 2018
|
[ 18:26 pi ]
databases/cego: update 2.39.4 -> 2.39.5
- Bug fix in CegoAction::reallocateStringBuf, in the memcpy call,
just the previous stringBufLen has to be copied ( _stringBufLen -
MAXSTRINGLEN ). This bug might lead to seg fault in case of large
parser input ( e.g. clob strings )
- In CegoQuery for insert and insert-by-select case, allocated blob
and clob data ( by CegoQueryHelper::prepareFieldValue ) is cleaned
now if any exception occurs
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Mon, 5 Mar 2018
|
[ 20:34 pi ]
databases/cego: update 2.39.3 -> 2.39.4
- Small bug fix in CegoDistManager, which came up with version
2.39.0. In method deleteLocalDataTable, the variable delCount was
declared two times, which lead to a result of 0 tuples deleted in
any case
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sat, 3 Mar 2018
|
[ 09:10 pi ]
databases/cego: update 2.39.2 -> 2.39.3
- Small improvement in CegoDbThreadPool. For a better db thread
load value calculation, the request queue is no longer locked while
waiting for incoming requests. Instead the QUEUEDELAY parameter has been
increased to a default value of 200 msec to reduce db thread cpu
load while idle. Now the db thread has a good chance to report
idle time to the db thread pool.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Thu, 1 Mar 2018
|
[ 12:29 pi ]
databases/cego: update 2.39.1 -> 2.39.2
databases/cegobridge: update 1.3.0 -> 1.4.0
cego:
- Fix in CegoTableManager::updateTuple, while setting up expression
list, field list array must be setup BEFORE block ist set, since
field list is needed by block setup ( in case of subqueries for
prepare )
cegobridge:
- Adaptions for cego-2.39
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Wed, 28 Feb 2018
|
[ 18:53 pi ]
databases/cego: update 2.38.20 -> 2.39.1
- Introduced table locking statements to set an explicit lock on a
table ( e.g. for update synchronisation ). This feature replaces
the "set update sync on/off" command
- Trigger implementation basically completed
- Fix in CegoQueryHelper::encodeFVL, for blob/clob values lists,
the corresponding index variables ( blobidx/clobidx ) have not been
increaed while encoding lob data. This might lead to invalid results
and seg faults in case of multiple lobs values in one insert/update
operation.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sun, 25 Feb 2018
|
[ 04:49 pi ]
databases/cego: fix distinfo
Reported by: pkg-fallout
|
Sat, 24 Feb 2018
|
[ 19:09 pi ]
databases/cego: 2.38.19 -> 2.38.20
- For heavy update operations on tables with btrees using embedding
transactions, duplicate btree errors may occur. This is caused
by not checking corresponding tuple states. To solve this problem,
the following fixes have been done :
o Fix in CegoTableManager::checkBTreeIntegrity : The tuple state for
found entries has to be checked if state = COMMITTED
o Fix in CegoBTreeNode:checkForAffected ( was checkForDeleted before ) :
The tuple state has already checked for state
INSERTED if tid != dataTid
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Tue, 13 Feb 2018
|
[ 20:25 pi ]
databases/cego: update 2.38.18 -> 2.38.19
- Fix in dbcheck/check065.sql for union sql in view.There must be
set up aliases for attributes in selection now
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Fri, 2 Feb 2018
|
[ 18:04 pi ]
databases/cego: update 2.38.16 -> 2.38.18
- Fix in CegoTableManager::createForeignKey, for empty tables,
referenced attributes names have not been checked. This might lead
to invalid key objects.
- Fix in CegoSelect::prepare, expression alias in select list are
checked now for union selects. Alias definition in select expression
list should be identical for all select statements in union
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sun, 31 Dec 2017
|
[ 19:28 pi ]
databases/cego: update 2.38.14 -> 2.38.16
- Increased NETMNG_QUEUE_DELAY to 1000000 ( 1 ms ) to minimize CPU load
- Introduced QUEUEDELAY ( in usec ) config parameter to adjust queue
delay in database xml file. This allows to throttle down database
response time for incoming connection requests and minimize CPU
load
- Added dbcheck/check072.sql. This implements the calculation of
fibonacci numbers using stored procedures as a demonstration for
massive recursive procedure calls
- Optimization for procedure load in CegoFunction::evalFieldValue
( case USERDEFINED ), procedure is just loaded as a dedicated
instance ( via loadProcedure method ), if pMasterBlock is set. This
avoids ( expensive ) dedicated load, if the procedure is still not
in use by the corresponding thread. So just for recursive procedure
calls, the dedicated load happens.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Wed, 20 Dec 2017
|
[ 19:59 pi ]
devel/lfcbase: update 1.11.4 -> 1.11.5
databases/cego: update 2.38.12 -> 2.38.14
lfcbase:
- Stability patch for strptime implementation ( MinGW only )
cego:
- Fixed memory lead in CegoDistManager destructor ( _pPA was not deleted )
- Further optimization done in CegoBTreeCursor, introduced methods
traceLow and inRange to treat btree comparison in a more efficient way
- Fix in CegoAttrCond::getIndexCond, like and no like comparisons
must be filtered out for new btree cursor tracing logic
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Thu, 14 Dec 2017
|
[ 16:56 pi ]
databases/cego: update 2.38.10 -> 2.38.12
- Small optimization in CegoAttrCond::checkIndex, removed primary
flag, since this is done now by attribute ordering. This leads
to full index trace match instead of trace with index support and
so, additional unnecessary predicate evaluation is avoided.
- More rework for btree evaluation in CegoBTreeCursor
- Optimization in CegoBTreeCursor::getNext. Instead of calling
getNext in a recursive way, this is now done in a iterative way.
This might avoid heavy stacking in case of special query constraints
( e..g multi dimensional btrees and range conditions like a > 400
and b betweeen 'AAA' and 'DDD' )
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sun, 10 Dec 2017
|
[ 20:36 pi ]
devel/lfcbase: update 1.11.3 -> 1.11.4
databases/cego: update 2.38.9 -> 2.38.10
lfcbase:
- Fixes in TreeT class, changed methods First, Next, isEmpty and
compare operators to const
cego:
- Fix in CegoDistManager, we have to use a dedicated parser for
loadView and loadProc methods. Otherwise compilation may fail in
case of nested objects ( e.g. a view which references another view
object)
- Fix in CegoBTreeCursor, CegoAttrCond and CegoAttrComp, for
conflicting cursor conditions ( e.g. a = 4 and a < 1 ), the cursor
evaluation failed, since just the primary condition was treated.
- For CegoBTreeCursor, the method fullMatch has been introduced,
to make an final evalution in case of multi conditions.
- Also introduced: a ordering for CegoAttrComp set in
CegoAttrCond to treat more constraint conditions at the beginning
( EQUAL before LESS_THAN before NOT_EQUAL and so on )
- Changed CegoAttrCond compSet from SetT to TreeT.
This is required, since we need the ordering in the set.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sat, 9 Dec 2017
|
[ 10:52 pi ]
databases/cego: update 2.38.7 -> 2.38.9
- Introduction of new functions ascii ( get ascii character for
numeric value ) , ldiv and lmod ( div and mod operation for long
values )
- Modification in CegoFunction::evalFieldValue. To allow recursive
calls of user defined functions and procedures, dedicated procedure
instances are created for each call. This is done by parsing the
procedure text via CegoAction
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sat, 2 Dec 2017
|
[ 10:43 pi ]
devel/lfcbase: update 1.11.2 -> 1.11.3
databases/cego: update 2.38.6 -> 2.38.7
lfcbase:
- Improvements made for dedicated strptime implementation. The
function did not return null in case of unparsable date values.
This code is just used for MinGW compiles since there is no
implementation in the Standard C library available.
cego:
- Fix in CegoXPorter::readTableObject, the defintion for MAXROW BUF
still was defined locally and rowLen was noch checked.
- Optimization in CegoFieldValue::decode, memory was allocated via
malloc, rather _staticBuf should be used for performance reasons.
_isLocalCopy was not set to true
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Thu, 30 Nov 2017
|
[ 20:09 pi ]
devel/lfcbase: update 1.11.1 -> 1.11.2
databases/cego: update 2.38.5 -> 2.38.6
lfcbase:
- More detailed exception messages for BigDecimal and BigInteger
cego:
- Fix in CegoFunction::getId and CegoSelect::getQueryId : with
enabled query cache, the following select is cached
select nextcount(mycount);
- Since nextcount is a modifying operation, this is not a good idea.
To avoid caching, CegoFunction now throws an Exception if
nextcount / setcount function calls are detected during getQueryId.
For these cases, the query id ignored for caching
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Sat, 25 Nov 2017
|
[ 12:54 pi ]
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
RESERVED_BTREE_FLOATLEN in CegoDefs.h
- 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 <lemke@lemke-it.com>
|
Wed, 22 Nov 2017
|
[ 18:46 pi ]
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 <lemke@lemke-it.com>
|
Sun, 19 Nov 2017
|
[ 09:33 pi ]
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 <lemke@lemke-it.com>
|
Sat, 18 Nov 2017
|
[ 08:34 pi ]
databases/cego: update 2.37.3 -> 2.38.0
databases/cegobridge: update 1.2.1 -> 1.3.0
cego:
- 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.
cegobridge:
- 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 <lemke@lemke-it.com>
|
Wed, 15 Nov 2017
|
[ 12:32 pi ]
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 <lemke@lemke-it.com>
|
Fri, 10 Nov 2017
|
[ 19:09 pi ]
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 <lemke@lemke-it.com>
|
Wed, 8 Nov 2017
|
[ 10:23 pi ]
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
lfcbase:
- 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
cego:
- 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 (Only the first 15 lines of the commit message are shown above )
|
Wed, 1 Nov 2017
|
[ 17:42 pi ]
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
cego:
- 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
cegobridge:
- Speed up imports by changing the way the parser reads the input
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
[ 06:44 pi ]
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
reasons.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
|
Mon, 30 Oct 2017
|
[ 19:36 pi ]
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 <lemke@lemke-it.com>
|
Sun, 29 Oct 2017
|
[ 10:42 pi ]
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 <lemke@lemke-it.com>
|
Sat, 30 Sep 2017
|
[ 06:17 pi ]
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 <lemke@lemke-it.com>
|
Number of commits found: 306 (showing only 100 on this page) |