definition of evalfunc for execution of join condition

From: Esha Palta <esha(at)it(dot)iitb(dot)ac(dot)in>
To: pgsql-hackers(at)postgresql(dot)org
Subject: definition of evalfunc for execution of join condition
Date: 2005-10-12 17:46:55
Message-ID: 434D4C0F.6090405@it.iitb.ac.in
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

ExecQual evaluates join conditions one at a time.It captures one condition and passes it to function ExecEvalExpr which is actually a macro that invokes another function evalfunc( which is a function pointer that is set to the function PostgreSQL wants to use to evaluate the expression. It's of
type:
typedef Datum (*ExprStateEvalFunc) (ExprState *expression,
ExprContext *econtext,
bool *isNull,
ExprDoneCond *isDone);

The actual function called is probably be one of the ones in backend/executor/execQual.c.
In execQual.c there are routines for evaluating each type of exprState nodes. Routines are normally called via the ExecEvalExpr macro.
Every function in execQual.c calls ExecEvalExpr macro by passing it as argument containing object of ExprState which consist of evalfunc(routine) to call for execution of node.

I am not able to find out definition of function that is passed to ExecEvalExpr macro using an object of ExprState type.
Please help me if you understand the problem.
Basically I want to know the defination of function where join conditions are evaluated(for example may be for Nested Loop Joins)
Thanx in advance
Esha

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Eric Sproul 2005-10-12 17:51:48 Re: 8.1 beta1 -> beta2 upgrade question
Previous Message Simon Riggs 2005-10-12 17:44:50 Re: Spinlocks, yet again: analysis and proposed patches