Deparsing DDL command strings

Поиск
Список
Период
Сортировка
От Dimitri Fontaine
Тема Deparsing DDL command strings
Дата
Msg-id m2zk41m6e7.fsf@2ndQuadrant.fr
обсуждение исходный текст
Ответы Re: Deparsing DDL command strings
Список pgsql-hackers
Hi,

Working on the Event Trigger next patch series, one of the challenge to
address is deparsing the DDL commands so that the User Defined Function
used by the trigger definition has that information.

I'm making good progress on that, it's some amount of code but pretty
straightforward. The only road blocker for now is best summarized by the
following comment in src/backend/commands/tablecmds.c
   * Now add any newly specified column default values and CHECK constraints   * to the new relation.  These are passed
tous in the form of raw   * parsetrees; we need to transform them to executable expression trees   * before they can be
added.The most convenient way to do that is to   * apply the parser's transformExpr routine, but transformExpr doesn't
* work unless we have a pre-existing relation. So, the transformation has   * to be postponed to this final step of
CREATETABLE.
 

So I have a Node *parsetree containing some CHECK and DEFAULT raw
expressions to work with. Those can reference non existing tables,
either to-be-created or already-dropped. 

Should I work on transformExpr() so that it knows how to work with a non
existing relation, or should I write a new transformRawExpr() that knows
how to handle this case?

Or do we want to limit the deparsing feature and not accept some CHECK
and DEFAULT expressions (though not being able to cope with T_A_Const is
a bummer)? (I don't mean to do it, I still have to mention the choice).

Regards,
-- 
Dimitri Fontaine
http://2ndQuadrant.fr     PostgreSQL : Expertise, Formation et Support



В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Albe Laurenz"
Дата:
Сообщение: Re: Missing OID define
Следующее
От: zafer yagmuroglu
Дата:
Сообщение: FW: PQntuples and PQgetvalue problem.