START TRANSACTION; auto commit mode: off EXPLAIN select ps_partkey, sum(ps_supplycost * ps_availqty) as value from partsupp, supplier, nation where ps_suppkey = s_suppkey and s_nationkey = n_nationkey and n_name = 'ROMANIA' group by ps_partkey having sum(ps_supplycost * ps_availqty) > ( select sum(ps_supplycost * ps_availqty) * 0.0001000000 from partsupp, supplier, nation where ps_suppkey = s_suppkey and s_nationkey = n_nationkey and n_name = 'ROMANIA' ) order by value desc; +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | mal | +==============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | function user.s1_1(A0:str,A1:int,A2:str):void; | | X_145:void := querylog.define("explain\n\n\nselect\n\tps_partkey,\n\tsum(ps_supplycost * ps_availqty) as value\nfrom\n\tpartsupp,\n\tsupplier,\n\tnation\nwhere\n\tps_suppkey = s_suppkey\n\tand s_nationkey = n_nationkey\n\tand n_name = \\'ROMANIA\\'\ngroup by\n\tps_partkey having\n\t\tsum(ps_supplycost * ps_availqty) > (\n\t\t\tselect\n\t\t\t\tsum(ps_supplycost * ps_availqty) * 0.0001000000\n\t\t\tfrom\n\t\t\t\tpartsupp,\n\t\t\t\tsupplier,\n\t\t\t\tnation\n\t\t\twhere\n\t\t\t\tps_suppkey = s_suppkey\n\t\t\t\tand s_nationkey = n_nationkey\n\t\t\t\tand n_name = \\'ROMANIA\\'\n\t\t)\norder by\n\tvalue desc;","default_pipe",103); | | barrier X_178 := language.dataflow(); | | X_4 := sql.mvc(); | | X_5:bat[:oid,:oid] := sql.tid(X_4,"sys","supplier"); | | X_8:bat[:oid,:oid] := sql.bind_idxbat(X_4,"sys","supplier","supplier_nationkey",0); | | (X_11,r1_11) := sql.bind_idxbat(X_4,"sys","supplier","supplier_nationkey",2); | | X_14:bat[:oid,:oid] := sql.bind_idxbat(X_4,"sys","supplier","supplier_nationkey",1); | | X_16 := sql.delta(X_8,X_11,r1_11,X_14); | | X_17 := algebra.leftfetchjoin(X_5,X_16); | | X_18:bat[:oid,:oid] := sql.tid(X_4,"sys","nation"); | | X_20:bat[:oid,:str] := sql.bind(X_4,"sys","nation","n_name",0); | | (X_22,r1_22) := sql.bind(X_4,"sys","nation","n_name",2); | | X_24:bat[:oid,:str] := sql.bind(X_4,"sys","nation","n_name",1); | | X_25 := sql.delta(X_20,X_22,r1_22,X_24); | | X_26 := algebra.leftfetchjoin(X_18,X_25); | | X_84 := algebra.subselect(X_26,A2,A2,true,false,false); | | X_86 := algebra.leftfetchjoin(X_84,X_18); | | (X_87,r1_116) := algebra.subjoin(X_17,X_86,nil:BAT,nil:BAT,false,nil:lng); | | X_91 := algebra.leftfetchjoin(X_87,X_5); | | X_36:bat[:oid,:oid] := sql.tid(X_4,"sys","partsupp"); | | X_38:bat[:oid,:oid] := sql.bind_idxbat(X_4,"sys","partsupp","partsupp_suppkey",0); | | (X_41,r1_42) := sql.bind_idxbat(X_4,"sys","partsupp","partsupp_suppkey",2); | | X_43:bat[:oid,:oid] := sql.bind_idxbat(X_4,"sys","partsupp","partsupp_suppkey",1); | | X_44 := sql.delta(X_38,X_41,r1_42,X_43); | | X_45 := algebra.leftfetchjoin(X_36,X_44); | | (X_92,r1_131) := algebra.subjoin(X_91,X_45,nil:BAT,nil:BAT,false,nil:lng); | | X_63:bat[:oid,:lng] := sql.bind(X_4,"sys","partsupp","ps_supplycost",0); | | (X_65,r1_67) := sql.bind(X_4,"sys","partsupp","ps_supplycost",2); | | X_67:bat[:oid,:lng] := sql.bind(X_4,"sys","partsupp","ps_supplycost",1); | | X_68 := sql.delta(X_63,X_65,r1_67,X_67); | | X_69 := algebra.leftfetchjoin(X_36,X_68); | | X_95 := algebra.leftfetchjoin(r1_131,X_69); | | X_71:bat[:oid,:int] := sql.bind(X_4,"sys","partsupp","ps_availqty",0); | | (X_75,r1_81) := sql.bind(X_4,"sys","partsupp","ps_availqty",2); | | X_77:bat[:oid,:int] := sql.bind(X_4,"sys","partsupp","ps_availqty",1); | | X_78 := sql.delta(X_71,X_75,r1_81,X_77); | | X_79 := algebra.leftfetchjoin(X_36,X_78); | | X_96 := algebra.leftfetchjoin(r1_131,X_79); | | X_97:bat[:oid,:hge] := batcalc.*(X_95,X_96); | | X_98:hge := aggr.sum(X_97); | | X_99:hge := calc.*(X_98,A1); | | X_27 := algebra.subselect(X_26,A0,A0,true,false,false); | | X_30 := algebra.leftfetchjoin(X_27,X_18); | | (X_31,r1_32) := algebra.subjoin(X_17,X_30,nil:BAT,nil:BAT,false,nil:lng); | | X_35 := algebra.leftfetchjoin(X_31,X_5); | | (X_46,r1_47) := algebra.subjoin(X_35,X_45,nil:BAT,nil:BAT,false,nil:lng); | | X_70 := algebra.leftfetchjoin(r1_47,X_69); | | X_80 := algebra.leftfetchjoin(r1_47,X_79); | | X_81:bat[:oid,:hge] := batcalc.*(X_70,X_80); | | X_48:bat[:oid,:int] := sql.bind(X_4,"sys","partsupp","ps_partkey",0); | | (X_51,r1_52) := sql.bind(X_4,"sys","partsupp","ps_partkey",2); | | X_54:bat[:oid,:int] := sql.bind(X_4,"sys","partsupp","ps_partkey",1); | | X_56 := sql.delta(X_48,X_51,r1_52,X_54); | | X_57:bat[:oid,:int] := algebra.leftfetchjoinPath(r1_47,X_36,X_56); | | (X_58,r1_60,r2_60) := group.subgroupdone(X_57); | | X_61 := algebra.leftfetchjoin(r1_60,X_57); | | X_82:bat[:oid,:hge] := aggr.subsum(X_81,X_58,r1_60,true,true); | | X_62 := bat.mirror(X_61); | | language.pass(r1_131); | | language.pass(X_26); | | language.pass(X_18); | | language.pass(X_17); | | language.pass(X_5); | | language.pass(X_45); | | language.pass(X_69); | | language.pass(X_79); | | language.pass(r1_47); | | language.pass(X_36); | | language.pass(X_57); | | language.pass(r1_60); | | exit X_178; | | X_101:hge := sql.dec_round(X_99,10000); | | barrier X_185 := language.dataflow(); | | X_117 := bat.new(nil:oid,nil:str); | | X_125 := bat.append(X_117,"sys.partsupp"); | | X_135 := bat.append(X_125,"sys.L1"); | | X_120 := bat.new(nil:oid,nil:str); | | X_127 := bat.append(X_120,"ps_partkey"); | | X_137 := bat.append(X_127,"value"); | | X_121 := bat.new(nil:oid,nil:str); | | X_129 := bat.append(X_121,"int"); | | X_139 := bat.append(X_129,"decimal"); | | X_122 := bat.new(nil:oid,nil:int); | | X_131 := bat.append(X_122,32); | | X_141 := bat.append(X_131,39); | | X_124 := bat.new(nil:oid,nil:int); | | X_133 := bat.append(X_124,0); | | X_143 := bat.append(X_133,2); | | X_102 := sql.single(X_101); | | (X_103,r1_165) := algebra.subthetajoin(X_82,X_102,nil:BAT,nil:BAT,1,true,nil:lng); | | X_108 := algebra.tinter(X_62,X_103); | | X_109 := algebra.leftfetchjoin(X_108,X_82); | | (X_110,r1_172,r2_172) := algebra.subsort(X_109,true,false); | | X_114:bat[:oid,:int] := algebra.leftfetchjoinPath(r1_172,X_108,X_61); | | X_115 := algebra.leftfetchjoin(r1_172,X_109); | | language.pass(X_82); | | language.pass(X_108); | | language.pass(r1_172); | | language.pass(X_109); | | exit X_185; | | sql.resultSet(X_135,X_137,X_139,X_141,X_143,X_114,X_115); | | end user.s1_1; | +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 103 tuples COMMIT; auto commit mode: on