On 30-04-2010 22:27:24 +0200, Sjoerd Mullender wrote:
On Monday, May 3, 2010, we are going to move the MonetDB repository over from the Sourceforge-hosted CVS repository to a Mercurial repository hosted on dev.monetdb.org. On March 18 I sent a pre announcement to the monetdb-developers list (IMPORTANT: changes are afoot). [1]
Please be aware that also the SourceForge bugtracker will be migrated. Changes made to the bugtracker since 6:00am today will get lost. We will try to close the SourceForge bugtracker ASAP for this reason.
Where can I find the new bug tracker? By slightly changing the test submitted with bug #2995671, I was able to trigger an unrelated bug (see the attached test file fallback-bid-collision.sql). In sql/src/storage/bat/bat_storage.mx, function delta_bind_bat, the conditional (temp || access == RD_INS || !bat->bid) leads to the iBAT being returned even if the main BAT is requested by sql.bind(...,0), when there is no main BAT in the sql_delta structure. As long as sql.bind(...,0) and sql.bind(...,1) are combined using algebra.kunion, this doesn't seem to create problems. But the mergetable optimizer's logic to optimize union computations based on overlapped MAT elements does not interact correctly with that behaviour, which leads to the data being inserted twice in the test file. I have attached a patch (no-fallback-ibid.diff) which avoids this problem by disabling the iBAT fallback, creating an empty main BAT instead. To improve the subset of possible interactions between components which is tested, have you considered a fuzz-testing-like approach? Best regards, Isidor