Re: FWD: tinterval vs interval on pgsql-novice
От | Thomas Lockhart |
---|---|
Тема | Re: FWD: tinterval vs interval on pgsql-novice |
Дата | |
Msg-id | 3A23E970.8EE1C84B@alumni.caltech.edu обсуждение исходный текст |
Ответ на | Re: FWD: tinterval vs interval on pgsql-novice (Thomas Lockhart <lockhart@alumni.caltech.edu>) |
Список | pgsql-hackers |
Tom Lane wrote: > > Thomas Lockhart <lockhart@alumni.caltech.edu> writes: > >> I see it does fail, but I'm at a complete loss to understand why, > >> especially given that the first case still works. The grammar looks > >> perfectly fine AFAICT. Can you explain what's wrong here? > > > Here is what I'm planning on doing (already tested, but not committed). > > I'm adding some productions to the func_name rule in gram.y to handle > > the various "stringy operators" such as LIKE and OVERLAPS. These tokens > > will also be allowed in the ColLabel rule (as several are already). > > This fixes the immediate problem, and makes LIKE handling more > > consistant with other special functions. Comments? > That all sounds fine, but it doesn't seem to fix the problem I'm looking > at, which is that the OVERLAPS production is broken in current sources: Yes it does. When you execute select (timestamp 'today', interval '1 day') OVERLAPS (timestamp 'yesterday', timestamp 'tomorrow'); This is matched up with an entry in pg_proc which declares an SQL language implementation as 'select overlaps($1, ($1+$2), $3, $4)' which is what fails. It may be better to declare this as 'select ($1, ($1+$2)) overlaps ($3, $4)' but that is not what is there now. I've just tested the latter form and it seems to work, so I'll include that in my next patchball. - Thomas
В списке pgsql-hackers по дате отправления: