
UPDATE: Looking at src/sql/backends/monet5/LSST/Tests/lsst_htmxmatch.sql, it seems that the syntax I need is indeed where [t.name] maxlevenshtein [f.name, 2] However, now I suspect that the problem is that my join was implemented as: str STRdistjoin_levenshtein(bat *r1, bat *r2, const bat *lid, const bat *rid, const int *k) and not as STRdistjoin_levenshtein*subjoin* Is this needed in Jul2015? And do I need also the subselect version? Is there any guideline to help? I find all these subjoin/subselect implementations rather unfriendly ;) Roberto On 8 January 2016 at 15:01, Roberto Cornacchia <roberto.cornacchia@gmail.com
wrote:
Hi there,
I'm a bit struggling with the syntax for filter function, after it changed from Oct2014 to Jul2015. I have looked at the release notes, but they don't seem to even mention this change of syntax.
This used to work in Oct2014:
create filter function maxlevenshtein(s1 string, s2 string, k int) external name str."distjoin_levenshtein";
select t.name, f.name from sys.tables t, sys.functions f where t.name maxlevenshtein(2) f.name;
In Jul2015, if I look at Niels' comment in https://www.monetdb.org/bugzilla/show_bug.cgi?id=3702 , it should be something similar to
select t.name, f.name from sys.tables t, sys.functions f where [t.name] maxlevenshtein [f.name, 2];
But this is still not right. How should it be? And should I change the SQL / MAL / C interface of the function as well?
Thanks,