Re: plpython function problem workaround
От | Marco Colombo |
---|---|
Тема | Re: plpython function problem workaround |
Дата | |
Msg-id | Pine.LNX.4.61.0503171724210.20758@Megathlon.ESI обсуждение исходный текст |
Ответ на | Re: plpython function problem workaround (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
On Thu, 17 Mar 2005, Tom Lane wrote: > Martijn van Oosterhout <kleptog@svana.org> writes: >> On Thu, Mar 17, 2005 at 01:03:36PM +0100, Marco Colombo wrote: >>> OMG! It's indenting the funtion body. I think you can't do that >>> w/o being syntax-aware. I'm not familiar with the code, why is it >>> adding a 'def' in front of it at all? I undestand that once you do >>> it you'll have to shift the code by an indentation level. > >> Presumbly because it wants to create a function, which can later be >> called. Since python is sensetive to whitespace it has to indent the >> code to make it work. > > Seems like we have to upgrade that thing to have a complete > understanding of Python lexical rules --- at least enough to know where > the line boundaries are. Which is pretty much exactly the same as > knowing which CRs to strip out. So I guess we have a candidate place > for a solution. > > Anyone want to code it up? I don't know enough Python to do it ... I'm no expert but I'll look into it. Unless someone else already tried it, I want to investigate first if it's possible to create a callable object w/o using 'def', which alters the name space and (the thing we're interested to) needs an extra identation level. At first sight, what we do now (at function creation time) is: 1) execute a function definition; 2) compile a function call, and save the resulting code object for later use. I'm wondering if we can save one step, and use a python callable object. .TM. -- ____/ ____/ / / / / Marco Colombo ___/ ___ / / Technical Manager / / / ESI s.r.l. _____/ _____/ _/ Colombo@ESI.it
В списке pgsql-general по дате отправления: