Hi there,
Triggered by a suspiciously slow join, I had a look at BATsubjoin, in
particular at how it is decided which algorithm to use.
I looked at a couple of cases with a join on strings.
This is one (pseudo syntax):
l.count ~16M
l.T.sorted = 0
l.T.revsorted = 0
r.count = 1
r.T.sorted = 1
r.T.revsorted = 1
In this case, a hash table on r is created (because it's smaller).
This join takes *430ms*.
I forced swapping l and r, thus built the hash table on the larger bat, and
then it takes *0.8ms*.
Notice that though r.count = 1 is a bit of an extreme case, it does happen
often in practice. And the case with a few tuples would not be very
different.
The question I wanted to ask is:
is it always right to build the hash table on the small table?
Perhaps some more heuristics can help?
Like: if the smaller is very small, and the larger is not extremely large,
then hash on the larger one?
Roberto
Hi
I am implementing Embedded R in MonetDB version 11.19.11. My environment is
VM with Ubuntu 14.04 Server. I have build MonetDB from source and R as well
as from source.
Running the command sudo mserver5 --version shows me the desired output.
When i try to invoke a database using sudo monetdb start testdb1 command,
where testdb1 is a database i successfully created, it repeatedly throws up
an error...database 'testdb1' started up, but failed to open up a
communication channel.
Upon checking the associated merovingian log file i see further messages
saying the object code to rapi.prelude missing.
Any way to resolve this...?
Regards
Vishal Virmani
@poisoncreed
Hello
Might it be possible to include copies of the relevant header files for the
support libraries (iconv through to zdll) in the GIT repo and/or tarballs?
There is a considerable amount of pain involved in
acquiring/building/installing matching versions of the lib/dll files on
Windows (esp. on Windows!). Also libstream.dll does not advertise any
version information which makes matching just that bit harder :)
Thanks.
Jerry.
The MonetDB team at CWI/MonetDB BV is pleased to announce the
Oct2014-SP3 bugfix release of the MonetDB suite of programs.
More information about MonetDB can be found on our website at
<http://www.monetdb.org/>.
For details on this release, please see the release notes at
<http://www.monetdb.org/Downloads/ReleaseNotes>.
As usual, the download location is <http://dev.monetdb.org/downloads/>.
Oct 2014-SP3 bugfix release
Build Environment
* We now also create debug packages for Debian and Ubuntu.
MonetDB Common
* Replaced the rangejoin implementation with one that uses imprints
if it can.
Bug Fixes
* 3466: UPDATE statements fails with "GDKerror: MT_mremap() failed"
* 3602: Surprising overload resolution of generate_series
* 3613: SQL data dictionary contains columns names which are also
special keywords. This causes unexpected/unneeded SQL query errors
* 3645: Network address operators such as << and <<= do not work
* 3647: missing BAT for a column leads to crash in gtr_update_delta
* 3648: memory corruption on unclean connection shutdown with local
temporary tables
* 3650: Naming of persistent BATs is fragile
* 3653: PREPARE crashes mserver if unbound variable is function
parameter
* 3655: SQL WHERE -1 in (-1) issue?
* 3656: error message after calling fitsload()
* 3660: Incorrect Results for Comparison Operators on inet Datatype
* 3661: Ship debug symbols for pre-built binaries
* 3662: UPDATE row with row value constructor crashes monetdb server
* 3663: Incorrect result ROW_NUMBER in subquery
* 3664: SQLstatementIntern missing parameter when using jsonstore
* 3665: inter-session starvation issue, particularly affects
sys.queue
* 3666: casting text column to inet truncating text column and
resulting inet for first occurrence only
* 3667: insert of negative value for oid column aborts mserver5
process with assertion failure
* 3669: ALTER TABLE <tbl_nm> ADD CONSTRAINT <tbl_uc1> UNIQUE (col1,
col2, col3) causes Assertion failure and abort
* 3671: ODBC-Access on Windows 2012 does not work - E_FAIL
* 3672: libbat_la-gdk_utils.o: relocation R_X86_64_PC32 against
`MT_global_exit' can not be used when making a shared object
* 3676: merovingian hangs trying to exit
* 3677: Crash in BATgroup_internal (caused by 87379087770d?)
* 3678: Ruby driver installation ignores prefix
* 3680: Prepared statements fail on execution with message 'Symbol
type not found'
* 3684: Wrong query result set WHERE "IS NULL" or "NOT IN" clauses
uses in combination with ORDER, LIMIT and OFFSET
* 3687: 'bat.insert' undefined
* 3688: Crash at exit (overrun THRerrorcount?)
* 3689: No more connections accepted if a single client misbehaves
* 3690: find_fk: Assertion `t && i' failed.
* 3691: conversion of whitespaces string to double or float is
accepted without an error during insert
* 3693: algebra.join undefined (caused by non-existing variables in
the plan)
* 3696: Inconsistent behavior between dbl (SQL double) and flt (SQL
real) data types and across platforms
* 3697: mserver5[26946]: segfault at 0 ip 00007f3d0e1ab808 sp
00007f3cefbfcad0 error 4 in lib_sql.so[7f3d0e180000+16c000]
* 3699: segfault again! (during last week I found 3 segfault bugs
already)
* 3703: INSERT INTO a MERGE TABLE crashes mserver5
* 3704: Unknown identifier from subquery
* 3705: Assertion failure in rel_bin.c:2274: rel2bin_project:
Assertion `0' failed.
* 3706: Assertion failure in gdk_bat.c: BATassertHeadProps: Assertion
`!b->H->sorted || cmp <= 0' failed.
* 3709: "BATproject: does not match always" on abusive use of ALTER
TABLE SET READ ONLY