Hello I cannot find my bug. I would to get tuple via ExecutorRun. But it works only with one field in target. With more fields I got last fileld on first position and others fields are null. Can somebody help me?
Pavel Stehule postgres=# call print(10,20,30); NOTICE: nargs 3 NOTICE: 30 0 NOTICE: 2139062143 0 NOTICE: 2139062143 0 code: dest = CreateDestReceiver(DestNone, NULL); ActiveSnapshot = CopySnapshot(GetTransactionSnapshot()); qdesc = CreateQueryDesc(plan, ActiveSnapshot, InvalidSnapshot, dest, paramLI, false); ExecutorStart(qdesc, 0); result = ExecutorRun(qdesc, ForwardScanDirection, 1L); tuple = ExecMaterializeSlot(result); values = (Datum *) palloc(nargs * sizeof(Datum)); nulls = (char *) palloc(nargs * sizeof(char)); /* copy typle to current context */ tuple = heap_copytuple(tuple); heap_deform_tuple(tuple, qdesc->tupDesc, values, nulls); for(i = 0; i < nargs; i++) elog(NOTICE, "%d %d", values[i], nulls[i]); NOTICE: plan: DETAIL: {PLANNEDSTMT :commandType 1 :canSetTag true :planTree {RESULT :startup_cost 0.00 :total_cost 0.01 :plan_rows 1 :plan_width 0 :targetlist ( {TARGETENTRY :expr {CONST :consttype 23 :consttypmod -1 :constlen 4 :constbyval true :constisnull false :constvalue 4 [ 10 0 0 0 ] } :resno 1 :resname ?Parameter? :ressortgroupref 0 :resorigtbl 0 :resorigcol 0 :resjunk false } {TARGETENTRY :expr {CONST :consttype 23 :consttypmod -1 :constlen 4 :constbyval true :constisnull false :constvalue 4 [ 20 0 0 0 ] } :resno 1 :resname ?Parameter? :ressortgroupref 0 :resorigtbl 0 :resorigcol 0 :resjunk false } {TARGETENTRY :expr {CONST :consttype 23 :consttypmod -1 :constlen 4 :constbyval true :constisnull false :constvalue 4 [ 30 0 0 0 ] } :resno 1 :resname ?Parameter? :ressortgroupref 0 :resorigtbl 0 :resorigcol 0 :resjunk false } ) :qual <> :lefttree <> :righttree <> :initPlan <> :extParam (b) :allParam (b) :resconstantqual <> } :rtable <> :resultRelations <> :utilityStmt <> :intoClause <> :subplans <> :rewindPlanIDs (b) :returningLists <> :rowMarks <> :relationOids <> :nParamExec 0 } ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend