Commit graph

32 commits

Author SHA1 Message Date
Björn Lemke
b49179e8ca 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
2024-05-20 09:15:11 +02:00
Björn Lemke
94ccdb0b37 databases/cegobridge: update 1.6.4 -> 1.6.5
- Fix for renamed scandate function added

Author:    Björn Lemke <lemke@lemke-it.com>
2023-12-13 18:55:33 +01:00
Björn Lemke
49c4713f9c databases/cegobridge: 1.6.3 -> 1.6.4
Fixes for new dateformat function ( cego-2.48.13 and up )
and more sophisticated database procedure use ( select in procedure )
2023-01-26 19:58:34 +01:00
Björn Lemke
c4bd711217 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>
2023-01-03 13:31:35 +01:00
Stefan Eßer
fb16dfecae Remove WWW entries moved into port Makefiles
Commit b7f05445c0 has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.

This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.

Approved by:		portmgr (tcberner)
2022-09-07 23:58:51 +02:00
Stefan Eßer
b7f05445c0 Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
2022-09-07 23:10:59 +02:00
Björn Lemke
8510bc99b7 databases/cegobridge: 1.6.1 -> 1.6.2
- better MySQL grammar support, escape character handling for
  several special characters ( \\, \n,\t etc )
2022-01-03 10:12:01 +01:00
Bjoern Lemke
6794ce73f1 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 ...
2021-05-24 09:24:30 +02:00
Mathieu Arnold
cf118ccf87
One more small cleanup, forgotten yesterday.
Reported by:	lwhsu
2021-04-07 10:09:01 +02:00
Mathieu Arnold
305f148f48
Remove # $FreeBSD$ from Makefiles. 2021-04-06 16:31:07 +02:00
Kurt Jaeger
609b3ea635 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:	Björn Lemke <lemke@lemke-it.com>
2020-11-28 19:28:21 +00:00
Kurt Jaeger
280f553227 databases/cegobridge: upgrade 1.5.3 -> 1.5.4
- Fixes in MySQLFormatter to treat several datatypes and default values

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2019-12-01 20:17:42 +00:00
Kurt Jaeger
f6bb8f7d3f databases/cegobridge: upgrade 1.5.2 -> 1.5.3
- MySQL SET lines are no longer parsed, the scanner ignores these lines now

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2019-09-21 05:58:41 +00:00
Kurt Jaeger
218010c875 databases/cegobridge: upgrade 1.5.1 -> 1.5.2
- Fix in MySQLAction::storeAttrColumn, _defaultOptString.length() and
  _nullOptString.length() must be equal or greater 1 ( not 0 )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2019-07-06 10:43:13 +00:00
Kurt Jaeger
c25c532b6d databases/cegobridge: upgrade 1.5.0 -> 1.5.1
- Added MySQL type support for type date and type bigint
- Activated append mode in CegoBridge::main, which speeds up import
  performance significantly
- In MySQLAction::storeKey, changed btreename to _ since MySQL
  allows non unique key names
- Added stored procedure grammar defintions to MySQLParser.def.
  Semantic actions still not implemented

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2019-07-04 19:14:37 +00:00
Kurt Jaeger
65db7a8725 devel/lfcbase: update 1.11.9 -> 1.13.0
devel/lfcxml: update 1.2.6 -> 1.2.10
databases/cego: update 2.39.16 -> 2.44.1
databases/cegobridge: update 1.4.0 -> 1.5.0
databases/p5-DBD-cego: update 14.0 -> 1.5.0

- Warning: storage format has changed
  Export to xml format before upgrade and re-import after the upgrade
  See UPDATING
- recompile all applications linked to libcego
- Lots of changes, among them:
  o improved crash recovery
  o fixes to SQL expected behaviour
  o better CDATA handling
  o fixes primary key handling design issue
  o changes to serialisation for export/import, XML export/import is still
    possible

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
Changelog:	http://www.lemke-it.com/litexec?request=pubnews&user=&lang=en&numlog=1000
2019-04-21 13:31:25 +00:00
Kurt Jaeger
a19dcac247 databases/cego: update 2.39.1 -> 2.39.2
databases/cegobridge: update 1.3.0 -> 1.4.0

cego:
- Fix in CegoTableManager::updateTuple, while setting up expression
  list, field list array must be setup BEFORE block ist set, since
  field list is needed by block setup ( in case of subqueries for
  prepare )

cegobridge:
- Adaptions for cego-2.39

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2018-03-01 12:29:31 +00:00
Kurt Jaeger
a90cb2865a databases/cego: update 2.37.3 -> 2.38.0
databases/cegobridge: update 1.2.1 -> 1.3.0

cego:
- Fix in CegoSelect::clone, pUnionSelect was not cloned, which might
  lead to seg faults
- Introduced predicate clause for select .. in ( expr, expr, ... ),
  e.g. select * from t1 where a in ( 1, 2, 3 ); This was still not
  implemented but is part of standard SQL.

cegobridge:
- Adaptions made for modified cego-2.38.0 API with extended
  CegoDatabaseFormatter::formatPred method ( exprList was added for
  new introduced select in ( expr list ) predicate )

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-11-18 08:34:07 +00:00
Kurt Jaeger
ab253c5ab8 devel/lfcbase: update 1.11.0 -> 1.11.1
devel/lfcxml: update 1.2.5 -> 1.2.6
databases/cego: update 2.37.0 -> 2.37.1
databases/cegobridge: update 1.2.0 -> 1.2.1

- New generated configure script with libtool-2.4.6

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-11-10 19:09:33 +00:00
Kurt Jaeger
59c7249a69 devel/lfcbase: update 1.10.3 -> 1.11.0
databases/cego: update 2.36.4 -> 2.37.0
databases/p5-DBD-cego: update 1.3.0 -> 1.4.0
databases/cegobridge: update 1.1.6 -> 1.2.0

lfcbase:
- Layout improvements in Pager class
- Changed constructor for Net and NetHandler class to setup maxSendLen.
  Since this changes the API, minor release level has been increased

cego:
- Improvements for cgblow simulation mode added
- Improvements for cgclt, added pipe mode to read input from stdin
  Now comments are allowed also after delimiter token, e.g.
  create table t1(a int); -- a sample table
- Support for lfcbase-1.11.x with new Net API.
  The parameter maxSendLen ist still a constant in CegoDefs.h
  Improvements added for CegoXMLSpace::setPerm, for existing permissions,
  just tableset, filter or right can be set up now,
  e.g set permission p1 with right=WRITE for role1 just sets the right
  value for permission p1 to value WRITE, all other values are unchanged
- Added show parameter admin command to show all tableset independent
  database parameters

p5-DBD-cego:
- support changed API with lfcbase-1.11.0

cegobridge:
- support changed API with lfcbase-1.11.0

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-11-08 10:23:00 +00:00
Kurt Jaeger
9ddae3c3f6 devel/lfcbase: update 1.10.1 -> 1.10.2
databases/cego: update 2.36.3 -> 2.36.4
databases/cegobridge: update 1.1.5 -> 1.1.6

cego:
- Fix in CegoSelect::nextTuple, before adding an entry to the query
  cache, it has to be checked, if any tables from foreign tableset
  are referenced in the query. If so, no cache entry is made, since
  table changes for foreign tables are not detected.
- Improved error messages for invalid database objects
- Decreased shutdown delay time by reducing net delays for all
  thread pools and optimized mediator thread wait procedure
- Completely removed the nologging option for import actions.
  Logging is disabled in any case now.
- Optimization added for log handling. During ( xml ) import,
  logging is completely deactivated, after import is completed,
  log is started again and a checkpoint is written.
  Since import can be repeated in case of a system during import,
  nothing gets lost. Deactivating logging increases import speed and
  avoids side effects

cegobridge:
- Speed up imports by changing the way the parser reads the input

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-11-01 17:42:34 +00:00
Kurt Jaeger
27784b1d85 databases/cegobridge: update 1.1.4 -> 1.1.5
- Add some compat hooks to parse mysql 5.0 exports

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-10-30 18:06:27 +00:00
Kurt Jaeger
0e1c8df944 databases/cegobridge: update 1.1.3 -> 1.1.4
- fixes build problem due to invalid pointer arithmetic

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2017-07-22 08:32:31 +00:00
Kurt Jaeger
6c73e6edd2 databases/cegobridge: fix backChar() for Oracle/Postgres, too 2017-05-07 11:17:41 +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
Mathieu Arnold
4e1b79a0a6 Remove ${PORTSDIR}/ from dependencies, categories d, e, f, and g.
With hat:	portmgr
Sponsored by:	Absolight
2016-04-01 14:00:51 +00:00
Kurt Jaeger
8d767d9eba devel/lfcbase: 1.7.0 -> 1.7.2
databases/cego: 2.28.3 -> 2.29.1
databases/cegobridge: 1.1.1 -> 1.1.2

Please note: Updating cego databases needs an export/import
             cycle for 2.28 -> 2.29

lfcbase:
- Fix in Datetime.cc, added include config.h, otherwiese the local
  implementation of strptime ist used. This should just be done, if
  the system API does not provide this call ( e.g. MINGW ) .
- Memory leak fixed in File::readLine

cego:
- Started with clob datatype implementation
- Fix in CegoSelect constructor, _cacheEnabled var was not initialized
  in the decoding constructor, which might lead to core dumps in case
  of recovery of complex with enabled querycache Fix in CegoAdminThread
  constructor, disableAuth method for TableManger called, otherwise
  tableset recovery might fail with auth error
- Required network protocol expansions done for clob handling
  (putclob, getclob, delclob)
- More work on clob handling. A fix was done for update operations
  on clob values in CegoTableManager::updateTuple method. Before
  updating the tuple, all clob references must be cloned, otherwise
  in case of untouched clobs, references are invalid. This approach
  is brute force, better would be, to stay on the untouched clob
  references. But in terms of transaction and recovery handling,
  this is not trivial
- Very long strings are handled now in CegoAction and CegoClient
  to also parse large clob values
- Modification in cgclt for raw mode, Now just plain data is listed,
  with the command line option --raw=X, a separator token can be setup
  as a column separator

cegobridge:
- fix build problem

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2016-02-06 15:59:38 +00:00
Kurt Jaeger
ad9999f483 databases/cegobridge: 1.1.0 -> 1.1.1, fixes build 2016-01-12 08:53:00 +00:00
Kurt Jaeger
9b796fdfb0 devel/lfcbase: 1.6.7 -> 1.7.0
devel/lfcxml: 1.1.8 -> 1.2.2
databases/cego: 2.27.2 -> 2.28.3
databases/p5-DBD-cego: bump portrevision
databases/cegobridge: bump portrevision

IMPORTANT: Upgrades of cego 2.27.x to 2.28.x databases has to be done by
export and import.

lfcbase:
- Adaptions made for build with msys2 / mingw64. Many windows
  specific stuff could be eliminated, since mingw64 provides better
  POSIX support ( e.g. pthreads, timer functions .. )

lfcxml:
- Fix in configure.ac to find lfcbase and for FreeBSD

cego:
- Fix in CegoSelect::CegoSelect, the pCacheList variable was not
  initialized to 0 for all constructors. In case of system table
  selects, the variable might be undefined which might lead to
  segmetation faults.
- Changed synchronization level for btree creation. So the base
  table can also be accessed while btree is created ( During creation
  btree status is invalid )
  This also allows to perform on online btree reorganization, since
  a new btree can be build up in parallel
- Fix in CegoSystemObject::createSystemSpace, id values for bustat
  table must start with id 1 instead of id 0, otherwise, bustat
  information retrievel fails or may result in a core dump
  ( select * from $bustat )
- Added performance fix for CegoQueryHelper::decodeFVL, since the
  tuple context information is already from the method called, the
  tid, tastep and ts parameters have been remove from this method.
  This saves some decoding time
- Please note, that version 2.28.x makes datafiles from older versions
  incompatible.
  An upgrade requires a xml tableset export of existing data and a
  restore after succesful upgrade
- 2.28.x also contains many code cleanup fixes and some fixes for
  btree handling.
- Fix in CegoTableManager::createBTree, in case of an exception
  during build up, the allocated have to be cleanup up. For this the
  a rollback method was introduced in class CegoBTreeManager.
  Fix in CegoTableCursor, invalid btree objects have not been ignored
- Many adapations to make cego full 64bit ready also in combination
  with MSYS2 / MINGW64. This resulted in change of many variables
  from type long to type unsigned long long (type long is just 32 bit
  for Windows ) With an appropriate MSYS2 / MINGW64 installation,
  cego compiles proper and runs stable now.
  Many thanks to the MSYS/MINGW developers for their amazing work !
- Several changes from type int to type unsigned long long
- Fix in CegoTableManager::deleteDataTable ( renamed to
  deleteDataTableEntry )
  Since we allow now parallel updates, the method must check if the
  target tuple has already been touched by another transaction.
  Otherwise, invalid double entries could occur in case of concurrent
  updates on the same tuple.
  If a concurrent transaction is detected, the method returns false.
  This return value is used by the updateTuple method to decide,
  if the subsequent insert operation must be performed.
- Since it is not enough jut checking the tuple header info for
  update deletes, a record locking has to be added to avoid duplicates.
  In this sense, record locking for setTupleInfo method call ( used
  in CegoTableManager and CegoTransactionManager ) was added. For
  this, the lockRecord and unlockRecord method have been reactivated
  in CegoLockManager class.
  This lock avoids, that in case of concurrent tuple updates duplicate
  tuples are produced by an update.
- Fix in configure.ac to find lfcbase and lfcxml and for FreeBSD

Submitted by:	lemke@lemke-it.com
2016-01-11 12:30:27 +00:00
Kurt Jaeger
fd0a56db07 databases/cegobridge: 1.0.1 -> 1.1.0
- adaptions for cego-2.25.0 API change

Submitted by:	Bjoern Lemke <lemke@lemke-it.com>
2015-09-11 06:42:03 +00:00
Kurt Jaeger
74a35865b1 databases/cegobridge: 1.0.0 -> 1.0.1
- Fixes for MySQL import

Submitted by:	lemke@lemke-it.com
2015-06-01 20:58:44 +00:00
Kurt Jaeger
dd2c8e6807 New port: databases/cegobridge (replaces databases/my2cego)
cegobridge is a tool to import/export database dumps into Cego, a
Relational Database Management System (RDBMS). Currently it supports
MySQL, other database systems to import/export can be added.

Many more details are available at:

WWW: http://www.lemke-it.com/

Submitted by:	Björn Lemke <lemke@lemke-it.com>
2015-05-19 06:23:02 +00:00