mserver5 fails in running MAL plan

Qing Guo qguo.29 at gmail.com
Thu Oct 9 17:09:27 CEST 2014


Hi,

I run mserver5 in standalone mode. The SQL input works fine but the corresponding MAL input fails. See below for the details.

- MonetDB version
11.17.21

- Command line
mserver5 --dbpath=${DBPATH} --set mapi_open=false --set mapi_port=0 --set single-user=yes --set gdk_nr_threads=1--set max_clients=1 --set sql_optimizer=default_pipe --set monet_daemon=no < ${INPUT}

- Database
TPC-H (scale factor: 1)


- The SQL input:
sql.start();
select
	count(*)
from
	supplier,
	nation,
	region
where
	r_name = 'EUROPE'
	and r_regionkey = n_regionkey
	and s_nationkey = n_nationkey;


- The MAL input: (I use "explain" to get the MAL plan)
sql.init();
function user.s0_0{autoCommit=true}(A0:str):void;
    X_3 := sql.mvc();
    X_4:bat[:oid,:oid]  := sql.tid(X_3,"sys","nation");
    X_7 := sql.bind_idxbat(X_3,"sys","nation","nation_n_regionkey_fkey",0);
    (X_10,r1_10) := sql.bind_idxbat(X_3,"sys","nation","nation_n_regionkey_fkey",2);
    X_13 := sql.bind_idxbat(X_3,"sys","nation","nation_n_regionkey_fkey",1);
    X_15 := sql.projectdelta(X_4,X_7,X_10,r1_10,X_13);
    X_18 := sql.bind(X_3,"sys","region","r_name",0);
    X_16:bat[:oid,:oid]  := sql.tid(X_3,"sys","region");
    X_72 := algebra.subselect(X_18,X_16,A0,A0,true,true,false);
    (X_20,r1_21) := sql.bind(X_3,"sys","region","r_name",2);
    X_73 := algebra.subselect(r1_21,A0,A0,true,true,false);
    X_22 := sql.bind(X_3,"sys","region","r_name",1);
    X_74 := algebra.subselect(X_22,X_16,A0,A0,true,true,false);
    X_23 := sql.subdelta(X_72,X_16,X_20,X_73,X_74);
    X_25 := X_23;
    (X_26,r1_30) := algebra.join(X_15,X_25);
    X_28 := algebra.leftfetchjoin(X_26,X_4);
    X_29:bat[:oid,:oid]  := sql.tid(X_3,"sys","supplier");
    X_31 := sql.bind_idxbat(X_3,"sys","supplier","supplier_s_nationkey_fkey",0);
    (X_33,r1_37) := sql.bind_idxbat(X_3,"sys","supplier","supplier_s_nationkey_fkey",2);
    X_36 := sql.bind_idxbat(X_3,"sys","supplier","supplier_s_nationkey_fkey",1);
    X_37 := sql.projectdelta(X_29,X_31,X_33,r1_37,X_36);
    (X_38,r1_43) := algebra.join(X_28,X_37);
    X_40 := algebra.leftfetchjoin(X_38,X_28);
    X_41 := aggr.count(X_40);
    sql.exportValue(1,".L1","L1","wrd",64,0,6,X_41,"");
end s0_0;
user.s0_0("EUROPE");


mserver5 reports the following error message when running the MAL input:

!TypeException:user.s0_0[23]:'algebra.join' undefined in: (X_38:any, r1_43:any) := algebra.join(X_28:bat[:oid,:oid], X_37:bat[:oid,:any])

It seems to me that X_28 is not in the right format. But I have no idea how it could happen and how to make it correct. Any thoughts on this will be much appreciated.
Thanks!

-Qing




More information about the developers-list mailing list