From:
"Thomas G(dot) Lockhart" <lockhart(at)alumni(dot)caltech(dot)edu>
To:
Hannu Krosing <hannu(at)trust(dot)ee>
Cc:
Vadim Mikheev <vadim(at)krs(dot)ru>, hackers(at)postgreSQL(dot)org
Subject:
Re: [INTERFACES] Re: [HACKERS] changes in 6.4
Date:
1998-07-16 13:36:01
Message-ID:
35AE01C1.DFC343BA@alumni.caltech.edu (view raw or flat )
Thread:
1998-07-14 13:01:11 from t-ishii(at)sra(dot)co(dot)jp (Tatsuo Ishii)
1998-07-14 13:42:47 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-07-14 15:09:29 from "Thomas G(dot) Lockhart" <lockhart(at)alumnus(dot)caltech(dot)edu>
1998-07-14 15:37:17 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-07-15 10:04:26 from Herouth Maoz <herouth(at)oumail(dot)openu(dot)ac(dot)il>
1998-07-15 14:42:00 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-07-15 19:52:25 from Hannu Krosing <hannu(at)trust(dot)ee>
1998-07-15 20:23:47 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-07-15 20:25:44 from Vadim Mikheev <vadim(at)krs(dot)ru>
1998-07-15 20:39:39 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-07-16 07:45:18 from Maarten Boekhold <maartenb(at)dutepp0(dot)et(dot)tudelft(dot)nl>
1998-07-16 08:30:11 from Hannu Krosing <hannu(at)trust(dot)ee>
1998-07-16 08:51:35 from Vadim Mikheev <vadim(at)krs(dot)ru>
1998-07-16 10:56:40 from Hannu Krosing <hannu(at)trust(dot)ee>
1998-07-16 13:36:01 from "Thomas G(dot) Lockhart" <lockhart(at)alumni(dot)caltech(dot)edu>
1998-07-16 18:29:26 from dg(at)illustra(dot)com (David Gould)
1998-07-16 18:37:17 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-07-15 20:40:56 from David Hartwig <daveh(at)insightdist(dot)com>
1998-07-15 21:02:40 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-07-16 10:35:30 from Aleksey Dashevsky <postgres(at)luckynet(dot)co(dot)il>
1998-07-16 15:33:35 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-07-16 17:27:03 from Peter T Mount <peter(at)retep(dot)org(dot)uk>
1998-07-15 22:16:02 from David Hartwig <daveh(at)insightdist(dot)com>
1998-07-15 23:39:05 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-07-16 01:22:33 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-07-16 08:41:47 from Hannu Krosing <hannu(at)trust(dot)ee>
1998-07-16 13:49:27 from "Thomas G(dot) Lockhart" <lockhart(at)alumni(dot)caltech(dot)edu>
1998-07-17 07:18:03 from Hannu Krosing <hannu(at)trust(dot)ee>
1998-07-16 17:30:25 from Peter T Mount <peter(at)retep(dot)org(dot)uk>
1998-08-22 03:53:39 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-08-23 23:55:29 from David Hartwig <daybee(at)bellatlantic(dot)net>
1998-08-29 03:44:04 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1998-08-30 15:40:31 from David Hartwig <daybee(at)bellatlantic(dot)net>
1998-08-31 06:53:12 from Sbragion Denis <infotecn(at)tin(dot)it>
1999-09-18 20:10:11 from Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
1999-09-19 11:17:49 from "Jason Doller" <jason(at)intekom(dot)co(dot)za>
1999-09-19 14:57:40 from "Brett W(dot) McCoy" <bmccoy(at)lan2wan(dot)com>
Lists:
pgsql-general pgsql-hackers pgsql-interfaces
> > TRIM is keyword, not a function...
> > We have to copy some lines in gram.y
> Wow! is this standard ?
> I found the function trim by doing 'select oprname from pg_oper'
> and tested it as follows:
>
> hannu=> select trim(' x ');
> btrim
> -----
> x
> (1 row)
> why is the column called btrim ?
> some rewrite magic in parser ?
> If it must stay a keyword, then perhaps we should remove the proc ?
Uh, yes, I think you are right. Here's why:
The SQL92 syntax for the trim() function is as follows:
TRIM([LEADING|TRAILING|BOTH] [char FROM] string)
This syntax is _not_ the clean "function(arg1,arg2,...)" syntax that the
parser could handle without change, so I had to make TRIM a keyword in
the parser and explicitly decode the possible argument phrases.
To implement all possibilities, I transform the function in the parser
to the functions btrim(), rtrim(), and ltrim() implemented earlier by
Edmund Mergl as the "Oracle compatibility functions".
I'll add TRIM() and the other goofy pseudo-functions to the CHECK
syntax, and take the trim(arg1) declaration out of pg_proc since it can
never get executed.
Oh, btw we allow trimming strings from strings, not just trimming chars
from strings :)
- Tom
In response to
pgsql-hackers by date
Next :From: Thomas G. LockhartDate: 1998-07-16 13:49:27
Subject : Re: [INTERFACES] Re: [HACKERS] changes in 6.4
Previous :From : Hannu KrosingDate : 1998-07-16 10:56:40
Subject : Re: [INTERFACES] Re: [HACKERS] changes in 6.4
pgsql-interfaces by date
Next :From: Thomas G. LockhartDate: 1998-07-16 13:41:00
Subject : Re: [INTERFACES] ecpg SQL-return codes?
Previous :From : Telephone VdB Foods LtdDate : 1998-07-16 12:58:58
Subject : RE: [ INTERFACES ] What technology ????
pgsql-general by date
Next :From: Thomas G. LockhartDate: 1998-07-16 13:49:27
Subject : Re: [INTERFACES] Re: [HACKERS] changes in 6.4
Previous :From : Hannu KrosingDate : 1998-07-16 10:56:40
Subject : Re: [INTERFACES] Re: [HACKERS] changes in 6.4