my attempt to remove redundant libedit.so from dependencies for server.
However, it was incomplete because BUILD_DEPENDS was left for configure.
Now firebird25-server does not directly require devel/libedit any more.
The -server port had to be bumped because libedit was listed as a
BUILD_DEPENDS but libedit is linked dynamically so it has to be a
LIB_DEPENDS. The error was masked by the fact the client is usually
present which ensures libedit.so is available.
While here, remove obsolete CONFLICT* definitions and unmask a bunch
of installation commands.
- Added more sophisticated corruption check for btrees
( CegoBTreeManager::verfiyBTree ), which also checks for any structure
corructions in all btree nodes
- Added btree check to CegoDistManager::verifyTable
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
Staging was broken due to touching /root/.java during build
UID and GID was lost in old copy of the review
While here, also fix hardcoded path to ETCDIR
Pointyhat: me
Differential Revision: https://reviews.freebsd.org/D4083
- Version passed concurrent load test with 10 million concurrent
operations ( random insert, update and delete on one table with 2
processes )
- Fix in CegoFileHandler::allocatePage, In case of page exceed with
appendMode = true, a second try is done with appendMode = false
- Small fix in CegoObjectManager::reorgObject, ref page id information
for append mode is set to new last page id
- Small fix in CegoSelect::filterRefs, allow expressions with constant
values ( getAttrRefList= 0 ) in aggregation
- Locking improvements for delete and update operations.
All delete operations are done now via transactions ( introduced
CegoTableManager::deleteDataTableAtomic ). This allows to use a
shared lock as the table lock for using the table
(CegoDistManager::deleteLocalDataTable and
CegoDistManager::updateLocalDataTable )
As a result, a table can be accessed in parallel during a ( long
running ) delete operation on the table( e.g. delete from table).
E.g. select count(*) from table will not block anymore, rather
indicates the remaining number of tuples in the table.
This modification is still under investigation and must verfied
( also in combination with btree/index objects on the table )
- Fix in CegoBTreeManager::deleteBTree, the relevance value was not
calculated correctly
Fix in CegoQuery, cache invalidation is done before query operations.
Otherwise, if the query is aborted, an exception is thrown and
the cache is not cleaned
- Small modifications on cgblow load simulation client
- Changed locking for delete an update operations to exclusive due
to concurrency prpblems with btree operations
- Added page locking to AVLIndexManager and AVLIndexCursor
- Improvements for locking done. Since locking is done on page level,
Insert and delete operations can be done now in parallel . For this
locking had to be introduced in CegoBtreeManager::insertBTree and
CegoBTreeManager::deleteBTree
Further performance path for grouping queries in CegoGroupSpace.
Since the current grouping key is stored now in the class variable
_groupSchema, some expensive list copy operations could be avoided.
This improves performance for about 4%.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>
on top of HBase. OpenTSDB was written to address a common need: store,
index and serve metrics collected from computer systems (network gear,
operating systems, applications) at a large scale, and make this data
easily accessible and graphable.
WWW: http://www.opentsdb.net
Differential Revision: https://reviews.freebsd.org/D4083
on wrapping the MYSQL_STMT API to provide real parameterization
and real server-side cursors. MySQL 4.1.2 or better is required.
WWW: https://launchpad.net/oursql
PR: 202915
Submitted by: Yuri Victorovich <yuri@rawbw.com>
- Improvements for query execution plan retrieval
- Fix in CegoOutput for multline format
( e.g. execution plans have been cut off )
- Performance patch in CegoTableCursor::setup. The getObjectListByTable
method was called every time, when the attribute condition has been
changed. Since this operation is pretty expensive, it was useful
to cache the retrieved index/btree objet in a local class variables.
This change results in significant query speedup for joins, where
the table cursor has to be setup very often
- Small fix in CegoAction::readChain, treating backslashes for
quoteEscapeFlag=false was commented, reactivated
- Small fix in CegoMain, default for csmode changed to value "ID"
- Fix for CegoBtreeManager::insertBTree. Duplicate handling did not
work correctly, if CegoBTreeNode::addValue returns false ( node is
full ) with a duplicate detection, we also have throw exception.
Otherwise the node is split and a duplicate is added.
- Performance improvement for nested queries ( exists select,
in select). The tablecursor for the select statement is not
released and reallocated for subsequent queries ( in CegoQueryHelper,
the select handle is reset with argument false ) This has required
a different locking strategy for the cursor object in CegoDistCursor.
The cursor object has explicit to get in use, if the nextTuple
method is called the first time.
- Added online help for query cache and table cache in cgadm
- Added further performance fix for aggregation queries in CegoExpr
and CegoQueryHelper. The aggregation list for CegoExpr now is stored
in a class variable and is just evaluated the first time, it is
retrieved. In the method CegoQueryHelper::aggregateTuple, the
increment calculation of the count aggregation has been changed
from memcpy calls to direkt pointer arithmetic
- Performance fix has been done for record locking. In many cases,
row locking could be avoided, since an appropriate locking is ensured
on data page or object level. This brings another significant
performance improvement.
Submitted by: Bjoern Lemke <lemke@lemke-it.com>