- Fix in CegoBtreeManager for duplicate null handling. The corresponding
btree value has to be checked to be null. For this, the method
CegoBTreeValue::isNull has been introduced
- Fix in CegoFieldValue::negate, for FIXED_TYPE values, trailing
zeros have to be treated. Otherwise, select null - a from t1 where
a = 0.10 will result in 0.1
- Patch in 'update with return' clause. It seems to be useful, that
in combination with return, update should return after first matching
tuple providing the updated tuple in the return clause. So the
values for the tuple can be stored in procedure variables.
create table t1 ( a int, b string(30));
insert into t1 values ( 1, 'DONE');
insert into t1 values ( 2, 'DONE');
insert into t1 values ( 3, 'WAIT');
insert into t1 values ( 4, 'DONE');
insert into t1 values ( 5, 'WAIT');
update t1 set b = 'DONE' where b = 'WAIT' return :a = a;
Just the tuple with a = 3 is update and the value of a is returned
in the procedure variable :a
- For update with return statements, added the on first option.
Since the return variable can only store one return values, this
option specifies, if the update should return after first tuple or
if all matching tuples should be updated.
- In CegoMain, changed separator token for tsdef from ":;" to "=",
since for mingw configurations, absolute path handling was broken.
This resulted in adapations for mkdb and cgmkdb scripts.
- Fix in CegoObjectManager::getObjectListByTable, if object does
not exist, an exception is thrown now.
This resulted in a fix for CegoQueryHelper::checkIndexForPredicate,
where now the table alias has to be mapped to the correct physical
table name ( via coList as a new method argument )
- Fix in CegoAttrDesc::evalTableReferences to treat alias objects in joins
- Grammar expansion to support inner/left outer/right outer joins
without a condition. This might be useful for specific join order
to use appropriate table indices ( see dbcheck/check088.sql )
- Fix in CegoQueryHelper::checkIndexForPredicate, index evaluation
for alias objects was still not treated
- Fix in CegoDistCursor::getPlan and CegoAction::getJoinPlanString
to cover execution plan for alias objects
Submitted by: Björn Lemke <lemke@lemke-it.com>