non port: databases/cego/distinfo |
Number of commits found: 332 (showing only 100 on this page) |
Sunday, 11 May 2025
|
08:19 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego,devel/lfcbase: 2.52.2 -> 2.52.4, 1.21.3 -> 1.21.6
lfcbase:
- To support several keyboard layouts, changed some window control
sequences from Cntrl-Key to ESC key
- Added virtual method hasData to Pager class. The method must be
implemented to indicate, if an execution returns a result set. If
no result set is returned, just a message box is shown and edit
mode is left ). This seems to be useful for DML queries ( insert,
udate, delete, create, drop, ...)
- In Pager class, added buffer scrolling in editor part. Preparation
started for Pager command history management
- Added history feature to Pager class. Command history can be loaded
and saved with readHistory and writeHistory methods.
Navigation through command history in Edit mode with Cntrl-P and Cntrl-N
cego:
- Adaptions made for pager and pager history feature
6af6045 |
Friday, 2 May 2025
|
19:33 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.51.9 -> 2.25.2, devel/lfcbase: 1.20.1 -> 1.21.3
lfcbase:
- more patches for the Pager class
Removed init_color with custom color for select cursor since the
custom color seems to be poor supported for curses. Fixes added
to Pager::writeFooter
- edit-feature in Pager (must discuss this with Bjoern 8-)
- ignore SIGINT in Pager
- change from unsigned long long to long long value in Datetime class
- pattern search feature for Pager class
cego:
- Small fix in CegoBufferPool.h
- CegoClient adapted to new Pager API
- Queries now can be interrupted with Cntrl-C also in pager mode
- adapt to Datetime long long values ( e.g. date2str from int to long long )
3bb25f44 |
Saturday, 26 Apr 2025
|
18:49 Kurt Jaeger (pi) Author: Björn Lemke
devel/lfcbase,databases/cego: update 1.19.1 -> 1.20.0, 2.51.8 -> 2.51.9
lfcbase:
- Rework of Pager class, which is a API change
cego:
- Made some adaptions for reworked lfcbase Pager class
rows with multiline entries are more readable
72de34f |
Thursday, 24 Apr 2025
|
13:16 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.51.7 -> 2.51.8
- Added check script check119.sql to verify grammar expansion
for stored procedure condition
- CegoAction::procArg1() and CegoAction::procArg2() to check
duplicate parameter names
- Added check118.sql to demonstrate explicit table locking for nested
delete operation within a cursor loop
5be43f6 |
Monday, 21 Apr 2025
|
12:02 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.51.5 -> 2.51.7
- Fix added in CegoFactor::getAggregationList:
for case QUERY and case FETCH, the not-supported exceptions
have been removed, otherwise this leads a useless exception
in CegoAttrCond::asConjunctionList where aggregations are just checked
- Added grammer change in Cego.def to ensure operator precedence
for AND and OR condition operator.
AND has higher precedence if no enclosing braces are given.
The result for the following queries should be the same
select * from t1 where a = 42 or a = 1 and b = 'X' ;
select * from t1 where a = 1 and b = 'X' or a = 42;
select * from t1 where a = 42 or ( a = 1 and b = 'X' );
- With cego version before 2.51.7, braces have been mandatory to
ensure operator precedence.
With the new grammar extension, the AND operator has a higher presedence
e577c12 |
Sunday, 13 Apr 2025
|
08:25 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.51.3 -> 2.51.5
- CegoFactor::evalFieldValue, QUERY case, after query
evaluation, the parentJoinBuf has to be reset, otherwise an invalid
reference is used later to CegoSelect::getQueryId. This might result
in core dumps, if query cache is enabled
- Added querycache verification to db check routines
- Added querycache mode to command line options to set up query cache by batch
8e73e67 |
Thursday, 10 Apr 2025
|
18:24 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.51.1 -> 2.51.3, devel/lfcbase: update 1.19.0 -> 1.19.1
lfcbase:
- BigDecimal::div null value check
cego:
- CegoFactor::toChain to add braces for condition case
- CegoSelect::initAggregation, for sum and avg aggregation, aggregation
value is initialized with 0 and appropriate datatype ( instead of
null value ). This leads to numeric result 0 in case of empty result
sets ( instead of null value )
af3d489 |
Sunday, 6 Apr 2025
|
06:59 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.51.0 -> 2.51.1
- Fix made in CegoDistCursor::distSetup to support FLA setting with
no cursor condition. This is needed for query plan evaluation for
nested inner/left outer/right outer joins
See check114 as a sample
6e28ea9 |
Saturday, 5 Apr 2025
|
16:07 Kurt Jaeger (pi) Author: Björn Lemke
*/*: update several cego related ports
devel/lfcbase 1.18.11 -> 1.19.0
- Changed Datetime::asLong to return signed long values ( long long ).
This is needed to support timestamp values before 01.01.1970,
which are signed negative
databases/cego 2.50.6 -> 2.51.0
- consolidate grammar productions for query conditions and
procedure conditions
- Since CegoPredicate::CompType has received new type EXPRONLY,
this requires a tableset export/import for upgrading to this version
( for predicate encoding / decoding )
- Several changed in CegoFieldValue to switch from Datetime integer
type unsigned long long to long long. This is required to support
datetime comparison for values before 01.01.1970
databases/cegobridge 1.8.1 -> 1.9.0
- adapt to cego 2.51.0
0fdd0ce |
Sunday, 30 Mar 2025
|
16:07 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.50.5 -> 2.50.6
- fix check constraint problem in 2.50.5
95f0e2c |
Monday, 10 Mar 2025
|
11:19 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.50.4 -> 2.50.5
- more special characters handled in CegoQueryHelper::sql2Regex ( $ and % ),
see check113.sql for samples
6458a7e |
Friday, 7 Mar 2025
|
18:25 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.50.3 -> 2.50.4
- Optimization added to CegoPredDesc::match. Matcher is just created,
if the match method is called, since it might occur, that the
condition is evaluated be CegoDistCursor via CegoAttrCond
- Fix in CegoAttrComp::getMatcher, there was still missing star
escape, which has been added to CegoPredDesc constructor. To avoid
two same pieces of code, CegoQueryHelper::sql2Regex has been
introduced
d78a9e6 |
Wednesday, 5 Mar 2025
|
08:09 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.50.2 -> 2.50.3
- in CegoPredDesc constructor to meet FreeBSD regex requirements
( regcomp fails with regex pattern containing concatenated
star, e..g. ".**" ). So "*" is replaced with ".*"
- code cleanup release
7ad7778 |
Thursday, 30 Jan 2025
|
14:06 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego{bridge}: 2.49.22 -> 2.50.2, 1.7.0 -> 1.8.1
cego:
- Added syntax expansion for group having clause to support
advanced having conditions, e.g.
SELECT a, sum(b), max(c) FROM t1
GROUP BY a HAVING sum(b) > 10 AND max(c) = 100;
- Patch added for 'view condition evaluation' in
CegoAttrCond::asConjunctionList, CegoSelect::setViewCond and
CegoDistCursor::distSetup.
- Additional check added to CegoObjectManager to avoid duplicate
table objects of different type ( e.g. Table t1 and View t1 ). Table
objects are either native tables, views or aliases.
- For predicate export structure, changed from XML representation
to native SQL syntax. This requires a dedicated Parser in CegoXPorter,
which can handle predicate SQL representation, but saves lots of
code, since all subsequent member classes of CegoPredDesc no more
need to implement XML representation methods ( constructor,
fromElement, toElement )
- Added stabilization patches for nested grouping select, e.g. in
exists subselect. In CegoSelect::reset, for _selectMode == GROUPING,
grouping space is resetted now properly.
- Added stabilization patches to CegoAction. Load statements for
views, procedures, triggers and condition are treated regarding
object allocation/free. These statements are for internal use only,
so a database user receives a note message now
- Further improvements added in CegoQuery to give more detailed
error information in case of exceptions
- In CegoTableManager, made some exception message improvements,
instead of popping last message, the complete message stack is thrown
cegobridge:
- Support added for cego-2.50.x
- Fixes added for modified CegoAction::getSelect and
CegoAction::getProcedure methods
a50cd77 |
Sunday, 12 Jan 2025
|
08:17 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.49.21 -> 2.49.22
- For several modules, added exception trace information to improve
error logging in case of any exception
- Patch added for CegoQueryCache::addEntry, getNumUsed added to
search loop to find appropriate slot. This avoids some needless
assignments, since used entries cannot be assigned.
- Patch added CegoQueryCache::invalidate. For main loop, a delay
has been added, to give other threads the chance to claim the lock
69f948d |
Thursday, 2 Jan 2025
|
10:50 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.49.20 -> 2.49.21
- Patch for CegoFunction added.
For methods getReturnType, getReturnTypeLen and evelFieldValue
the following has been added : If proc object is getting used by
useObject, the following getProcedure call must be catched for
exception to unuse the object since _pProc is stiil null and the
object so is not unused by cleanup
987ed7e |
Wednesday, 11 Dec 2024
|
19:14 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.49.16 -> 2.49.20
- Removed lockPool call in CegoAdminThread::srvExportTableSet and
srvExportTable to avoid lock timeouts during long running exports
- Made some code cleanup in CegoAdminThread ( exception consolidation )
- db thread query history information, added timestamp and cost information
- Introduces new cgadm admin commands
o queryhist last n
o queryhist cost n
to show the query history for all db threads in the db thread
pool. The last n queries or the most expensive n queries are
indicated
- Added query history suppport for cgadm screen mode
- CegoAdmScreen to fully support of query history feature
( last and full over all db threads ).
- Screen2:Grid schema patches added to satisfy new column alignment
feature for Screen2
- Fix added in CegoDBThreadPool. CegoAdminThreadPool and CegoLogThreadPool.
If database hostname is not defined, the corresponding service is served
on any hostname. This avoids confusion regarding IPv4 and IPv6 host
configuration ( e.g. on MacOSX Sequoia, java seems to
handle localhost always as IPv4 127.0.0.1, while on POSIX layer,
it is mapped to ::1, a bit strange )
- Added new lfcbase Net::serve6 method to db, admin and log threadpool.
If no hostname is defined in database xml, an IP dual stack
configuration is set up.
9789c73 |
Sunday, 17 Nov 2024
|
19:44 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.49.11 -> 2.49.16
- cgmkdb utility script:
allows to set up advanced database parameters
- In CegoXMLSpace::addTableSeDef, added ARCHMODE attribute to
set archmode to OFF as default
- Added querycache threshold parameter. Just queries with execution
time greater than threshold value are cached. This leads to a lower
stressed cache and avoids cache latency for those queries. Threshold
is given in msec, which seems to be appropriate for now.
- Some memory leaks fixed
- fix cgadm (hang if INTR received while idle)
- Added query history for db threads. Not just the last action is
indicated via admin command "threadinfo db threadId", but also the
last n queries processed by this thread. History Length can be
configured via new cego command line option dbthreadhist
afd8891 |
Friday, 25 Oct 2024
|
14:29 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.49.10 -> 2.49.11
- Patch added for memory leak in CegoSelect::cleanUp and
CegoSelect::reset, for both methods, _pCacheList has to checked and
freed, since for uncompleted queries ( e.g. exists clause ) the
_pCacheList was still not deleted
- Another fix for memory leak added in CegoFieldValue::getLocalCopy,
Before allocation, _len has to be checked for _len < STATICFIELDBUF
and then use _staticBuf, otherwise, the memory is lost
3e3c5c1 |
Sunday, 20 Oct 2024
|
14:34 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: 2.49.9 -> 2.49.10, devel/lfcbase: 1.18.7 -> 1.18.8
lfcbase:
- patch to Screen2::Form::handleKey to treat pipe character ( | )
- patch to Screen2::Attribute::setAttrList for refresh window
after attrlist has been updated
- Change in Screen2::Attribute class.
The class now provides three layout modes : HORIZONTAL, VERTICAL, OVERLAY.
In OVERLAY mode, with left and right cursor key it is switched
to visible attribute list. For this, the Screen2::Attribute constructor
has been changed
cego:
- For CegoAdmScreen, added QueryCacheInfo to tableset menu
- daptions made for CegoAdmScreen to
handle lfcbase-1.18.8 API change for Screen2::Attribute
4c0cee8 |
Wednesday, 16 Oct 2024
|
19:23 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.49.8 -> 2.49.9, devel/lfcbase: 1.18.6 -> 1.18.7
lfcbase:
- Added patch in Matcher.cc to support extended regular expression
(added REG_EXTENDED flag to regcomp call )
cego:
- Added dedicated admin command to show query cache information
including hit rate ( show querycache for tableset )
This will replace the querycache information shown with general
show tableset admin
command
- Added patch for memory leak in CegoSelect. Within
CegoSelect::consolidateConjunctionList method, predicate and condition
instances are created for conjunction organisation. These instances
have to be registered and freed later within CegoSelect::cleanUp
- Rework of table cache logic, which is still experimental. A table
filter now can be defined to just cache a specified subset of tables.
Since table cache is just useful for specific tables with read only
flavor and medium size, this extension seems to makes sense. Cached
table rows can be accessed directly without accessing buffer pool
pages and without decoding. This might accelerate some database
configurations, where query cache is not appropriate and hot spot
readonly tables have to access very often and very fast.
acd64d5 |
Friday, 23 Aug 2024
|
15:08 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.49.7 -> 2.49.8
- Added patches for querycache.
The CegoQueryCache::addEntry method now is limited to
QUERYCACHE_MAXTRY tries to add an entry. Otherwise numFail
counter is increaed, which is monitored for the query cache.
This should resolve deadlocks in smoother way ( no more lock timeouts )
in case of other db thread have the requested querycache slot in use.
For performance reasons, CegoQueryCacheEntry::calcSize was introduced
to just calculate the entry size in the constructor.
- Added lockId for lock objects in CegoBufferPool and CegoQueryCache
ad32ab4 |
Monday, 12 Aug 2024
|
11:16 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: 2.49.6 -> 2.49.7
- Fix added for CegoXPorter / CegoAdminThread / CegoBufferPool
to treat locking issue during tableset / table import.
Since the pool is locked during import ( by new introduced method
lockPool ), no further locking calls must occur during import.
For this, log writing is disabled before lockPool is called and
CegoBufferPool::logIt checks for active log ( via new isActive
method ) before trying to get a lock.
aa7dd71 |
Sunday, 21 Jul 2024
|
07:52 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.49.4 -> 2.49.6
- Synchronization of tableset admin operations added with this patch.
In CegoBufferPool, new methods are provided for tableset oriented locking
( lockPool and unlockPool ) These methods are used by CegoAdminThread
to synchronize concurrent tableset admin operations
( like stop tableset, drop tableset, export tableset, e.g. )
- Indent format improvements made for select, insert and update queries.
This is relevant for formatted sql code in stored procedures.
Author: Björn Lemke <lemke@lemke-it.com>
8b40ea6 |
Saturday, 29 Jun 2024
|
07:17 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.49.3 -> 2.49.4
- More stabilization added to c wrapper library.
Relocation of cpluscheck and c wrapper check to root directory.
CegoCPlusCheck and cgwtest are now build during make all
Will be used in upcoming python module to access cego.
a2313ef |
Friday, 28 Jun 2024
|
09:53 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.49.2 -> 2.49.3
- Added fix in CegoFieldValue for construction of double values
( added missing normFloatValue method call )
Author: Björn Lemke <lemke@lemke-it.com>
b1c904f |
Saturday, 15 Jun 2024
|
11:17 Kurt Jaeger (pi) Author: Björn Lemke
devel/lfcxml,databases/cego: 1.3.6 -> 1.3.7, 2.49.0 -> 2.49.2
lfcxml:
- Patch added in XMLSuite.cc to treat CDATA lookahead correctly.
Trailing square brackets ( ] ) at the end of cdata caused parsing problems
cego:
- Added missing thread lock information for admin thread list and
thread stat command ( query + table locks, logmanager locks )
- Added patches in CegoQueryCache to improve locking.
For the addEntry method, the complete locking logic was
redesigned to avoid deadlocks
Author: Björn Lemke <lemke@lemke-it.com>
Date: Sat Jun 15 13:15:23 2024 +0200
0d05eba |
Monday, 20 May 2024
|
07:15 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.48 -> 2.49.0, cegobridge 1.6.5 -> 1.7.0
- In CegoCaseCond, added getPlanList method to retrieve execution plan
for nested selects. The planlist then is catched in CegoFactor::getPlanList
- Consolidation done for data types decimal and fixed.
This version just supports the decimal datatype which originally was
the fixed datatype. The original decimal datatype was useless.
IMPORTANT: To migrate to version 2.49, you have to xml export
the databases and rename the datatype strings "fixed" and "FIXED"
to "decimal" and "DECIMAL"
- cegobridge needs to be rebuild
b49179e |
Monday, 1 Apr 2024
|
14:54 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.45 -> 2.48.48
- Fix in CegoAdmScreen::TableSet::TableSet constructor,
SysUsage field added to indicate correct usage
for system, temp and app files
- Patch added for transaction handling in CegoTransactionManager::doCommit
and CegoTableManager::deleteDataTableEntry.
Just for tuple state COMMITTED, a rollback entry must be created,
otherwise double tuple delete may occur.
For tuple state INSERTED, tuple state is just set to OBSOLETE,
for tuple state OBSOLETE and DELETED, nothing has to be done.
In CegoTableManager::doCommit, tuple state just has to be set
to COMMITTED in case of INSERTED tuples
- Elimination of a cout in CegoQueryCache::QueryCacheEntry::cleanCache
55e6b18 |
Sunday, 17 Mar 2024
|
12:39 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.44 -> 2.48.45
- Added patches for return on update handling to treat value handling
in return list. The order in the return list must be stricter,
otherwise field evaluation via FLA caching in CegoFactor fails.
- returnList has been localized ( new method CegoQueryHelper::localizeFL )
to ensure correct values after update cursor ist closed.
43a5180 |
Saturday, 16 Mar 2024
|
12:30 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.43 -> 2.48.44
- CegoXPorter: improve exception handling for invalid export file names
3373263 |
Friday, 8 Mar 2024
|
18:58 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: 2.48.42 -> 2.48.43
- Added patch in CegoSelect::evalSchema to treat null values for union all,
added patch in CegoFunction::clone to treat counterId value
664c788 |
Thursday, 15 Feb 2024
|
18:53 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.41 -> 2.48.42
- In CegoDistCursor::nextTuple, added query aborted check.
This is needed to abort long running inner and outer join selects
dbc0439 |
Tuesday, 13 Feb 2024
|
08:59 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.40 -> 2.48.41
- Patch added in CegoProcedure::cleanup to set pMasterBlock to zero.
In some cases, the setup master block lead to usage leaks for user
function calls. See check110.sql as a sample to cause this problem.
0fa35b1 |
Wednesday, 7 Feb 2024
|
08:29 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: fix distinfo
Author: Björn Lemke <lemke@lemke-it.com>
1e9f93d |
Monday, 5 Feb 2024
|
10:09 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.38 -> 2.48.40
- Patch added in CegoAdminThread::srvParameterInfo to list current
QUEUEDELAY value and configured scandal formats ( SCANDATETIMEFORMAT )
- Small patch on CegoDistManager::startTableSet,
improvement for exception message added
Author: Bjoern Lemke <lemke@lemke-it.com>
181653c |
Thursday, 18 Jan 2024
|
19:02 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.37 -> 2.48.38
- Patch added in CegoQueryHelper::evalBetween
The comparison ( f2 <= f1 && f1 <= f3 ) has changed to
( f1 >= f2 && f1 <= f3 )
This forces a type cast to f1 datatype in case mismatched datatypes.
This might be useful for queries like
select a from v1 where a between '30.11.2023' and '31.12.2023';
where a cast should be done to date time value ( instead of string )
Author: Björn Lemke <lemke@lemke-it.com>
1210380 |
Thursday, 21 Dec 2023
|
15:43 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.36 -> 2.48.37
- Patch added in CegoQueryHelper::encodeFL and CegoQueryHelper::decodeFL.
The dim field value was still not treated.
This might lead to wrong fixed values for update operations during
crash recovery operation
Author: Björn Lemke <lemke@lemke-it.com>
a75f447 |
Wednesday, 13 Dec 2023
|
07:59 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.34 -> 2.48.36
- Renaming date function dateformat to scandate to reflect its
scanning function. Please note, that cegojdbc uses this
function in CegoPreparedStatement class.
- Fix in CegoXPorter for view import.
For view creation, the field entries in schema must be setup
with a unique id ( analog to view creation via sql command )
Author: Björn Lemke <lemke@lemke-it.com>
7bf99a8 |
Thursday, 16 Nov 2023
|
20:25 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.32 -> 2.48.34
- Add patch in CegoFactor::setFieldListArray, _flaCached again is
set to false since the field list in the the array may change
( e.g. for outer join queries used in views )
- In CegoDistCursor::getTuple, the tuple retrievel has been changed
for view objects. Complicated reasons...
914f3cf |
Tuesday, 14 Nov 2023
|
14:32 Kurt Jaeger (pi) Author: Björn Lemke
devel/lfcbase: update 1.18.5 -> 1.18.6 and databases/cego: 2.48.29 -> 2.48.32
lfcbase:
- Patch added in Sleeper class to support larger values for milliSleep
and microSleep. For this, also input parameter type has changed from
int to unsigned long
cego:
- Patch added for CegoCaseCond::evalField to eval appropriate datatype.
If the case condition contains null type this was not done correctly
- Added patch in CegoSelect::evalSchema. At the end of the method,
schema ids are calculated to provide unique attribute ids for views
- support nested case conditions
Author: Björn Lemke <lemke@lemke-it.com>
4ba2a97 |
Tuesday, 8 Aug 2023
|
09:06 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.28 -> 2.48.29
- Fix added in CegoAggregation::decode, c flag was
not decoded correctly ( wrong order in memcpy function )
6c0e87f |
Sunday, 30 Jul 2023
|
18:06 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.27 -> 2.48.28
- Fix added in CegoProcQueryStmt::execute,
after execution of the query, the cleanUp method must be called
to avoid leaks regarding stored proc object use
( this corresponds to the new optimized stored proc handling )
6b907e1 |
Monday, 17 Jul 2023
|
10:18 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.48.25 -> 2.48.27
- Patch addd for tableset stop procedure.
With the new optimized stored procedure handling ( CegoFunction module ),
the object cleanup must be done BEFORE the tableset is finally stopped.
Otherwise an uncaught exception occurs ( tableset not online )
which results in database crash after tableset shutdown.
Several modules have been modified for this
- In CegoFunction constructors, added _pProc = 0 initialization
for decoding and fromElement constructors. This avoids a set fault,
in case of database recovery, when a predicate expression
with user function is dedoded from log file
Author: Björn Lemke <lemke@lemke-it.com>
36f42e4 |
Sunday, 14 May 2023
|
10:12 Kurt Jaeger (pi) Author: Björn Lemke
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
14202f5 |
Friday, 28 Apr 2023
|
19:24 Kurt Jaeger (pi) Author: Björn Lemke
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 ) )
9b18436 |
Tuesday, 7 Mar 2023
|
10:58 Kurt Jaeger (pi) Author: Björn Lemke
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.
9c66b76 |
Thursday, 26 Jan 2023
|
19:07 Kurt Jaeger (pi) Author: Björn Lemke
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
b76b5eb |
Tuesday, 24 Jan 2023
|
10:49 Kurt Jaeger (pi) Author: Björn Lemke
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)
int year(datetime d)
datetime plusHour(datetime d, int hr)
datetime plusDay(datetime d, int dy)
datetime plusMonth(datetime d, int mt)
datetime plusYear(datetime d, int yr)
datetime minusHour(datetime d, int hr)
datetime minusDay(datetime d, int dy)
datetime minusMonth(datetime d, int mt)
datetime minusYear(datetime d, int yr)
- In CegoMain, added DEFAULTDATETIMEFORMAT1 to dateFormat list to
also parse this format for native cast from string to datetime
- Added Query Cache menu to CegoAdmScreen to manage query cache parameters
314ad8b |
Tuesday, 3 Jan 2023
|
12:31 Kurt Jaeger (pi) Author: Björn Lemke
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
backup files can be treated by the manager. New sample backup manager
available in samples/chkdb
- Further improvements for cgadm screen mode. confirm dialogs added
and backup log history indicated for online backups in case of errors
- More improvements for online backup / restore. Branch id is now
added to archive log filename, so in case of new created or data
file modified tablesets, the corresponding logfiles can be filtered.
Archive logfile information for ready-for-archive and archived
logfiles has been added to archive log information
- Fixes added in CegoClient for dump mode. Some attribute and
attribute values have not treated correctly ( default values,
dimension for fixed attributes, clob values )
- Fixes added for CegoClient dump and batch mode, has been tested
with more complex acc application
- Introduced grace mode for graceful object creation. Using this
mode, views and procedures can refer to objects, which still not
exist. This mode might be useful for initial loads ( e.g. from a
dump file ) to avoid dependency errors
- Fix for CegoSelect::nextTuple, _cacheSchema was not setup for
union selects in case of empty result of the first union entry.
This leads to an exception with cache claim leak. The claim leak
has also been fixed by adding a cleanUp call to CegoSelect destructor
- Fix added in CegoAction::execViewCreate(), in case of grace mode,
empty schema must be stored with created view to force recompile
via CegoDistManager::reloadView
- Added defTabSetId parameter to several toChain methods to write
views, procedures and triggers without explizit tableset references.
This might be useful, if a tableset dump just references objects
for a single tableset and it should be loaded to a tableset with a
different name. ( e.g. select a from t1@TS1 is written as select a
from t1, if active tableset is TS1 )
- Fixes added for alias object usage ( e.g. in combination with views )
- Added lfcbase Screen2 support to CegoAdmScreen
databases/cegobridge: update 1.6.2 -> 1.6.3
- Build fixes added
Author: Björn Lemke <lemke@lemke-it.com>
c4bd711 |
Friday, 18 Nov 2022
|
19:23 Kurt Jaeger (pi) Author: Björn Lemke
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()
( to distinguish x = null and x = 'null' )
- Fix in CegoFunction::getId, the GETCOUNT function still was not
treated
- Some cleanup of source file was done (removed tilde files)
- Added join optimization fix in CegoSelect::buildJoinTables.
Inadequate predicates ( e.g. not equal compare ) are not priorized
for table join order any more. For this the method
CegoPredDesc::prioOnJoin has been introduced
- Grammar fix in Cego.def to ensure _returnOnFirst variable
is set to false for non return update statements
( added production NoUpdateReturnOpt )
- Fix added in CegoTableManager::updateTuple,
for the given expression list, contained subqueries must be
retrieved and analyzed for external table references.
Since the external count was not evaluated correctly, this led
to a incomplete CegoSelect::getQueryId result.
With enabled query cache, the following update did not work correct:
UPDATE posrule pr SET artid =
( SELECT artid FROM article a WHERE a.artnr = pr.artnr );
- Fix added in CegoXMLSpace for user and role create routines.
In case of already defined entities, exception was thrown
before xml lock release
Fix added in CegoXMLSpace::getActiveTableSet to also retrieve
offline tablesets via includeOffline flag.
This is needed for CegoLogThreadPool to archive occupied logfiles
for tablesets in status offline ( for other reasons, runstate is
set now at the beginning of the tableset stop procedure )
- many changes made in CegoAdmScreen class ( was CegoAdmMon )
Several stabilization fixes also have been added. For database
xml file, a unique database id has been introduced to validate
ticket file from performed online backups ( db id must match )
- Small adaptions for cgadm screen mode window sizes
( corresponds to lfcbase-1.17.2 )
68b2a25 |
Friday, 23 Sep 2022
|
14:42 Kurt Jaeger (pi) Author: Björn Lemke
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.
fcbe84c |
08:53 Kurt Jaeger (pi) Author: Björn Lemke
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.
35129a4 |
Thursday, 22 Sep 2022
|
12:56 Kurt Jaeger (pi) Author: Björn Lemke
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
3da7b52 |
Tuesday, 16 Aug 2022
|
14:23 Kurt Jaeger (pi) Author: Björn Lemke
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
71e1781 |
Sunday, 10 Jul 2022
|
08:30 Kurt Jaeger (pi) Author: Björn Lemke
databases/cego: update 2.47.25 -> 2.47.26
- In CegoFieldValue, completed appropriate rounding via cast for
decimal types to integer types
83aad88 |
Saturday, 9 Jul 2022
|
14:22 Kurt Jaeger (pi) Author: Björn Lemke
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
0ccb794 |
Monday, 13 Jun 2022
|
09:25 Kurt Jaeger (pi) Author: Björn Lemke
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>
4c310a0 |
Sunday, 20 Feb 2022
|
13:03 Kurt Jaeger (pi) Author: Björn Lemke
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
method above and added a sleep of DBM_LOCKDELAY. This gives hanging
db threads a chance, to terminate save
- Changed CegoDatabaseManager::useObject method to take pointer to
CegoTableManager as an argument instead of threadId. The tablemanager
is used to support thread termination in case of lock delays
- Fix in CegoTableManager::createBTree to catch exclusicve useObject
timeout before committing btree. In this case, the already created
btree object should be deleted. Fix added in CegoClient to active
abort interrupt also during tuple fetch
- Added function getcount to retrieve current counter value for
a specific counter
- Fix in CegoLogManager::stopLog, the log handle must NOT be deleted,
otherwise, a subsequent startLog and logAction method will result
in a dump. This effect has been observed while importing a single
table ( via xml import ) which failed, if the table already exists.
In this case, no checkpoint is written and log handle i no more
valid. A subsequent modifying db request then results in a core
dump.
4c4ce8d |
Sunday, 16 Jan 2022
|
20:56 Kurt Jaeger (pi) Author: Björn Lemke
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>
fcd7f34 |
Wednesday, 5 Jan 2022
|
15:43 Kurt Jaeger (pi) Author: Björn Lemke
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
414c5d5 |
Tuesday, 4 Jan 2022
|
19:33 Kurt Jaeger (pi) Author: Björn Lemke
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.
b9cb618 |
Thursday, 23 Dec 2021
|
15:47 Kurt Jaeger (pi) Author: Björn Lemke
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
8da598c |
Sunday, 10 Oct 2021
|
19:16 Kurt Jaeger (pi) Author: Björn Lemke
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>
6da2ac6 |
Sunday, 4 Jul 2021
|
07:48 Kurt Jaeger (pi) Author: Björn Lemke
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.
5aa5b64 |
Sunday, 6 Jun 2021
|
11:47 Kurt Jaeger (pi) Author: Bjoern Lemke
databases/cego: update 2.47.2 -> 2.47.3
- New generated parsers ( Cego.def and CegoAdm.def ) with dragon 1.5.5
64b9e03 |
Monday, 24 May 2021
|
07:24 Kurt Jaeger (pi) Author: Bjoern Lemke
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 ...
6794ce7 |
Sunday, 23 May 2021
|
21:24 Kurt Jaeger (pi) Author: Bjoern Lemke
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
ec39a11 |
Sunday, 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>
 |
Monday, 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>
 |
Friday, 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>
 |
Sunday, 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>
 |
Saturday, 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>
 |
Saturday, 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
cego:
- Added fix in CegoViewObject::getId. Since it cannot be decided,
if the underlying query result has been changed, we have to
throw MOD_QUERY_ID
- Another query cache fix in CegoFunction:getId, rand and liob
functions have been added to throw MOD_QUERY_ID exception, since
for those function it can not be ad hoc decided, if the result is
modified
- Added type dimension information for CegoField class. This enables the
database to define length and dim information for fixed and decimal
data types. For this the syntax has been expanded. Instead of storing
RESERVED_BTREE_FLOATLEN for btrees on fixed or decimal columns,
the specified length information is used now.
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
 |
Wednesday, 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>
 |
Tuesday, 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>
 |
Monday, 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>
 |
Saturday, 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>
 |
Sunday, 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>
 |
Friday, 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>
 |
Thursday, 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>
 |
Tuesday, 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>
 |
Friday, 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>
 |
Friday, 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');
insert into t1 values ( 3, 'WAIT');
insert into t1 values ( 4, 'DONE');
insert into t1 values ( 5, 'WAIT');
update t1 set b = 'DONE' where b = 'WAIT' return :a = a;
Just the tuple with a = 3 is update and the value of a is returned
in the procedure variable :a
- For update with return statements, added the on first option.
Since the return variable can only store one return values, this
option specifies, if the update should return after first tuple or
if all matching tuples should be updated.
- In CegoMain, changed separator token for tsdef from ":;" to "=",
since for mingw configurations, absolute path handling was broken.
This resulted in adapations for mkdb and cgmkdb scripts.
- Fix in CegoObjectManager::getObjectListByTable, if object does
not exist, an exception is thrown now.
This resulted in a fix for CegoQueryHelper::checkIndexForPredicate,
where now the table alias has to be mapped to the correct physical
table name ( via coList as a new method argument )
- Fix in CegoAttrDesc::evalTableReferences to treat alias objects in joins
- Grammar expansion to support inner/left outer/right outer joins
without a condition. This might be useful for specific join order
to use appropriate table indices ( see dbcheck/check088.sql )
- Fix in CegoQueryHelper::checkIndexForPredicate, index evaluation
for alias objects was still not treated
- Fix in CegoDistCursor::getPlan and CegoAction::getJoinPlanString
to cover execution plan for alias objects
Submitted by: Bjorn Lemke <lemke@lemke-it.com>
 |
Sunday, 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>
 |
Sunday, 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>
 |
Sunday, 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>
 |
Sunday, 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>
 |
Sunday, 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>
 |
Thursday, 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;
desc alias a1;
drop if exists alias a1;
create table t1 ( a int, b string(30));
create alias a1 on t1 ( a as ax, b as bx );
insert into a1 ( ax, bx ) values ( 1, 'XXX');
insert into a1 ( ax, bx ) values ( 2, 'YYY');
insert into a1 ( ax, bx ) values ( 3, 'ZZZ');
select ax from a1;
- More work on table alias handling. Now works with more sophisticated
select queries ( e.g. select ax from a1 aa where aa.ax = 1; ) For
this, some fixes had to be done in CegoContentObject, since the the
table alias attribute ( _tabAlias ) was not setup in constructor
and other methods
- Added alias and trigger xml export and import feature ( trigger
xport was still not implemented ) Fix in CegoDbThread::loadObjects
for trigger reload, instead of triggerList.Next(), triggerList.First()
was called, which result in an infinite loop in case of existing
trigger objects
- Added trigger and alias object handling to CegoXPorter binary
export and import
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
 |
Wednesday, 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>
 |
Tuesday, 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
consitency checkpoint is required
- Version passed checkCrashRecovery with the following parameters
NUMRUN=100
DOTRANSACTION=-dotransaction
ARANGE=10000
AINTERVAL=500
ACOUNT=30000
PRIMARY=primary
POOLSIZE=191
All relevant checkpoint situations have been observed over all run
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
 |
Saturday, 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>
 |
Friday, 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>
 |
Saturday, 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>
 |
Thursday, 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>
 |
Sunday, 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>
 |
Friday, 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>
 |
Tuesday, 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>
 |
Monday, 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>
 | Number of commits found: 332 (showing only 100 on this page) |
|