Stefan Manegold wrote:
On Tue, Dec 04, 2007 at 05:20:31PM +0100, Romulo Goncalves wrote:
#c0 := b.select(0@0, oid(b.count() - 3)).mark(0@0).reverse(); cnt := aggr.count(alg); cnt := calc.-(cnt,3); id := calc.oid(cnt); sel := algebra.select(b, 0@0, id); mrk := algebra.markT(sel, 0@0); c0 := bat.reverse(mrk);
I did like this and I still get: [goncalve@amelia MonetDB5]$ ../../bin/mserver5 # MonetDB server v5.3.0, based on kernel v1.21.0 # Serving database 'demo' # Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs dynamically linked # Copyright (c) 1993-2007 CWI, all rights reserved # Visit http://monetdb.cwi.nl/ for further information #warning: please don't forget to set your vault key! #(see /ufs/goncalve/scratch/MonetDB/MonetDB5/etc/monetdb5.conf) !TypeException:user.str2qgrams[26]:'algebra.select' undefined in: sel:any := algebra.select(b:bat[:str,:void], _27:oid, id:oid) ^^^^ ^^^ ^^^ MAL strict typing (void != oid)? What does b's tail look like? Is it VOID-NIL (i.e., with NIL seqbase) or non-materialized dense OID ("VID") (i.e., with non-NIL seqbase)? The problem was the bat creation I did # var b := bat(str,void,len+4); b := bat.new(:str,:void,len);
and it should be: b := bat.new(:str,:oid,len); ^^^ Regards, Romulo
Third question: !SyntaxException:parseError: res := [+](c1, c2); !SyntaxException:parseError: ^operator expected batcalc.+(c1,c2); So for all the functions inside [<func>] I should use batcalc.<func> , right?
Right --- provided the is an explicit specific batcalc.<func> implementation in MAL for <func> --- in MIL the multiplexed [<func>] is generic for all scalar function <func>.
Stefan