Commit graph

213 commits

Author SHA1 Message Date
Kurt Jaeger
5a28c3da1a databases/cego: 2.35.10 -> 2.36.0
- Completed pointer cleanup in CegoQueryHelper::evalPredicate, added
  check061 to check pointer cleanup
- Fix in CegoTableManager::createBTree, pC object cursor has to be
  set to 0, otherwise in case of abortion a seg fault occurs
- Changed default value for btree cache enabling to false
- Improvement in CegoBufferPool::calcSegment for segid calculation.
  It has been recognized, that with the current calculation
  ( pageid % numsegment ) not all slots can be reached for
  special buffer pool configurations.
  The formula has been changed ( to ( pageid / numpages ) % numsegment )
- Adding missing export / import messages to CegoXPorter
- Changed btree cache enabling syntax. Instead of a dedicated switch
  command ( set btree cache on / off ), the cache option now is
  directly given with the create btree command ( e.g. create btree
  b1 on t1(a) cached )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-09-30 06:17:07 +00:00
Kurt Jaeger
069c031f08 databases/cego: update 2.35.8 -> 2.35.10
- Fix in CegoBufferpool::writeCheckpoint, in case of an locking
  exception ( lockBufferPool ), the pool must be released in any case.
  For this the CegoLockManager::lockBufferPool and
  CegoLockManager::unlockBufferPool have been modified in a way,
  that lockBufferPool saves the current sema index ( _poolRangeLock )
  which is later used for the unlocking call.
- Timeout parameter for bufferpool lock reduced to 60 seconds.
- Optimization in CegoBufferPool:bufferfix for minHashId calculation
  in step 2, there was an unneeded locking operation for the
  minhashId, which was already locked by the main loop
- Small format fix in CegoProcCreateStmt ( missing indent )
- Add header row out put for client raw mode ( attribute names )
- Fix in CegoQueryHelper::evalPredicate, for all predicate types,
  the field array value has to be reset to 0, otherwise seg fault my
  occur since invalid references might be used

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-09-17 18:23:35 +00:00
Kurt Jaeger
ce851b4316 databases/cego: update 2.35.4 -> 2.35.8
- Fix in CegoQueryHelper::aggregateTuple, in case of min-Aggregation,
  wrong results may occur, if null values have to be treated. Since
  null value handling is now treated inside CegoFieldValue, some code
  here was obsolete.
- Fix in CegoPredDesc for INSUB and NOTINSUB constructor + clone
  method. There was a confusing with the isNegated flag which has
  been corrected ( also in using class CegoAction ) The wrong negation
  might lead to wrong query result for views using subselect with in
  or not in subselects
- Bug fix in CegoDistCursor::getTuple, for the LEFTOUTER case and
  moreRight conditions, the right table cursor was called double time
  ( native and with nextRight ). The native call has to be removed
  since this may lead to strange effects actually just observed for
  mingw compiles

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-09-09 20:38:04 +00:00
Kurt Jaeger
166d12ce5c databases/cego: update 2.35.3 -> 2.35.4
- Added tuple information command tupleinfo to indicate
  tuple state information for a given table
  ( COMMITTED, INSERTED, DELETED, OBSOLETE )
- Fix in CegoTransactionManager::commitTransaction and
  CegoTransactionManager::rollbackTransaction, in case of a crash recovery
  the taList does not contain any transaction entries, but the rollback
  segments have to be checked in any case for entries to process. Otherwise,
  the transaction will not be completed

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-09-03 09:44:23 +00:00
Kurt Jaeger
8257b79276 devel/lfcxml: update 1.2.4 -> 1.2.5
databases/cego: update 2.35.2 -> 2.35.3

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

cego:
- Fix in CegoTableManager::finishOpenTransaction, the transaction id for
  the corresponding tableset must be set to zero, otherwise in case of crash
  recovery procedures a transaction id might be active and the open
  transactions are not completed correctly

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-09-02 10:08:30 +00:00
Kurt Jaeger
c0db7227aa databases/cego: update 2.35.1 -> 2.35.2
- Fix for a bad patch
  In CegoSelect::clone also the pCache variable has to be copied
  ( was previously done by calling setTabSetId )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-08-25 19:50:18 +00:00
Kurt Jaeger
d478eaa4e3 databases/cego: update 2.35.0 -> 2.35.1
- Fix in CegoSelect::setProcBlock, pBlock was not setup for _pPred
  This might result in wrong query results within stored procedures
  with select statements which refer to procedure variables
- Changed index recovery handling in a way, that index and btree
  objects are rebuild immediately instead of invalidating them. This
  leads to a much better recovery performance in case of expensive
  queries where index use is needed for fast evaluation

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-08-24 17:20:17 +00:00
Kurt Jaeger
670f13ad56 databases/cego: update 2.34.0 -> 2.35.0
- Fix in CegoDistManager::checkKey ( used for verify tableset admin
  commend ). Check for foreign key has been redesigned
- Fix in CegoBTreeCursor::getFirst, _pAttrCond has to be checked
  for 0, otherwise a core dump may occur ( detected with verify
  tableset admin command )
- In CegoViewObject::toChain() the view object reference string has
  to return complete information including the tableset. Otherwise,
  references to foreign tableset objects with the view will not work
  correctly.
- Fix in CegoDistCursor to support multiple view references in a
  query ( e.g. select a from v1 where exists select * from v1 ... )
  In the past, this might lead to infinite loops, since just the view
  select reference was used. Now the reference is cloned.
  The usage of clones results in several fixes for the CegoSelect::clone
  and underlying clone methods
- The previous problem regarding query cache is a result of the new
  introduced select cloning. The extended query id string should solve
  the problem
- Fix in CegoSelect::getId, the values of the parent join buffer
  have also be added to the query id string, otherwise, nested queries
  which references attributes to parent join buffer can not be
  distinguished
- Introduced simple selects, e.g. select 1, select sysdate, etc for
  select queries without any object access
  This might be useful for example for database connection validation queries

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-08-23 14:32:56 +00:00
Kurt Jaeger
ae07e8c34e devel/lfcbase: update 1.9.7 -> 1.10.0
databases/cego: update 2.33.22 -> 2.34.0

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

cego:
- Small fix in CegoAttrCond::operator = , compare Find result
  with 0 instead of false. A compile error occured for MINGW compiles
- Use of new introduced lfcbase datetime constructor to create
  datetime values with numeric input ( year, month, day, hour, minute
  and second ) for more efficient value handling
- Fix in CegoTypeConverter::getTypeLen for LONG_TYPE values, it
  should be size of(long long) instead of sizeof(long). This impacts
  MINGW compiles, since sizeof(long) ist just 4 bytes
- Changed CegoTypeConverter methods to static
- Introduced new date function newdate with optional numeric input.
  If used with year and month input, this can double the speed for
  date construction ( no string parsing required )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-08-12 12:21:23 +00:00
Kurt Jaeger
89cc751e72 databases/cego: update 2.33.21 -> 2.33.22
- More fixes in CegoTableManager::keyReferenceExists and
  CegoTableManager::createForeignKey, there still were missing some
  adpotions for TableCursor::setup return code and other case handling

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-08-05 12:12:35 +00:00
Kurt Jaeger
1889127004 databases/cego: update 2.33.20 -> 2.33.21
- Added further constraint check in CegoTableManager::dropObjectSynced.
  Primary objects just allowed to be removed, if no foreign key
  reference exists
- More fixes on foreign key contraint handling in
  CegoTableManager::checkKeyIntegrity and CegoTableManager::insertDataTable
  methods
- Fix in CegoTableManager::checkKeyIntegrity. The implementation
  of the mehod has been completly reworked, since not all violation
  cases have been treated.

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-07-29 07:01:49 +00:00
Kurt Jaeger
731c58726d databases/cego: update 2.33.19 -> 2.33.20
Fix in CegoDistCursor to support advanced left and right outer
join queries of the form

SELECT tx.a AS xa, ty.a AS ya FROM t1 tx
LEFT OUTER JOIN t2 ty ON tx.a = ty.a + 1;

For this, the evaluation of the predicate has to be done in a
different way to get complete row set

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-07-22 08:34:58 +00:00
Kurt Jaeger
2dbcf22671 databases/cego: update 2.33.18 -> 2.33.19
- Fix in CegoOrderSpace::insertTuple, for the localTuple variable,
  also a dedicated copy has to be allocated, otherwise it may happen
  that invalid tuple references ( caused be page relocation ) lead
  to invalid order results
- Added performance optimization to CegoTableManager::updateTuple.
  The already evaluated index, key and checklist are also provided
  to checkIntegrity method now ( instead of retrieving the lists again).
  The improves performance for updates with many tuples significantly

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-07-16 13:47:20 +00:00
Kurt Jaeger
2567ba54ea databases/cego: update 2.33.16 -> 2.33.18
- Method cleanup in CegoSelect.cc, also some irrelevant case is
  treated for grouping clauses in combination with distinct operator
- Added tablemanager parameter to CegoProcWhileStmt to catch query
  abort. In case of infinite while loops, this enables the db admin
  to abort procedure execution
- Optimization for CegoFunction::SETCOUNT procedure implementation
  added. Now this is an atomic operation, instead of calling
  getCounterValue.
- For this, also the CegoXMLSpace::setCounterValue method has been
  changed to return the current counter value return the current
  counter value

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-07-14 06:22:06 +00:00
Kurt Jaeger
5bf9592efc databases/cego: update 2.33.14 -> 2.33.16
- Completion for admin help backup section, some commands were still missing
  Improvements for procedure indent formatting. All sugar, nothing functional
- Fix in CegoAction::execute, missing break added after calling execListView
- Fix in CegoQueryHelper::evalPredicate. In case of subselects, the
  parent join buf also has to reset after performing the subselect,
  otherwise invalid pointer references are still active for the next
  caller
- Seg faults have been experienced for delete with double nested
  subselect conditions ( see check055 )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-06-29 05:38:13 +00:00
Sunpoet Po-Chuan Hsieh
cb037d3c98 Update devel/readline to 7.0 patch 3
- Bump PORTREVISION for shlib change

Changes:	https://cnswww.cns.cwru.edu/php/chet/readline/CHANGES
		https://lists.gnu.org/archive/html/bug-bash/2016-09/msg00107.html
		https://lists.gnu.org/archive/html/bug-readline/2017-01/msg00002.html
Differential Revision:	https://reviews.freebsd.org/D11172
PR:		219947
Exp-run by:	antoine
2017-06-27 13:46:53 +00:00
Kurt Jaeger
dc3e3a749b databases/cego: 2.33.12 -> 2.33.14
- Design modification in CegoAction for semantic action ( execXXX methods )
  An analysed statement is now just executed after complete succesful
  parsing of the given input. This avoid protocol effects for queries
  like "select * from t1;;" where the query is executed but the
  second semicolon is detected as an parse error which also is sent
  to the client.
  For this the new method CegoAction::execute has introduced which
  is ( explicitly ) called after successful CegoAction::parse
- Fix for distinct handling in CegoAggreation
  Fix for alias handling regarding view creates. Alias definitions
  are mandatory now for aggregated attribute definitions, e.g.
  create view v1 as select count(*) from t1;
  => returns now
  ERROR: Missing alias reference for view create
  and must be written as
  create view v1 as select count(*) as c from t1;

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-06-03 18:48:09 +00:00
Kurt Jaeger
73e654a6f2 databases/cego: update 2.33.11 -> 2.33.12
- Fix in CegoAttrComp::reset, case VALUE2VALUE still was not treated,
  which lead to wrong index handling for between clauses with native values

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-05-27 07:39:21 +00:00
Kurt Jaeger
679085543a databases/cego: update 2.33.9 -> 2.33.11
- Fix in CegoObjectManager::createBTreeObject to avoid some duplicate btree
  entries
- Added space character in CegoSelect::toChain after distinct keyword
  to avoid certain errors
- Fix in CegoAttrComp::operator== The values should NOT be compared,
  since they are set up by the calling CegoAttrCond::update method
  Otherwise, the error "Cannot set up diff for attribute condition"
  occurs.
  basecheck54 added to test for the this problem
- Fix in CegoQueryHelper::evalAttrCond, comparison modulation was
  missing for one case whihc leads to wrong query results for comparisons
  like 3 < a ( constant left )
- Optimization added for between clause, indexes were just used for
  constant values in between clause ( eg. a between 10 and 20 )
  This has been expanded, that also indexes are used, if attribute
  references are contained ( eg. a between t2.x and t3.y )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-05-25 20:03:54 +00:00
Kurt Jaeger
b6a95622bb databases/cego: update 2.33.8 -> 2.33.9
- in CegoTableManager::getClobData added termination character to
  ensure clob values are terminated with 0 character
- Small fixes for fixed value handling
- Small fixes for quote escape handling in cgclt batch mode
- In CegoAction::selectionList1 added alias check for non unique
  alias definitions
- Stored Procedure formatting improvements regarding indent handling

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-05-07 11:50:49 +00:00
Kurt Jaeger
9bdb0939ef databases/cego: update 2.33.6 -> 2.33.8
- Fix in CegoSelect::buildJoinConditions, the _attrPred array has
  to be set up. Otherwise it may occur, that the predicate is not
  evaluated, if it could not been evaluated by the table curser
  condition.
- Furthermore, a setup method has been introduced for CegoAttrCond
  to evalute joinBuf and parentJoinBuf ( if both references occur in
  a condition this is needed )
- Optimization in CegoCheckpoint::checkpointReached, if interval
  was reduced, we set up the new interval
- Fix in CegoTableManager::removeAllComp, first we have to remove
  from the list, the we can free the memory. On Linux system with
  g++, the previous sequence might lead to memory faults
- Fix in CegoRecoveryManager::recoverTableSet, after regDataFiles,
  als registerObjects method must be called, otherwise recovery could
  fail in case of table view recoveries
- Optimization in CegoDistManager::stopDistTableSet, the new
  introduced method CegoDatabaseManager::removeAllObjects is called,
  the ensure object cache cleaning
- Added prompt command line option to cgadm to set up specific prompt value
- Adding formating improvements to CegoAdminHandler for show logmng
  and show backupmng commands

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-04-22 15:29:38 +00:00
Martin Wilke
0a6f794f91 - Fix shebangs 2017-04-22 12:45:43 +00:00
Kurt Jaeger
866ce00bb8 devel/lfcbase: update 1.9.3 -> 1.9.6
databases/cego: update 2.33.5 -> 2.33.6

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

cego:
- Small improvements for utility scripts cgmkdb, logManager and backupManager

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-04-14 14:30:12 +00:00
Kurt Jaeger
a41d430c77 databases/cego: update 2.33.4 -> 2.33.5
- Fix in CegoSelect and friends for query cleanup. The cleanUp
  method did not cleanup all field value references which might lead
  to invalid memory access in case of repeated view calls ( Variable
  pParentJoinBuf ).
  Corresponding cleanUp method have been introduced or CegoExpr,
  CegoTerm, CegoFactor and friends.
- Check052 has been introduced to verify the previous described behaviour

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-04-07 19:56:49 +00:00
Kurt Jaeger
f21276df5e databases/cego: update 2.33.3 -> 2.33.4
- Fix in CegoTableManager::insertDataTable, the newRBEntry method
  call for the transactions manager also must be catched by the
  exception. Otherwise, the index might be corrupted if any exception
  occur ( e.g. out of temp space )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-04-02 08:01:52 +00:00
Kurt Jaeger
57d469ac5b devel/lfcbase: update 1.9.2 -> 1.9.3
databases/cego: update 2.33.1 -> 2.33.3

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

cego:
- Fix in CegoRecoveryManager::recoverTableSet, before calling
  transactionRecovery, we have to set flag setIgnoreInvalid to true.
  During transaction recovery phase, we must ignore invalid btrees/index
  objects since these objects could be invalidated but Log data
  integrity and consistency is ensured
- Added implizit tableset btree and index correction to recovery procedure
  ( CegoRecoveryManager::recoverTableSet )
- Small syntax for cgadm from "backup TS" to "backup tableset TS"
  ( conform to other tableset commands )
- Fix in CegoTableManager::deleteDataTableEntryAtomic /
  updateDataTableSynced / beginTransaction / commitTransaction /
  rollbackTransaction to avoid log entries for forced transactions
  ( introduction of doLog flag ).
- Fix in CegoTableManager:deleteDataTable to avoid object synchronisation
  during recovery phase ( introduction of isSynced flag ), since
  during recovery phase, still no objects are registered and there is
  no need for synchronization
- Added further admin console messages for recovery procedure.
  This enables the database admin to follow the recovery procedure on
  admin console level

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-04-01 08:18:38 +00:00
Kurt Jaeger
517e5407fb databases/cego: update 2.33.0 -> 2.33.1
- Some cosmetic changes for backup manager handlng
  ( change nameing from archmng to backupmng )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-03-26 09:02:55 +00:00
Kurt Jaeger
20c659a698 devel/lfcbase: update 1.9.1 -> 1.9.2
databases/cego: update 2.32.14 -> 2.33.0

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

cego:
- Added database verify006 to check multidimensional btrees also in
  combination of null value handling.
- Fix in CegoObjectCursor::getNext, double method call for unlockData removed
- Small grammar correction to treat distinct flag for select-star statement
- Fix in CegoBTreeCursor::compValue, null values have not been handled
  correctly. For string values, string termination was not clean, which
  also might lead to wrong cursor results
- Introduced archive manager, which can be triggered, to perform
  an online backup. For now, online backups have to be triggered
  externally.
  The achive manager should make backup / restore handling more convenient
- Update to version 2.33.0 since the backup feature changes the product
  specification.
- Integration of newly introduced lfcbase OutStream class to catch output
  from backup manager. This allows to indicate a more detailed
  output from backup manager on the admin console.

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-03-25 18:06:25 +00:00
Kurt Jaeger
9418b27bc1 devel/lfcbase: update 1.9.0 -> 1.9.1
databases/cego: update 2.32.11 -> 2.32.14

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

cego:
- Correstion for distinct clause. With the current grammar implemention,
  queries with nested selects and using the distinct operator might
  fail. Cego.def grammar and CegoAction implementation has been changed
  in way, that distinct option is just allowed at the beginning ( e.g.
  select distinct count(a) from t1 and NOT select count(distinct a) from t1 )
  This should simplify usage, since by using the distinct clause,
  distinct tuples are retrieved either for plain queries or for
  aggregation
  Confusing sample not allowed anymore : select count(distinct a),
  count(distinct b) from t1 ... now select distinct count(a), count(b)
  from t1 )
- Fix in CegoBTreeValue::valueFromSchema added.
  In case of multidimension btree objects, the insert of new values
  might fail, if string bases attributes occur at the beginning
- Fix in CegoDistManager::registerObjects, registration of btree
  objects was still missing. This might lead to wrong results for
  drop if exists btree statements
- Added check to CegoXMLSpace::addArchLog to verify, that directory
  for new archive location really exists
- Added archive log management to curses based CegoAdmMon administration
  console

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-03-11 19:33:22 +00:00
Kurt Jaeger
655eea77c3 devel/lfcbase: update 1.8.12 -> 1.9.0
databases/cego: update 2.32.8 -> 2.32.11
databases/cegobridge: update 1.1.2 -> 1.1.3, fix build with clang 4.0

devel/lfcbase:
- Added Monitor class for ncurses based GUI utility implementation.
  This class provides GUI layout and event handling to simply ncurses
  based GUI tool implementaton.
- Added class Pager for curses based pager implementation

databases/cego:
- Include stdlib.h added in CegoNet ( still missing forLinux compiles )
- Added CegoFieldValue::getDim method required for arithmetic operations
  on fixed values
- Fix in CegoTableManager::getPoolInfo, readdelay and writedelay was
  not calculated correctly
- Fix in CegoDistManager::stopDistTableSet, removing of btree objects
  from database object dictionary was still missing
- In CegoTableManager::dropTableSet now also counter objects are
  dropped ( stored in the database xml file ).
- Added some sizing optimizations for CegoAdmMon forms
- Fix in CegoRecoveryManager::recoverCurrentTransactionLog, added
  the force option to addCounter method, since counters already could
  be synched to xml ( not completely transaction save )
- Online index build up tested and verified. First tests with heavy
  insert operations ( using cgblow ) during index build went succesful.
- Improvements for CegoAdmMon role permission handling, added remove
  permission option
- Preparation of CegoObjectCursor and CegoTableManager to support
  online index rebuild with write access to the table.
  For this, concurrent insert operations have to be performed with
  append =true. The ObjectCursor locks the last page until the index
  rebuild is finished ( method setLastPageSync )
  In this way, the index can be build up in parallel, while further
  tuples could be appended to the table. ( just supported for btree
  index objects )

PR:		216621
Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
Reported by:	jbeich
2017-03-05 11:08:50 +00:00
Kurt Jaeger
cf3c00eb2e devel/lfcebase: update 1.8.11 -> 1.8.12
databases/cego: update 2.32.7 -> 2.32.8

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

cego:
- Small improvements for CegoAdmMon curses based admin console

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-01-29 09:36:36 +00:00
Kurt Jaeger
c8e1939b7a databases/cego: update 2.32.6 -> 2.32.7
- Fix in CegoFileHandler::releaseFiles.
  _tabSetId and _isReg vars have to be set to zero/false in any case.
  Otherwise, it might happen that old entries are still visible and in case
  of a tableset recreation obsolete file handle information is provided
- Method CegoTransactionManager::hasOpenTransaction added to check for open
  transaction for a spedific table. This method is called now before a table
  can be dropped to ensure there are no open transaction for this table.

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-01-21 15:10:16 +00:00
Dmitry Marakasov
2da01c9df6 - Fix missed shebang
- Add dependency on bash, the port installs bash scripts
- Switch to USES=localbase
- Switch to new test framework

Approved by:	portmgr blanket
2017-01-16 12:54:58 +00:00
Kurt Jaeger
8cd9206484 databases/cego: update 2.32.5 -> 2.32.6
- Small performance improvement in CegoBufferPool::bufferFix
  Instead of copying the buffer head data to a local variable via
  memcpy, a pointer variable is used to access the data directly
  Performance improvement: just a few percent ...

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-01-04 19:37:20 +00:00
Kurt Jaeger
38ee25145f databases/cego: update 2.32.4 -> 2.32.5
- Added another performance patch to CegoBTreeCursor.
  The method compValue has been redesigned in a way, that comparison
  is prepared at cursor creation time and so could be executed in
  a optimized and faster way
  This speeds up queries with joined tables, where the joined table
  is traced many times ( e.g. select count(*) from t1, t2 where
  t1.a = t2.a )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-01-01 15:43:37 +00:00
Kurt Jaeger
81b217e552 databases/cego: update 2.32.3 -> 2.32.4
- Fixes and improvements for table export added
  In CegoXPorter::xmlExportable, the pOutStream pointer was deleted,
  which lead to a core dump ( pointer is already deleted by Element )
  Row counter handling and messages have been improved
- Change back to memove call in CegoBTreeNode:shiftEntries. Copying manually
  and bytewise decreased performance about two times for building
  up btree objects. This has been observed on native POSIX ( FreeBSD 11 )
  but also on MSYS64 compiles
- Improvements for CegoBTreeCursor. With the new introduced methods
  CegoBTreeNode::getMedPage and CegoBTreeNode::rightValue, the search
  for the appropriate subnode can be made with logarithmic efforts
  instead of linear search. To validate this improvement, the following
  query has been setup for a random filled table t1
  select * from t1 ta where exists ( select * from t1 tb where tb.b = ta.b );
  Execution time with the improved btree cursor was two times faster than with
  old implementation.
- More performance improvements made for btree creation
  changed linear search efforts in CegoBTreeNode::getChildPage to logarithmic
  search efforts ( introduced lb /rb variable )
- Change in CegoBTreeManager::allocPage. Since for cache based creation,
  just a pageId must be allocated, the low level method
  CegoFileHandler::allocatePage is used.This avoids an unnessary
  bufferFix call for the new page
- Introduced appendFid variable for CegoFileHandler class. In case of
  many managed datafiles, the last file with avaiable pages is used
  for the allocatePage method.
- Performance comparison to MariaDB indicates now a better scaling
  from 2 million rows and up ( by using cego btree cache )
- Improvement modifications for btree implementation increased build
  up speed for just about 3 percent. It seems, the most time is used
  by calling shiftEntries method, where memory is moved via memmove.
  I observed, that 8k page size ( instead of 16k ) brought up some
  performance improvement for btree creation of about 100% ( for
  type string(60) with random values )
- More performance improvements in CegoBTreeManager and CegoBTreeNode,
  overall impact still has to be analysed
- Fix in CegoTableManager added for alter table modify column,
  columns with existing btree or key objects can not be modified
  anymore
- Further improvement approach in CegoBTreeManager to increase btree
  creation performance. BufferPage handles have been changed from
  native variables to pointer handles. This should reduce page access
  efforts in case of enabled btree cache

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-12-31 18:14:09 +00:00
Kurt Jaeger
5877d4c4c8 databases/cego: update 2.32.2 -> 2.32.3
- Fix in CegoAction::insertStore and CegoAction::insertValueSpecStore;
  for value array inserts via network, the ack for the protocol was
  no satisfied ( e.g. insert into t1 values ( 1, 'XXX'),(2,'YYY'),...)
  which leads to a hanging database client. Since class CegoQuey
  was already prepared for bulk inserts, this was a simple fix,
  just calling execQuery via insertStore parser method just one time.
- Code cleanup in CegoBTReeManager and CegoBTreeNode, use of static
  method CegoDataPointer::getEncodingLength, (define of DPENCODINGLENGTH)
- Fix in CegoFileHandler::CleanDataFile,pageId was not calculated
  correctly ( missing offset )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-12-24 10:03:01 +00:00
Kurt Jaeger
68b530562b databases/cego: update 2.32.1 -> 2.32.2
- Fix in CegoTranactionManager, replaced LONG_TYPE with PAGEID_TYPE,
  since this is the correct type for page entries. This was detected
  on MinGW64 compiles (seg fault occured), since the type size differs
  on this platform.

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-12-22 06:24:48 +00:00
Kurt Jaeger
a063e6b633 databases/cego: update 2.32.0 -> 2.32.1
- Fixes for CegoBTreeManager::deleteBTree ( changed int type to
  PageIdType for page vars )
  and CegoBTreeManager::insertBTree ( propValue was not setup correctly
  for root node propagation in some cases, which might lead to corrupt
  btree structure )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-12-18 16:57:51 +00:00
Kurt Jaeger
85c8757926 devel/lfcbase: update 1.8.10 -> 1.8.11
lfcbase:
- Added range check to Chain::toInteger method to catch overflow exception

cego:
- This version brings a complete redesign of low level page handling.
  Instead of page references identified by fileId and pageid, a
  database unique pageid is used now
  This results in a complete reimplemtation of several low level
  classes like CegoFileHandler, CegoBufferPool, Blob handling, etc.
  Since pages are references by a single ( 64 bit ) id now, I expect
  an increased performance behaviour over all database operations.
  Most code modifications are done, code complies and basic
  functionally works ( create tableset, create table, insert table )
- First performance analysis indicates a speedup of about 10% for
  btree creation, so significant speedup for full table scans.
- All base checks passed, but there is still a page allocation leak
  for table drops
- Functional tests with SysMT successful completed

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-12-16 18:24:51 +00:00
Kurt Jaeger
0c5aea664b databases/cego: update 2.31.6 -> 2.31.7
- Fix in CegoFieldValue for fixed value handling.
  In case of fixed value aggregations, the specified fixed dimension
  should be kept. This has been done be analysing the value dimension
  in the CegoFieldValue:add/sub/mu/div methods.
  In CegoQueryHelper::prepareFieldValue, fixed values are checked now
  for right dimension

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-12-04 10:54:06 +00:00
Mathieu Arnold
8b4093cba5 Do not use post-stage. Use post-install instead.
The only reason to use post-stage is because the port needs to do
"things" at a later time, like some plist manipulation.
While there, fold post-install in do-install targets when they are
defined.

PR:		214780
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
2016-12-02 11:58:21 +00:00
Kurt Jaeger
09b9608043 databases/cego: 2.31.5 -> 2.31.6
- Fix in CegoSelect::getQueyId added, for the ordering clause asc
  and desc ordering attributes were missing. This might lead to wrong
  ordering results if query caching is used

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-11-26 10:24:06 +00:00
Kurt Jaeger
c0b1ac34df databases/cego: update 2.31.4 -> 2.31.5
- Changed CegoQueryHelper methods to static
- Fix for CegoBTreeManager and friends regarding small string values
  ( string(1) )
- Please note, that this fix invalidates btree format.
  Btrees have to be recreated after this fix, databases need to
  be exported and imported.

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-11-21 06:41:32 +00:00
Kurt Jaeger
218d2ed05f databases/cego: update 2.31.3 -> 2.31.4
- Fix some leaks in CegoXPorter regarding file handles and memory
  allocation ( improved exception handling )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-11-19 08:26:19 +00:00
Kurt Jaeger
270c3c0d4c databases/cego: update 2.31.2 -> 2.31.3
- Fixed a file handle leak for datafiles and logfiles ( CegoFileHandler,
  CegoTableManager and CegoLogManager ) After tableset creation (
  or start and stop ), file handles have not cleaned up properly.
  This lead to file remove problems in case of a tableset drop.
  This effect was detected by building and testing the MinGW64 port

Submitted by:	lemke@lemke-it.com
2016-11-16 08:44:12 +00:00
Kurt Jaeger
383879c7d3 databases/cego: update 2.31.1 -> 2.31.2
- Fix in CegoClient for escape character handling in batch mode
- Fix in CegoClient for dumpfile generation. Default values handling corrected
- Join optimizer fix in CegoSelect, CegoAttrCond and CegoBtreeCursor.
  join attributes are checked now in a more sophisticed way, which
  leads to improved execution performace for advanced joins

PR:		Bjoern Lemke <lemke@lemke-it.com>
2016-11-13 14:35:36 +00:00
Kurt Jaeger
8e291c3b65 databases/cego: update 2.31.0 -> 2.31.1
- Fix in CegoBTreeManager::insertBTree, in case of a duplicate
  exception, a bufferpool leak occured ( buffer is not unfixed ).
2016-11-10 20:19:50 +00:00
Kurt Jaeger
3ccf426272 databases/cego: 2.30.26 -> 2.31.0
- Added database flag DUPLICATENULL to allow duplicate null values
  for unique btree objects

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-09-10 12:46:48 +00:00
Kurt Jaeger
88a9fa936f databases/cego: 2.30.24 -> 2.30.26
- Fix in CegoFunction::evalFieldValue, for functions date2str,
  date2int, int2date, type casting to appropriate type has been added.
  Without the cast, the functions might return wrong results
- Adaptions for CegoBlowTab to use CegoNet API
- Completion for blob methods in CegoNet
- Improved flow control in CegoClient ( based on ncurses )
- Optimization in CegoClient, just high level CegoNet API methods
  are used now for client implementation. Missing methods have been
  added to CegoNet API

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-08-21 19:03:45 +00:00