BIT/BIT VARYING names (was Re: [HACKERS] Beta for 4:30AST)
От | Tom Lane |
---|---|
Тема | BIT/BIT VARYING names (was Re: [HACKERS] Beta for 4:30AST) |
Дата | |
Msg-id | 1213.951925927@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] Beta for 4:30AST ... ? (Peter Eisentraut <e99re41@DoCS.UU.SE>) |
Ответы |
Re: BIT/BIT VARYING names (was Re: [HACKERS] Beta for 4:30AST)
|
Список | pgsql-hackers |
Peter Eisentraut <e99re41@DoCS.UU.SE> writes: > All I'm saying is that we add > | BIT VARYING { $$ = "bit varying"; } > No problem so far, right? Especially, if this is dumped out, then it > becomes bit varying without any extra effort. Well, no, it becomes "bit varying", *with* quotes, if the dumper is not broken. (Unless we special-case the dumper to know that this particular typename doesn't need to be quoted despite its embedded space --- but that's what you hoped to avoid.) So there's no automatic way of producing a completely SQL-compliant dump for this type name, and that removes what would otherwise be (IMHO) the strongest argument for making the internal name be "bit varying" and not "varbit" or whatever. A much more significant problem for this particular datatype is that it requires special syntax regardless, namely a length spec like the ones for char and varchar: <bit string type> ::= BIT [ <left paren> <length> <right paren> ] | BIT VARYING <left paren><length> <right paren> Currently, char and numeric (the existing types that need length specifications) have to be special-cased everywhere in order to parse or append the length info. I foresee the same will be needed for bit and bit varying. If you can find a way to avoid that special-case logic, I'll get a lot more excited about not having to treat "bit varying" as a special-case name. regards, tom lane
В списке pgsql-hackers по дате отправления: