388 Commits

Author SHA1 Message Date
Björn Lemke
bbb038535a databases/cego,devel/lfcbase: update 2.53.2 -> 2.53.3, 1.23.0 -> 1.23.1
lfcbase:
- Completed integer cleanup for Pager class,
  replacement of some asInteger with asUnsigned method calls
  ( BigInteger, NetHandler, etc. )

cego:
- Added several patches for trigger objects
  ( check self refering tables in trigger block to avoid recursion,
  object invalidation handling fixed )
- In CegoRecoveryManager::recoverCurrentTransactionLog,
  completed recovery procedure for trigger and alias objects.
  For drop operations, added CegoDatabaseManager::removeObject calls,
  to remove corresponding objects from object cache
2025-12-17 20:49:31 +01:00
Björn Lemke
58306c09c2 databases/cego: update 2.52.44 -> 2.53.2
- integer cleanup, all int values will be replaced by unsigned
  or unsigned long, where is no need of nagative values
- for those ports:
  devel/lfcbase
  devel/lfcxml
  databases/cego
  databases/cegobridge
  databases/p5-DBD-cego

cego:
- Fix added in CegoDbHander::acceptSession and CegoSerial::readChain
  to treat empty or invalid session requests
- fix in CegoDbThreadPool for bad message handling

p5-DBD-cego:
- Fix added for execute return value and $sth->rows value to
  return affected rows for update statements
2025-12-11 16:47:33 +01:00
Björn Lemke
c3eb8b809d devel/lfcbase: 1.22.3 -> 1.22.4, databases/cego: 2.52.43 -> 2.52.44
- Warning elimination for G++ based compiles
2025-11-24 18:09:07 +01:00
Björn Lemke
26c78421c1 devel/lfcbase: 1.22.2 -> 1.22.3, databases/cego: 2.52.42 -> 2.52.43
lfcbase:
- Warning elimination in several code modules.
  -Wall should print no warnings anymore (with clang)

cego:
- Added patch for CegoJoinObject for correct and complete decoding.
  This is needed for database recovery procedure if nested join select
  occurs in update statement, e.g.
  update t1 set b1 = ( select max(b2) from t2 inner join t3 on t2.a2 = t3.a3 );
- Warning elimination for several code modules.
  In CegoContentObject encoding and decoding method,
  the obsolete key flag in the schema information was removed.
  This leads to a incompatibel datastructure and requires tableset
  export/import for an uplift ot this version
- To toChain method of CegoTableObject, CegoJoinObject and
  CegoAliasObject has been improved to treat undefined tabSetId
  argument ( defTabSetId = 0 ).
2025-11-23 18:57:59 +01:00
Björn Lemke
dd19ed2a57 devel/lfcbase: 1.22.1 -> 1.22.2, databases/cego: 2.52.40 -> 2.52.42
lfcbase:
- Added patch in File::hasData to check return code of pool library call
- Added fix in basecheck ReplaceTest to return valid results

cego:
- For CegoClient and CegoAdmin changed argument evaluation to handle
  pipe input data in a better way.
  Pipe mode is just used, if no batch or command mode ist setup and
  if data is available at stdin.
- This should also work for FreeBSD, when cgclt or cgadm is used
  via cronjob. It has been observed, that if a program is called by
  cron, poll returns data available at stdin also if there is no data
  available.
- In CegoAdminThread, for tableset and table import procedure added
  switch to next backup branch.
  This is required, since during import, logging is disabled.
  So after import, a new backup is needed.
2025-11-23 12:01:07 +01:00
Xavier Beaudouin
ee5c766cba */*: Introduction USES=sudo
A new uses 'sudo' has been added to transperently depends of the
proper flavor of sudo 'default' or 'sssd' depending on the default
version set by the user.

If you prefere to use 'sssd' flavor of sudo, add the following
to your make.conf:

        DEFAULT_VERSIONS+=sudo=sssd

All sudo consummer ports has benn updated to USES=sudo

Reviewed by:    0mp
Approved by:    mat
Sponsored by:   Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D52160
2025-11-11 04:16:23 +01:00
Björn Lemke
45067d7531 databases/cego: update 2.52.39 -> 2.52.40
NOTE: Since this patch changed content object encoding,
  the upgrade requires a tableset export/import !

- Fix added for CegoLogReader. __dateTimeFormat has to be setup
  to print date values in log data
- In CegoContentObject, encoding and decoding was not done for tableAlias.
  This might lead query errors during crash or backup recovery for insert
  or update statements with nested selects.
  Table Alias has been added to encoding.
2025-11-08 11:01:57 +01:00
Björn Lemke
6df43aca86 databases/cego: update 2.52.36 -> 2.52.39
- Fix added in CegoAggration decoding constructor.
  _pExpr must be set to 0, otherwise this might result in seg fault
  during tableset recovery.
- Added stdin mode for cego admin console cgadm, so instead
  of using option --batchfile, admin commands can be feed by pipe
- Cleanup and completion work done for CegoLogReader ( cglog ).
  For this also the abstract method CegoDecodable::getFormatted
  has been changed to getInfo, which provides a more compact output format.
  cglog is used to print ( binary ) redo logfiles in a human readable form.
2025-11-06 20:59:28 +01:00
Björn Lemke
ebcdc6a846 databases/cego: update 2.52.34 -> 2.52.36
- For CegoLogReader added stdin feature, so log file can be piped
  via stdin to cglog
- Extended backup list to indicate most recent redo log timestamp.
  For this, the backupManager utility had to be adapted to retrieve
  last redo log timestamp from arch and tape directory
- Added CegoXMLSpace::adjustPageOffset method to adjust page offset
  attribute after tableset recovery. This is needed, if a recovery
  is made from scratch with a new initialized database xml file
- Changed method CegoXMLSpace::nextTSID to generic.
  Instead of calculating the next tableset id on XML_MAXTSID_ATTR,
  the id is calculated based on all defined tablesets.
  In case of a from scratch recovery ( with a new initialized db xml file ),
  this ensures id consistency
2025-11-02 19:36:57 +01:00
Björn Lemke
04c39b2761 databases/cego: update 2.52.32 -> 2.52.34
- improved utility scripts for online backup to tools directory
  ( logManager, backupManager, backupExecuter )
- more stabilzation for online backup recovery from scratch,
  e.g. checking for existing tableset set entry in db xml during recovery
  and allow non existing entry.
  Perhaps it might be useful to check pagesize of backup datafiles
  and defined pagesize in db xml ...
- added tableset define parameter branchid.
  This parameter can be used to set up an appropriate backup branchid
  for from scratch recovery procedures
- patch added for scratch recovery.
  If a tableset is defined for backup recovery, the tableset id
  must be adjusted to the corresponding id in the datafile.
  For this, new methods CegoTableManager::adjustTableSetId and
  CegoFileHandler::readTableSetId have been introduced and added
  to CegoRecoveryManager::recoverTableSet
- In CegoRecoveryManager::recoverTableSet: shifted ticket recovery
  before file registration.
  So all needed tableset id values are set up correctly and there's
  no more need to adjust any ids.
  Just root path and branch id must contain appropriate values
  for newly defined tableset to be recovered
2025-10-30 15:04:09 +01:00
Björn Lemke
7b55950b3b databases/cego: update 2.52.31 -> 2.52.32
- Fix added in CeegoXMLSpace::getTableSetBackupBranch,
  removed a double V() operation which caused XML locking issue
- Changed BRANCHID attribute to NEXTBRANCHID in XML root tag,
  to clarify the meaning.
2025-10-20 16:04:58 +02:00
Björn Lemke
b7627f0de3 databases/cego: update 2.52.30 -> 2.52.31
- Changed Backup Branch Id from timestamp value to
  database wide unique numeric id.
  For this CegoXMLSpace::setTableSetBackupBranch method
  has changed to nextTableSetBackupBranch
2025-10-19 19:43:51 +02:00
Björn Lemke
bdbfdd6ecd databases/cego: update 2.52.29 -> 2.52.30
- Block variables in CegoDistCursor still have not been handled
- For this, the constructor has been expanded to take a block variable
  as an argument. The block variable then is propagated to the
  corresponding eval methods ( of CegoPredicate objects )
- check124 has been added to illustrate a case, where this patch is needed.
2025-10-04 14:48:00 +02:00
Björn Lemke
718f232e36 databases/cego: update 2.52.57 -> 2.52.59
- Improved input handling in CegoClient.
  For interactive mode, trailing LF, CR and multiple semicolons are cut now.
- Added command line option lockexpire with integer parameter seconds
  exceeded.
  If set, this option will check for the configured daemon lockfile
  and if the timestamp of the lockfile is older than now - seconds
  exceeded, the lock file is removed and the database is started.
  Database crash recovery seems to be stable, so this option is made available.
- In CegoDbThread::serveRequest, added further tableset states (
  BACKUP, CHECKPOINT ) where sessions are accepted
2025-08-24 10:04:21 +02:00
Björn Lemke
c2ff2acbb5 databases/cego: update 2.52.26 -> 2.52.27
- CegoSelect::nextTuple code isolation for caching
- CegoSelect::reset fixes
2025-08-11 09:26:10 +02:00
Björn Lemke
32684a5270 databases/cego: update 2.52.25 -> 2.52.26
- fix performance for CegoPredicate
- CLI: threadinfo db, lastAction was added to the threadlist to
  indicate the query currently processing
- format improvements for CegoAction::getPlanString to indent subqueries
2025-08-08 07:43:02 +02:00
Björn Lemke
bb0df92e30 databases/cego: update 2.52.23 -> 2.52.25
- more fixes for CegoAttrCond
2025-08-01 20:38:36 +02:00
Björn Lemke
f93f1c49dc databases/cego: update 2.52.22 -> 2.52.33
- further join optimization for in-exprlist-Conditions
- Execution plans for several test cases look good and test suite
  runs without any errors.
2025-07-29 07:10:41 +02:00
Björn Lemke
705d11d86a databases/cego: update 2.52.21 -> 2.52.22
- fixed memory leak
- master predicate mapping: added case cond case
- More work on check123.sql test
2025-07-24 20:06:43 +02:00
Björn Lemke
87ac380770 databases/cego: update 2.52.20 -> 2.52.21
- handle join master predicate in the most optimal way.
  To show several condition cases, check123.sql has been added to
  demonstrate the join optimization for different join cases
- fixed some cases for master predicate handling
  example:
  plan select cpid from companyview cv where lower(cv.cpname) like '%%'
  or debnr = 3;
  shows the execution plan for the query.
2025-07-23 09:56:49 +02:00
Björn Lemke
45e80ed49a databases/cego: 2.52.19 -> 2.52.20
- details for this update see
  https://cgit.freebsd.org/ports/commit/?id=3427c19c14646a53485c02a56d925ddca59ac04d
2025-07-21 11:01:31 +02:00
Björn Lemke
3427c19c14 devel/lfcbase,databases/cego: update 1.21.8 -> 1.22.1, 2.52.19 -> 2.52.20
lfcbase:
- Fixed BigDecimal class for internal constructor to
  normalize zero values to "0" and in scaleTo method to treat
  zero values correctly
- Added class Replacer to support string replacement based
  on regular expressions ( like unix sed )
- Fixed BigDecimal, scale handling still not correct for some cases
- Replacer: The match token has been changed to $ char to treat
  database integration

cego:
- Performance optimization added in CegoSelect and CegoDistCursor
  for or-condition handling:
  If an or-condition is recognized, the predicate is propagateed
  to the corresponding join level cursor and the evaluation is handled
  by the cursor.
  This can avoid large table cursor result sets for the embedding
  join and might improve overall performance of the query.
- For the new introduced query optimization, several code extensions
  have been added. In CegoPredicate, new methods map, getReduced,
  mapExpr and reduceExpr have been added to convert the "master"
  predicate to an appropriate form, which can be handled by CegoDistCursor.
  Also for for CegoDistCursor, the distSetup methods have been expanded
  to propagate the master predicate
- Added fix in CegoAction for the following query:
  select invid from invoice where status = ( select 'OPEN' );
  In CegoAction::noFromOption, for _coListStack has to be pushed empty coList
- Added verify010 db check with a small invoice er model. This is
  used for advanced query verification with multilevel nested views
  and other dynamic stuff which is also relevant to proof valid results
  from query cache
2025-07-20 20:01:21 +02:00
Björn Lemke
0397ae9add databases/cego,devel/lfcbase: update 2.52.17 -> 2.52.18, 1.21.7 -> 1.21.8
lfcbase:
- BigDecimal::scaleTo: added RoundMode parameter which can either be
  UP ( round up )
  DOWN ( round down )
  HALFUP ( round up if neigbours equidistant or higher ) or
  HALFDOWN ( rond down if neighbors are equidistant or lower )

cego:
- Added support for lfcbase-1.21.8 ( BigDecimal::RoundMode ),
  Round mode ist setup in dbxml via database ROUNDMODE attribute
  ( either UP, DOWN, HALFUP, HALFDOWN )
2025-07-10 16:43:01 +02:00
Björn Lemke
67c640dea2 databases/cego: update 2.52.14 -> 2.52.17
- Added performance patch to CegoSelect::buildJoinConditions. pPred
  is set to checked if analyzed as complete, also if the predicate
  is external ( setup via setViewCond ) In the meantime, external
  conditions are fully handeled via CegoDistCursor
- In CegoFieldValue::toChain, for case DATETIME resulting string
  was corrected. In the meantime, we avoid date value construction
  via date/scandate function, either the required value is calculated
  via cast. So just the date string value is provided in the defined
  datetime format.
- Added datetime cast operator to convert from string value to
  datetime. If used, this avoids expensive real time cast operations
  for queries and should accelerate execution time
2025-07-09 19:05:10 +02:00
Björn Lemke
ddeca61a7b databases/cego: update 2.52.10 -> 2.52.12
- Fix added in CegoQueyHelper::evalAttrCond, COMPLETE value must
  be returned in flArray loop and if not found PARTIAL must be returned
  ( return was missing )
- Patch in CegoTerm::getSelectQueryList to retrieve subselects
  also for case conditions and nested conditions. So this affects
  also class CegoFactor, CegoCaseCond and CegoCondition which have
  to provide the getSelectQueryList method. This extension is required
  to retrieve appropriate table sets for query cache decicisions
2025-07-04 06:18:14 +02:00
Björn Lemke
bd22535c51 databases/cego: update 2.52.9 -> 2.52.10
- Added tableset online check in CegoDbThread::serveRequest.
  This avoids query execution of any connected client during recovery phase
- Improved log trace in CegoDistManager::startTableSet to log complete
  stack trace in case of tableset startup failure
2025-06-22 11:17:36 +02:00
Björn Lemke
85b9beb4f5 databases/cego: update 2.52.8 -> 2.52.9
- In CegoAdminHandler::getUserInfo, increased size
  of NUMREQ and NUMQUERY from 10 to 12, for long running systems
  with > 10^9 requests
- Added pack mode in CegoClient to improve the display of
  large string column values. Only the longest length of all values
  in <n> rows is displayed, not the full length of the field itself.
  Example: If the table definition for a string is 300 chars,
  and the values are only 4-10 chars wide, the table is only
  displayed with 10 chars.
- Fix added in CegoDistCursor::joinSetup:
  for outerCond calculation, null value comparisons are also used,
  since this leads to correct join results and can be optimized by
  using btrees.
  ( set attrCond.getFilterCond(outerSchema, false) to (outerSchema, true)
  for left outer and right outer join)
- In CegoSelect::getPlan, added parentJoinBuf setup for nested queries in expression list to evaluate join plan correctly
  ( parentJoinBuf is required for analysis in CegoQueryHelper::checkAttrCond)
- Add duplicate check for table aliases in CegoSelect::evalReferences
2025-06-15 17:31:43 +02:00
Björn Lemke
c99d95a18c databases/cego: update 2.52.7 -> 2.52.8
- Fix in CegoSelect constructors to initialize _joinLevel to 0.
  A problem may arise, if the reset method is called without
  a previous select analyse which happens in nested subselects
2025-05-31 09:18:40 +02:00
Björn Lemke
dd5f135cd8 databases/cego: update 2.52.6 -> 2.52.7
- CegoPredicate::getExprOnlyValue, return value changes
  from reference to value
2025-05-30 18:24:32 +02:00
Björn Lemke
11b0a92a3c databases/cego,devel/lfcbase: update 2.52.4 -> 2.52.6, 1.21.6 -> 1.21.7
lfcbase:
- Added improvements to Pager class, e.g. case insensitive search and
  message box at end of search

cego:
- Small adaptions made for Debian
  ( in cgwtest.c, cast added to malloc for CGClob and CGBlob allocation ).
  There are still required some changes for the testsuite shell scripts
  to satisfy Debian flavour ( expimpcheck )
- Patch added in CegoCondition and CegoPredicate for arithmetic
  expression evaluation. The recent grammar modification limits
  enclosed arithmetic expression to logic expressions. This leads
  confusing results e.g. for
  select ( a + b ) / 2 from t1 since ( a + b )
  is evaluated as a condition with a logical value as the result
  ( true or false )
  ( caused by grammar production : Factor -> LB Condition RB )
  Arithmetic expressions are just parsed with grammar production
  Predicate -> Expr ( expression only ), so for this case now a
  special handling has been added
  ( with new introduced method CegoPredicate::getExprOnlyValue )
2025-05-29 13:26:17 +02:00
Björn Lemke
6af6045d84 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
2025-05-11 10:19:13 +02:00
Björn Lemke
3bb25f4409 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 )
2025-05-02 21:33:52 +02:00
Björn Lemke
72de34f9dc 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
2025-04-26 20:49:33 +02:00
Björn Lemke
5be43f640a 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
2025-04-24 15:16:56 +02:00
Björn Lemke
e577c12f18 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
2025-04-21 14:02:32 +02:00
Björn Lemke
8e73e677d3 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
2025-04-13 10:25:07 +02:00
Björn Lemke
af3d489aef 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 )
2025-04-10 20:24:34 +02:00
Björn Lemke
6e28ea9a2f 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
2025-04-06 08:59:35 +02:00
Björn Lemke
0fdd0ce675 */*: 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
2025-04-05 18:07:10 +02:00
Björn Lemke
95f0e2c6b3 databases/cego: update 2.50.5 -> 2.50.6
- fix check constraint problem in 2.50.5
2025-03-30 18:07:36 +02:00
Björn Lemke
6458a7e7cc databases/cego: update 2.50.4 -> 2.50.5
- more special characters handled in CegoQueryHelper::sql2Regex ( $ and % ),
  see check113.sql for samples
2025-03-10 12:19:45 +01:00
Björn Lemke
d78a9e64e2 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
2025-03-07 19:25:47 +01:00
Björn Lemke
7ad7778035 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
2025-03-05 09:09:29 +01:00
Björn Lemke
a50cd77d44 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
2025-01-30 15:06:30 +01:00
Björn Lemke
69f948d717 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
2025-01-12 09:17:54 +01:00
Björn Lemke
987ed7e526 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
2025-01-02 11:50:37 +01:00
Björn Lemke
9789c73f37 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.
2024-12-11 20:14:35 +01:00
Björn Lemke
afd8891d85 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
2024-11-17 20:44:22 +01:00
Björn Lemke
3e3c5c10d1 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
2024-10-25 16:29:18 +02:00
Björn Lemke
4c0cee86b5 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
2024-10-20 16:34:11 +02:00