Обсуждение: RE: [HACKERS] Re: [QUESTIONS] Practical SQL Handbook - demo scrip t for postgreSQL
RE: [HACKERS] Re: [QUESTIONS] Practical SQL Handbook - demo scrip t for postgreSQL
От
"Jackson, DeJuan"
Дата:
> > > > The NULL contraint: PostgreSQL only allows NOT NULL (NULL being > > > > the default). I altered the backend grammar for this one. > > > > > > Patch? > > > > OK. The patch to gram.y is almost certainly wrong: it's just a hack > > to get NULL acceptable---it should surely go in the same place as > the > > check for NOT NULL. > > Yes, and no. Putting the grammar where you did disallows any other > clauses, such as DEFAULT or CONSTRAINT, in the declaration. Trying to > put it in the proper place results in shift/reduce conflicts, since it > is ambiguous with other allowed syntax. > > btw, afaik this is not SQL92 anyway... > > > The floating point literal change is probably right, but it may > break > > things (it may well cause more things to be regarded as floats than > > should be). Again, somebody who knows about this stuff definitely > > needs to check. > > > > I hope this helps all the same. > > Yes it does! I've got a more general floating patch to apply, but > would > not have done it without your prompting. Discussion and proposals are > how we progress. Good work. > > Don't know how or if we want to proceed with a bare "NULL" clause. > Should we bother with a special case of _only_ NULL in a declaration, > as > in Bruce's patch? Continuing with the discussion/proposal theme: I vote yes for the bare NULL if it can be done with a minimum of hassle. It would at the very least improve compatibility with SYBASE AND MS SQL Server. I know that these aren't goals, but it doesn't hurt to have it happen. Could someone check the Create table syntax and see if it's SQL92 (I have a suspicion that it is). I'm not sure about the 'shift/reduce', but couldn't you interpret the NULL not preceded by NOT in a CREATE TABLE /ALTER TABLE as an empty string. I'm assuming here that the NOT NULL is treated as one token in the grammar/parser. -DEJ