On Fri, 2006-02-03 at 10:46 +0100, andrew wrote:
> I am modifying the source code. I want to look up some information
> from some tables while parsing the queries.
If you're referring to the raw parser (parser/gram.y), you should not
attempt to access any tables. For one thing, the raw parser might be
invoked outside a transaction. The statement might also refer to a table
created earlier in the same query string, which would mean the
referenced table would not exist when the latter part of the query
string is parsed.
Instead, database access should be done in the analysis phase -- see
transformStmt() in parser/analyze.c and friends. There are plenty of
examples in the code of how to access tables, which should be a helpful
guide.
-Neil