Обсуждение: ECPG

Поиск
Список
Период
Сортировка

ECPG

От
Michael Meskes
Дата:
Hi,

I just removed the prepare/execute/deallocate function from ecpg's
parser so there are no conflicts anymore. But for the future (that is
after 7.3 is released) I'd like to work something out. The only problem
I see with using the backend functions is that the backend prepare needs
the data type for each variable and I have no idea how to present it
given the embedded syntax. I take it the backend prepare cannot work
without this info, can it?

Also I still have some open bug reports but on the other hand few to no
available time. Shall we add these reports to the TODO list? I doubt
I'll be able to fix them ntil release time, at least not all of them.

Michael
-- 
Michael Meskes
Michael@Fam-Meskes.De
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!


Re: ECPG

От
Tom Lane
Дата:
I had a thought about what to do with the ECPG grammar-too-big problem:
rather than depending on a beta release of bison, we could attack the
problem directly by omitting some of the backend grammar from what ECPG
supports.  Surely there are not many people using ECPG to issue obscure
utility commands like, for example, DROP OPERATOR CLASS.

I haven't tried this to see just how much we'd have to dike out, but
my guess is that we could push the ecpg grammar down to something that
would get through stock bison without omitting anything anyone's even
remotely likely to miss.

This is, of course, an ugly hack that we'd want to undo once more
capable versions of bison are readily available.  But I think it could
tide us over for a release or two.

Comments?
        regards, tom lane


Re: ECPG

От
Bruce Momjian
Дата:
Tom Lane wrote:
> I had a thought about what to do with the ECPG grammar-too-big problem:
> rather than depending on a beta release of bison, we could attack the
> problem directly by omitting some of the backend grammar from what ECPG
> supports.  Surely there are not many people using ECPG to issue obscure
> utility commands like, for example, DROP OPERATOR CLASS.
> 
> I haven't tried this to see just how much we'd have to dike out, but
> my guess is that we could push the ecpg grammar down to something that
> would get through stock bison without omitting anything anyone's even
> remotely likely to miss.
> 
> This is, of course, an ugly hack that we'd want to undo once more
> capable versions of bison are readily available.  But I think it could
> tide us over for a release or two.
> 
> Comments?

I think we should just go with the bison beta for ecpg and be done with
it.  If we find bugs, we can ask the bison folks to fix it, or work
around it ourselves.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: ECPG

От
Bruce Momjian
Дата:
Michael Meskes wrote:
> Hi,
> 
> I just removed the prepare/execute/deallocate function from ecpg's
> parser so there are no conflicts anymore. But for the future (that is
> after 7.3 is released) I'd like to work something out. The only problem
> I see with using the backend functions is that the backend prepare needs
> the data type for each variable and I have no idea how to present it
> given the embedded syntax. I take it the backend prepare cannot work
> without this info, can it?
> 
> Also I still have some open bug reports but on the other hand few to no
> available time. Shall we add these reports to the TODO list? I doubt
> I'll be able to fix them ntil release time, at least not all of them.

Yes, please send over additional TODO items.  Thanks.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: ECPG

От
Tom Lane
Дата:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom Lane wrote:
>> I had a thought about what to do with the ECPG grammar-too-big problem:
>> rather than depending on a beta release of bison, we could attack the
>> problem directly by omitting some of the backend grammar from what ECPG
>> supports.

> I think we should just go with the bison beta for ecpg and be done with
> it.  If we find bugs, we can ask the bison folks to fix it, or work
> around it ourselves.

Using the beta bison has a lot of disadvantages though, particularly if
we want to follow the conservative route of using it only for ecpg and
not for the other .y files.  How exactly will you cause the build to
work that way?  How will you make it work for everyone who pulls CVS
rather than a prebuilt tar file?

Also, I was quite unthrilled when I experimented tonight with bison
1.49b, and found it to be a factor of 16 slower than bison 1.28.
(<2 seconds versus >32 seconds to process the backend gram.y file.)
If they don't fix that, bison 1.49+ will have roughly zero uptake
among real users --- who's going to hold still for that much slowdown,
to get a tool whose only obvious improvement is that it now rejects
optional commas?

Bottom line is that I don't think we can require bison > 1.28 for a
good while yet.
        regards, tom lane


Re: ECPG

От
Michael Meskes
Дата:
On Sun, Sep 22, 2002 at 04:18:23PM -0400, Tom Lane wrote:
> I had a thought about what to do with the ECPG grammar-too-big problem:
> rather than depending on a beta release of bison, we could attack the
> problem directly by omitting some of the backend grammar from what ECPG
> supports.  Surely there are not many people using ECPG to issue obscure
> utility commands like, for example, DROP OPERATOR CLASS.

But then there may be one. And I'd prefer to not remove features that
used to exist.

Michael
-- 
Michael Meskes
Michael@Fam-Meskes.De
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!


Re: ECPG

От
Tom Lane
Дата:
Michael Meskes <meskes@postgresql.org> writes:
> On Sun, Sep 22, 2002 at 04:18:23PM -0400, Tom Lane wrote:
>> I had a thought about what to do with the ECPG grammar-too-big problem:
>> rather than depending on a beta release of bison, we could attack the
>> problem directly by omitting some of the backend grammar from what ECPG
>> supports.  Surely there are not many people using ECPG to issue obscure
>> utility commands like, for example, DROP OPERATOR CLASS.

> But then there may be one. And I'd prefer to not remove features that
> used to exist.

What about removing this feature that used to exist: being able to build
ecpg with reasonably-standard tools?

I think you should be setting more weight on that concern than on
supporting obscure backend commands (some of which didn't even exist in
7.2, and therefore are certainly not depended on by any ecpg user...)
        regards, tom lane


Re: ECPG

От
Michael Meskes
Дата:
On Mon, Sep 23, 2002 at 09:56:59AM -0400, Tom Lane wrote:
> What about removing this feature that used to exist: being able to build
> ecpg with reasonably-standard tools?

How many people do use bison themselves? Most people I talked to use the
precompiled preproc.c.

> I think you should be setting more weight on that concern than on
> supporting obscure backend commands (some of which didn't even exist in
> 7.2, and therefore are certainly not depended on by any ecpg user...)

Which of course would also mean spending quite some time to remove
features that have to be added again once bison is released.

I will try to get some info from the bison people about the release
date.

Michael

-- 
Michael Meskes
Michael@Fam-Meskes.De
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!


Re: ECPG

От
Tom Lane
Дата:
Michael Meskes <meskes@postgresql.org> writes:
> On Mon, Sep 23, 2002 at 09:56:59AM -0400, Tom Lane wrote:
>> What about removing this feature that used to exist: being able to build
>> ecpg with reasonably-standard tools?

> How many people do use bison themselves?

*Everyone* who checks out from our CVS needs to build the bison output
files.  There seem to be quite a few such people; they will all be
forced to upgrade their local bison installations when ecpg starts
requiring a newer bison.

> I will try to get some info from the bison people about the release
> date.

I just this morning got this response from Akim Demaille concerning a
portability problem in bison 1.49b:

| Thanks for the report, this is addressed in 1.49c.  We should upload
| the latter soon.

So I'm guessing that a full release is not just around the corner :-(
        regards, tom lane


Re: ECPG

От
Michael Meskes
Дата:
On Tue, Sep 24, 2002 at 09:53:10AM -0400, Tom Lane wrote:
> *Everyone* who checks out from our CVS needs to build the bison output
> files.  There seem to be quite a few such people; they will all be

I though time stamping is done to make sure the .c file is newer than
the .y one.

> forced to upgrade their local bison installations when ecpg starts
> requiring a newer bison.

Valid point.

> | Thanks for the report, this is addressed in 1.49c.  We should upload
> | the latter soon.
> 
> So I'm guessing that a full release is not just around the corner :-(

Argh.

But when we remove features from ecpg I would prefer to just remove
pretty obscure stuff and stuff introduced after 7.2 was released so we
won't break much. Does anyone have a list of newly added commands? Or do
I have to get the diff from CVS?

Michael

-- 
Michael Meskes
Michael@Fam-Meskes.De
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!