Thread: union problem version 6.5.3
Probably it is of interest for jou, or i did something very stupid: I had a little piece of code who works fine up till know, just after installing the version 6.5.3 i got the message 'parse error near union' create table work asselect * from opdrachtunionselect * from opdrachtproost I know i can solve the problem with insert into work in stead of the union keyword, but it is enoying that all the programs had to be recompiled many thanks, its a good product Frans
Frans Van Elsacker <fve@atbib.be> writes: > I had a little piece of code who works fine up till know, just after > installing > the version 6.5.3 i got the message 'parse error near union' > create table work as > select * from opdracht > union > select * from opdrachtproost Hmm, the grammar has CreateAsStmt: CREATE OptTemp TABLE relation_name OptCreateAs AS SubSelect and SubSelect doesn't allow unions. This is overly restrictive, I agree, but I thought it had been that way for a good while. What version were you using before? regards, tom lane
thanks for your quick answer, Our earlier version was postgresql 6.4.2 Regards, Frans At 10:34 12/11/99 -0500, Tom Lane wrote: >Frans Van Elsacker <fve@atbib.be> writes: >> I had a little piece of code who works fine up till know, just after >> installing >> the version 6.5.3 i got the message 'parse error near union' > >> create table work as >> select * from opdracht >> union >> select * from opdrachtproost > >Hmm, the grammar has > >CreateAsStmt: CREATE OptTemp TABLE relation_name OptCreateAs AS SubSelect > >and SubSelect doesn't allow unions. This is overly restrictive, >I agree, but I thought it had been that way for a good while. >What version were you using before? > > regards, tom lane > >************ > >
Frans Van Elsacker <fve@atbib.be> writes: > Our earlier version was postgresql 6.4.2 OK, I thought the change was older than that. It probably got into 6.5 as a side-effect of incorporating the INTERSECT/EXCEPT feature. Anyway, we ought to try to restore the old functionality. regards, tom lane >> Hmm, the grammar has >> >> CreateAsStmt: CREATE OptTemp TABLE relation_name OptCreateAs AS SubSelect >> >> and SubSelect doesn't allow unions. This is overly restrictive, >> I agree, but I thought it had been that way for a good while. >> What version were you using before?
>>> Hmm, the grammar has >>> >>> CreateAsStmt: CREATE OptTemp TABLE relation_name OptCreateAs AS SubSelect >>> >>> and SubSelect doesn't allow unions. This is overly restrictive, As far as I can tell, it should work to just change the above line in src/backend/parser/gram.y to CreateAsStmt: CREATE OptTemp TABLE relation_name OptCreateAs AS SelectStmt I am doing this in current sources right now. I have not tried it in REL6_5, but if the problem is getting in your way then give it a try... regards, tom lane