Обсуждение: parser: parse error at or near... with create table

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

parser: parse error at or near... with create table

От
"Mengelbier, Magnus"
Дата:
Hello all !

We wonder if any one has experience from an error (which is probably a
newbie misstake on our part) that pops up when we are trying to create a
simple table with pgAccess in a postgreSQL database.  We have recieved the
same type of error on more complex table builds.  The message is ...
Error executing query
create table "asdfs" ("fds" serial   NOT NULL )PostgreSQL error message:    Error: parser: parse error at or near
"not"
PostgreSQL status: PGRES_FATAL_ERROR

We are running ...

- PostgreSQL 6.5.1 on Red Hat Linux 6.0 ... we installed binaries downloaded
from posgresql.org and not compiled source code.

- pgAccess 0.96 on the same Red Hat Linux system as well as a Win95
computer.  Win95 has tcl/tk 8.0 installed.  

Thanks !

Magnus

________________________________________________________
Magnus Mengelbier
Technical Consultant
Clinical Data Care
S:t Lars v. 41
SE-222 70 LUND
SWEDEN
Phone    +46 46 14 22 80
Fax    +46 46 13 04 90
Email    magnus.mengelbier@clinicaldatacare.com
Web    http://www.clinicaldatacare.com




Re: [INTERFACES] parser: parse error at or near... with create table

От
Thomas Lockhart
Дата:
> We wonder if any one has experience from an error (which is probably a
> newbie misstake on our part) that pops up when we are trying to create a
> simple table with pgAccess in a postgreSQL database.  We have recieved the
> same type of error on more complex table builds.  The message is ...
>         Error executing query
>         create table "asdfs" ("fds" serial   NOT NULL )
>         PostgreSQL error message:
>                 Error: parser: parse error at or near "not"
>         PostgreSQL status: PGRES_FATAL_ERROR

By definition, the SERIAL type is NOT NULL, so I didn't bother
allowing that clause in the parser. If you would like to see this
feature documented, send patches on docs/src/sgml/datatype.sgml. Or
maybe we should allow it, but it *is* redundant ;)
                  - Thomas

-- 
Thomas Lockhart                lockhart@alumni.caltech.edu
South Pasadena, California


Re: [INTERFACES] parser: parse error at or near... with create table

От
Tom Lane
Дата:
"Mengelbier, Magnus" <Magnus.Mengelbier@clinicaldatacare.com> writes:
>     Error executing query
>     create table "asdfs" ("fds" serial   NOT NULL )
>     PostgreSQL error message:
>         Error: parser: parse error at or near "not"

Hmm.  NOT NULL is implied by SERIAL column type, so you can just omit
that clause, but it's irritating that the parser won't accept the
explicit specification.  It looks like the grammar is set up to allow
no column constraints except PRIMARY KEY after SERIAL.  That seems
unnecessarily restrictive...
        regards, tom lane


Re: [INTERFACES] parser: parse error at or near... with create table

От
"D'Arcy" "J.M." Cain
Дата:
Thus spake Thomas Lockhart
> >         create table "asdfs" ("fds" serial   NOT NULL )
> By definition, the SERIAL type is NOT NULL, so I didn't bother
> allowing that clause in the parser. If you would like to see this
> feature documented, send patches on docs/src/sgml/datatype.sgml. Or
> maybe we should allow it, but it *is* redundant ;)

Given that serial is currently a hack and we plan to implement a real
serial type, we should consider what the real type will do.  Is it
still going to be special?  Will it act exactly as it does now?  Once
we determine that then we just make the parser accept what it will
need to accept then so that people can write their queries the way
they will have to then.

I guess the main question is, will we allow the serial type to be NULL.
If not will we allow the NOT NULL phrase anyway to simplify the grammar.
If yes to either then let's allow the phrase now.

-- 
D'Arcy J.M. Cain <darcy@{druid|vex}.net>   |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 424 2871     (DoD#0082)    (eNTP)   |  what's for dinner.


Re: [INTERFACES] parser: parse error at or near... with create table

От
"Brendan McKenna"
Дата:
Hi,
My quick $0.02 worth...
: 
: I guess the main question is, will we allow the serial type to be NULL.
: If not will we allow the NOT NULL phrase anyway to simplify the grammar.
: If yes to either then let's allow the phrase now.
: 
I don't see how you can allow a serial value to be null, since that 
would defeat the purpose of a serial (presuming there were more than one 
NULL-valued serial in a table).  I just don't see how, logically, a serial 
could allow NULLs (even if it may be desirable in some cases).
On the other hand, I would allow the NOT NULL phrase, even though 
it's redundant.

                        Brendan
-- 
Brendan McKenna    
Technical Director            Phone: +353-(0)61-338177 x4143
W3 Services Ltd.              Fax: +353-(0)61-338065
Innovation Centre            Email: brendan@w3s.ie
National Technological Park
Limerick
Ireland