fix memory lead of opfusion, and fix performance deterioration problem.
This commit is contained in:
@ -82,9 +82,9 @@ public:
|
||||
|
||||
void setPreparedDestReceiver(DestReceiver* preparedDest);
|
||||
|
||||
Datum CalFuncNodeVal(Oid functionId, List* args, bool* is_null);
|
||||
Datum CalFuncNodeVal(Oid functionId, List* args, bool* is_null, Datum* values, bool* isNulls);
|
||||
|
||||
Datum EvalSimpleArg(Node* arg, bool* is_null);
|
||||
Datum EvalSimpleArg(Node* arg, bool* is_null, Datum* values, bool* isNulls);
|
||||
|
||||
static void tearDown(OpFusion* opfusion);
|
||||
|
||||
@ -201,6 +201,10 @@ private:
|
||||
|
||||
int m_targetParamNum;
|
||||
|
||||
Datum* m_curVarValue;
|
||||
|
||||
bool* m_curVarIsnull;
|
||||
|
||||
bool m_is_bucket_rel;
|
||||
};
|
||||
|
||||
@ -230,6 +234,19 @@ private:
|
||||
|
||||
bool* m_targetIsnull;
|
||||
|
||||
Datum* m_curVarValue;
|
||||
|
||||
struct VarLoc {
|
||||
int varNo;
|
||||
int scanKeyIndx;
|
||||
};
|
||||
|
||||
VarLoc* m_targetVarLoc;
|
||||
|
||||
int m_varNum;
|
||||
|
||||
bool* m_curVarIsnull;
|
||||
|
||||
int* m_targetConstLoc;
|
||||
|
||||
ParamLoc* m_targetParamLoc;
|
||||
|
||||
Reference in New Issue
Block a user