START TRANSACTION; auto commit mode: off EXPLAIN select sum(l_extendedprice* (1 - l_discount)) as revenue from lineitem, part where ( p_partkey = l_partkey and p_brand = 'Brand#15' and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') and l_quantity >= 2 and l_quantity <= 2+10 and p_size between 1 and 5 and l_shipmode in ('AIR', 'AIR REG') and l_shipinstruct = 'DELIVER IN PERSON' ) or ( p_partkey = l_partkey and p_brand = 'Brand#52' and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') and l_quantity >= 17 and l_quantity <= 17+10 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | mal | +=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | function user.s1_1(A0:bte,A1:str,A2:str,A3:str,A4:str,A5:str,A6:bte,A7:sht,A8:sht,A9:int,A10:int,A11:str,A12:str,A13:str,A14:str,A15:str,A16:str,A17:str,A18:str,A19:bte,A20:sht,A21:sht,A22:int,A23:int,A24:str,A25:str,A26:str,A27:str,A28:str,A29:str,A30:str,A31:str,A32:bte,A33:sht,A34:sht,A35:int,A36:int,A37:str,A38:str,A39:str):void; | | X_286:void := querylog.define("explain\n\n\nselect\n\tsum(l_extendedprice* (1 - l_discount)) as revenue\nfrom\n\tlineitem,\n\tpart\nwhere\n\t(\n\t\tp_partkey = l_partkey\n\t\tand p_brand = \\'Brand#15\\'\n\t\tand p_container in (\\'SM CASE\\', \\'SM BOX\\', \\'SM PACK\\', \\'SM PKG\\')\n\t\tand l_quantity >= 2 and l_quantity <= 2+10\n\t\tand p_size between 1 and 5\n\t\tand l_shipmode in (\\'AIR\\', \\'AIR REG\\')\n\t\tand l_shipinstruct = \\'DELIVER IN PERSON\\'\n\t)\n\tor\n\t(\n\t\tp_partkey = l_partkey\n\t\tand p_brand = \\'Brand#52\\'\n\t\tand p_container in (\\'MED BAG\\', \\'MED BOX\\', \\'MED PKG\\', \\'MED PACK\\')\n\t\tand l_quantity >= 17 and l_quantity <= 17+10\n\t\tand p_size between 1 and 10\n\t\tand l_shipmode in (\\'AIR\\', \\'AIR REG\\')\n\t\tand l_shipinstruct = \\'DELIVER IN PERSON\\'\n\t)\n\tor\n\t(\n\t\tp_partkey = l_partkey\n\t\tand p_brand = \\'Brand#55\\'\n\t\tand p_container in (\\'LG CASE\\', \\'LG BOX\\', \\'LG PACK\\', \\'LG PKG\\')\n\t\tand l_quantity >= 29 and l_quantity <= 29+10\n\t\tand p_size between 1 and 15\n\t\tand l_shipmode in (\\'AIR\\', \\'AIR REG\\')\n\t\tand l_shipinstruct = \\'DELIVER IN PERSON\\'\n\t);","default_pipe",201); | | barrier X_338 := language.dataflow(); | | X_41 := sql.mvc(); | | X_42:bat[:oid,:oid] := sql.tid(X_41,"sys","part"); | | X_45:bat[:oid,:str] := sql.bind(X_41,"sys","part","p_container",0); | | (X_48,r1_48) := sql.bind(X_41,"sys","part","p_container",2); | | X_51:bat[:oid,:str] := sql.bind(X_41,"sys","part","p_container",1); | | X_53 := sql.delta(X_45,X_48,r1_48,X_51); | | X_54 := algebra.leftfetchjoin(X_42,X_53); | | X_55:bat[:oid,:str] := sql.bind(X_41,"sys","part","p_brand",0); | | (X_57,r1_58) := sql.bind(X_41,"sys","part","p_brand",2); | | X_59:bat[:oid,:str] := sql.bind(X_41,"sys","part","p_brand",1); | | X_60 := sql.delta(X_55,X_57,r1_58,X_59); | | X_61 := algebra.leftfetchjoin(X_42,X_60); | | X_62:bat[:oid,:int] := sql.bind(X_41,"sys","part","p_size",0); | | (X_64,r1_66) := sql.bind(X_41,"sys","part","p_size",2); | | X_66:bat[:oid,:int] := sql.bind(X_41,"sys","part","p_size",1); | | X_67 := sql.delta(X_62,X_64,r1_66,X_66); | | X_68 := algebra.leftfetchjoin(X_42,X_67); | | X_69:int := calc.min(A22,A35); | | X_70:int := calc.min(A9,X_69); | | X_71:int := calc.max(A23,A36); | | X_72:int := calc.max(A10,X_71); | | X_73 := algebra.subselect(X_68,X_70,X_72,true,true,false); | | X_76 := algebra.subselect(X_61,X_73,A1,A1,true,false,false); | | X_77 := algebra.subselect(X_61,X_73,A14,A14,true,false,false); | | X_78 := bat.mergecand(X_76,X_77); | | X_79 := algebra.subselect(X_61,X_73,A27,A27,true,false,false); | | X_80 := bat.mergecand(X_78,X_79); | | X_81 := algebra.subselect(X_54,X_80,A2,A2,true,false,false); | | X_82 := algebra.subselect(X_54,X_80,A3,A3,true,false,false); | | X_83 := bat.mergecand(X_81,X_82); | | X_84 := algebra.subselect(X_54,X_80,A4,A4,true,false,false); | | X_85 := bat.mergecand(X_83,X_84); | | X_86 := algebra.subselect(X_54,X_80,A5,A5,true,false,false); | | X_87 := bat.mergecand(X_85,X_86); | | X_88 := algebra.subselect(X_54,X_80,A15,A15,true,false,false); | | X_89 := bat.mergecand(X_87,X_88); | | X_90 := algebra.subselect(X_54,X_80,A16,A16,true,false,false); | | X_91 := bat.mergecand(X_89,X_90); | | X_92 := algebra.subselect(X_54,X_80,A17,A17,true,false,false); | | X_93 := bat.mergecand(X_91,X_92); | | X_94 := algebra.subselect(X_54,X_80,A18,A18,true,false,false); | | X_95 := bat.mergecand(X_93,X_94); | | X_96 := algebra.subselect(X_54,X_80,A28,A28,true,false,false); | | X_99 := bat.mergecand(X_95,X_96); | | X_100 := algebra.subselect(X_54,X_80,A29,A29,true,false,false); | | X_101 := bat.mergecand(X_99,X_100); | | X_102 := algebra.subselect(X_54,X_80,A30,A30,true,false,false); | | X_103 := bat.mergecand(X_101,X_102); | | X_104 := algebra.subselect(X_54,X_80,A31,A31,true,false,false); | | X_105 := bat.mergecand(X_103,X_104); | | X_106:bat[:oid,:int] := sql.bind(X_41,"sys","part","p_partkey",0); | | (X_111,r1_132) := sql.bind(X_41,"sys","part","p_partkey",2); | | X_114:bat[:oid,:int] := sql.bind(X_41,"sys","part","p_partkey",1); | | X_116 := sql.delta(X_106,X_111,r1_132,X_114); | | X_117:bat[:oid,:int] := algebra.leftfetchjoinPath(X_105,X_42,X_116); | | X_118:bat[:oid,:oid] := sql.tid(X_41,"sys","lineitem"); | | X_120:bat[:oid,:str] := sql.bind(X_41,"sys","lineitem","l_shipmode",0); | | (X_122,r1_144) := sql.bind(X_41,"sys","lineitem","l_shipmode",2); | | X_124:bat[:oid,:str] := sql.bind(X_41,"sys","lineitem","l_shipmode",1); | | X_125 := sql.delta(X_120,X_122,r1_144,X_124); | | X_126 := algebra.leftfetchjoin(X_118,X_125); | | X_127:bat[:oid,:str] := sql.bind(X_41,"sys","lineitem","l_shipinstruct",0); | | (X_129,r1_152) := sql.bind(X_41,"sys","lineitem","l_shipinstruct",2); | | X_131:bat[:oid,:str] := sql.bind(X_41,"sys","lineitem","l_shipinstruct",1); | | X_132 := sql.delta(X_127,X_129,r1_152,X_131); | | X_133 := algebra.leftfetchjoin(X_118,X_132); | | X_134 := algebra.subselect(X_133,A13,A13,true,false,false); | | X_137 := algebra.subselect(X_133,A26,A26,true,false,false); | | X_138 := bat.mergecand(X_134,X_137); | | X_139 := algebra.subselect(X_133,A39,A39,true,false,false); | | X_140 := bat.mergecand(X_138,X_139); | | X_141 := algebra.subselect(X_126,X_140,A11,A11,true,false,false); | | X_142 := algebra.subselect(X_126,X_140,A12,A12,true,false,false); | | X_143 := bat.mergecand(X_141,X_142); | | X_144 := algebra.subselect(X_126,X_140,A24,A24,true,false,false); | | X_145 := bat.mergecand(X_143,X_144); | | X_146 := algebra.subselect(X_126,X_140,A25,A25,true,false,false); | | X_147 := bat.mergecand(X_145,X_146); | | X_148 := algebra.subselect(X_126,X_140,A37,A37,true,false,false); | | X_149 := bat.mergecand(X_147,X_148); | | X_150 := algebra.subselect(X_126,X_140,A38,A38,true,false,false); | | X_151 := bat.mergecand(X_149,X_150); | | X_152:bat[:oid,:int] := sql.bind(X_41,"sys","lineitem","l_partkey",0); | | (X_157,r1_188) := sql.bind(X_41,"sys","lineitem","l_partkey",2); | | X_160:bat[:oid,:int] := sql.bind(X_41,"sys","lineitem","l_partkey",1); | | X_162 := sql.delta(X_152,X_157,r1_188,X_160); | | X_163:bat[:oid,:int] := algebra.leftfetchjoinPath(X_151,X_118,X_162); | | (X_164,r1_196) := algebra.subjoin(X_117,X_163,nil:BAT,nil:BAT,false,nil:lng); | | X_169:bat[:oid,:str] := algebra.leftfetchjoinPath(r1_196,X_151,X_133); | | X_170:bat[:oid,:str] := algebra.leftfetchjoinPath(r1_196,X_151,X_126); | | X_171:bat[:oid,:int] := algebra.leftfetchjoinPath(X_164,X_105,X_68); | | X_172:bat[:oid,:lng] := sql.bind(X_41,"sys","lineitem","l_quantity",0); | | (X_174,r1_213) := sql.bind(X_41,"sys","lineitem","l_quantity",2); | | X_176:bat[:oid,:lng] := sql.bind(X_41,"sys","lineitem","l_quantity",1); | | X_177 := sql.delta(X_172,X_174,r1_213,X_176); | | X_178:bat[:oid,:lng] := algebra.leftfetchjoinPath(r1_196,X_151,X_118,X_177); | | X_184:bat[:oid,:str] := algebra.leftfetchjoinPath(X_164,X_105,X_54); | | X_185:bat[:oid,:str] := algebra.leftfetchjoinPath(X_164,X_105,X_61); | | X_186 := algebra.subselect(X_185,A1,A1,true,false,false); | | X_189 := algebra.subselect(X_184,X_186,A2,A2,true,false,false); | | X_190 := algebra.subselect(X_184,X_186,A3,A3,true,false,false); | | X_191 := bat.mergecand(X_189,X_190); | | X_192 := algebra.subselect(X_184,X_186,A4,A4,true,false,false); | | X_193 := bat.mergecand(X_191,X_192); | | X_194 := algebra.subselect(X_184,X_186,A5,A5,true,false,false); | | X_195 := bat.mergecand(X_193,X_194); | | X_183 := calc.lng(A6,15,2); | | X_196 := algebra.thetasubselect(X_178,X_195,X_183,">="); | | X_179:sht := calc.+(A7,A8); | | X_180 := calc.lng(X_179,15,2); | | X_198 := algebra.thetasubselect(X_178,X_196,X_180,"<="); | | X_200 := algebra.subselect(X_171,X_198,A9,A10,true,true,false); | | X_201 := algebra.subselect(X_170,X_200,A11,A11,true,false,false); | | X_202 := algebra.subselect(X_170,X_200,A12,A12,true,false,false); | | X_203 := bat.mergecand(X_201,X_202); | | X_204 := algebra.subselect(X_169,X_203,A13,A13,true,false,false); | | X_210 := algebra.subselect(X_185,A14,A14,true,false,false); | | X_213 := algebra.subselect(X_184,X_210,A15,A15,true,false,false); | | X_214 := algebra.subselect(X_184,X_210,A16,A16,true,false,false); | | X_215 := bat.mergecand(X_213,X_214); | | X_216 := algebra.subselect(X_184,X_210,A17,A17,true,false,false); | | X_217 := bat.mergecand(X_215,X_216); | | X_218 := algebra.subselect(X_184,X_210,A18,A18,true,false,false); | | X_219 := bat.mergecand(X_217,X_218); | | X_209 := calc.lng(A19,15,2); | | X_220 := algebra.thetasubselect(X_178,X_219,X_209,">="); | | X_205:sht := calc.+(A20,A21); | | X_206 := calc.lng(X_205,15,2); | | X_222 := algebra.thetasubselect(X_178,X_220,X_206,"<="); | | X_224 := algebra.subselect(X_171,X_222,A22,A23,true,true,false); | | X_225 := algebra.subselect(X_170,X_224,A24,A24,true,false,false); | | X_226 := algebra.subselect(X_170,X_224,A25,A25,true,false,false); | | X_227 := bat.mergecand(X_225,X_226); | | X_228 := algebra.subselect(X_169,X_227,A26,A26,true,false,false); | | X_234 := algebra.subselect(X_185,A27,A27,true,false,false); | | X_237 := algebra.subselect(X_184,X_234,A28,A28,true,false,false); | | X_238 := algebra.subselect(X_184,X_234,A29,A29,true,false,false); | | X_239 := bat.mergecand(X_237,X_238); | | X_240 := algebra.subselect(X_184,X_234,A30,A30,true,false,false); | | X_241 := bat.mergecand(X_239,X_240); | | X_242 := algebra.subselect(X_184,X_234,A31,A31,true,false,false); | | X_243 := bat.mergecand(X_241,X_242); | | X_233 := calc.lng(A32,15,2); | | X_244 := algebra.thetasubselect(X_178,X_243,X_233,">="); | | X_229:sht := calc.+(A33,A34); | | X_230 := calc.lng(X_229,15,2); | | X_246 := algebra.thetasubselect(X_178,X_244,X_230,"<="); | | X_248 := algebra.subselect(X_171,X_246,A35,A36,true,true,false); | | X_249 := algebra.subselect(X_170,X_248,A37,A37,true,false,false); | | X_250 := algebra.subselect(X_170,X_248,A38,A38,true,false,false); | | X_251 := bat.mergecand(X_249,X_250); | | X_252 := algebra.subselect(X_169,X_251,A39,A39,true,false,false); | | X_253 := bat.mergecand(X_228,X_252); | | X_254 := bat.mergecand(X_204,X_253); | | X_255:bat[:oid,:lng] := sql.bind(X_41,"sys","lineitem","l_extendedprice",0); | | (X_260,r1_338) := sql.bind(X_41,"sys","lineitem","l_extendedprice",2); | | X_263:bat[:oid,:lng] := sql.bind(X_41,"sys","lineitem","l_extendedprice",1); | | X_265 := sql.delta(X_255,X_260,r1_338,X_263); | | X_266:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_254,r1_196,X_151,X_118,X_265); | | X_267 := calc.lng(A0,15,2); | | X_269:bat[:oid,:lng] := sql.bind(X_41,"sys","lineitem","l_discount",0); | | (X_271,r1_357) := sql.bind(X_41,"sys","lineitem","l_discount",2); | | X_273:bat[:oid,:lng] := sql.bind(X_41,"sys","lineitem","l_discount",1); | | X_274 := sql.delta(X_269,X_271,r1_357,X_273); | | X_275:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_254,r1_196,X_151,X_118,X_274); | | X_276:bat[:oid,:lng] := batcalc.-(X_267,X_275); | | X_277:bat[:oid,:hge] := batcalc.*(X_266,X_276); | | X_278:hge := aggr.sum(X_277); | | language.pass(X_73); | | language.pass(X_80); | | language.pass(X_42); | | language.pass(X_140); | | language.pass(X_133); | | language.pass(X_126); | | language.pass(X_68); | | language.pass(X_54); | | language.pass(X_164); | | language.pass(X_105); | | language.pass(X_61); | | language.pass(X_186); | | language.pass(X_200); | | language.pass(X_210); | | language.pass(X_224); | | language.pass(X_185); | | language.pass(X_184); | | language.pass(X_234); | | language.pass(X_178); | | language.pass(X_171); | | language.pass(X_170); | | language.pass(X_248); | | language.pass(X_169); | | language.pass(X_254); | | language.pass(r1_196); | | language.pass(X_151); | | language.pass(X_118); | | exit X_338; | | sql.resultSet("sys.L1","revenue","decimal",39,4,10,X_278); | | end user.s1_1; | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 201 tuples COMMIT; auto commit mode: on