Обсуждение: Bug report: PL/pgSQL and mixed case table/field names.
============================================================================ POSTGRESQL BUG REPORTTEMPLATE ============================================================================ Your name : Billy G. Allie Your email address : Bill.Allie@mug.org System Configuration --------------------- Architecture (example: Intel Pentium) : Intel i486DX2 Operating System (example: Linux 2.0.26 ELF) : UnixWare 7.0.1 PostgreSQL version (example: PostgreSQL-6.4) : PostgreSQL-6.4 Compiler used (example: gcc 2.8.0) : Optimizing C Compilation Sys. (CCS) 3.2 08/18/98 (u701) Please enter a FULL description of your problem: ------------------------------------------------ PL/pgSQL functions will fail to run if a table with a mixed case name is used/referenced. Please describe a way to repeat the problem. Please try to provide a concise reproducible example, if at all possible: ---------------------------------------------------------------------- $ psql mug <test.func CREATE FUNCTION "In_Committees" ("int4" ) RETURNS "text" AS ' DECLARE committee_rec "Committees"%ROWTYPE; BEGIN SELECT * INTO committee_rec FROM Committees WHERE CommitteeID = $1; IF NOT FOUND THEN RETURN ''FALSE''; END IF; RETURN ''TRUE''; END;' LANGUAGE 'plpgsql'; CREATE select "In_Committees" (2); NOTICE: plpgsql: ERROR during compile of In_Committees near line 2 ERROR: parse error at or near """ EOF $ If you know how this problem might be fixed, list the solution below: --------------------------------------------------------------------- -- ____ | Billy G. Allie | Domain....: Bill.Allie@mug.org | /| | 7436 Hartwell | Compuserve: 76337,2061 |-/-|----- | Dearborn, MI 48126| MSN.......: B_G_Allie@email.msn.com |/ |LLIE | (313) 582-1540 | -- ____ | Billy G. Allie | Domain....: Bill.Allie@mug.org | /| | 7436 Hartwell | Compuserve: 76337,2061 |-/-|----- | Dearborn, MI 48126| MSN.......: B_G_Allie@email.msn.com |/ |LLIE | (313) 582-1540 |
Can someone comment on this? > ============================================================================ > POSTGRESQL BUG REPORT TEMPLATE > ============================================================================ > > > Your name : Billy G. Allie > Your email address : Bill.Allie@mug.org > > > System Configuration > --------------------- > Architecture (example: Intel Pentium) : Intel i486DX2 > > Operating System (example: Linux 2.0.26 ELF) : UnixWare 7.0.1 > > PostgreSQL version (example: PostgreSQL-6.4) : PostgreSQL-6.4 > > Compiler used (example: gcc 2.8.0) : Optimizing C Compilation Sys. > (CCS) 3.2 08/18/98 (u701) > > > Please enter a FULL description of your problem: > ------------------------------------------------ > PL/pgSQL functions will fail to run if a table with a mixed case name is > used/referenced. > > > Please describe a way to repeat the problem. Please try to provide a > concise reproducible example, if at all possible: > ---------------------------------------------------------------------- > $ psql mug <test.func > CREATE FUNCTION "In_Committees" ("int4" ) RETURNS "text" AS ' > DECLARE > committee_rec "Committees"%ROWTYPE; > BEGIN > SELECT * INTO committee_rec FROM Committees WHERE CommitteeID = $1; > IF NOT FOUND THEN > RETURN ''FALSE''; > END IF; > RETURN ''TRUE''; > END;' LANGUAGE 'plpgsql'; > CREATE > > select "In_Committees" (2); > NOTICE: plpgsql: ERROR during compile of In_Committees near line 2 > ERROR: parse error at or near """ > EOF > $ > > > If you know how this problem might be fixed, list the solution below: > --------------------------------------------------------------------- > > > > -- > ____ | Billy G. Allie | Domain....: Bill.Allie@mug.org > | /| | 7436 Hartwell | Compuserve: 76337,2061 > |-/-|----- | Dearborn, MI 48126| MSN.......: B_G_Allie@email.msn.com > |/ |LLIE | (313) 582-1540 | > > > > -- > ____ | Billy G. Allie | Domain....: Bill.Allie@mug.org > | /| | 7436 Hartwell | Compuserve: 76337,2061 > |-/-|----- | Dearborn, MI 48126| MSN.......: B_G_Allie@email.msn.com > |/ |LLIE | (313) 582-1540 | > > [application/pgp-signature is not supported, skipping...] -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
Re: [HACKERS] Bug report: PL/pgSQL and mixed case table/field names.
От
jwieck@debis.com (Jan Wieck)
Дата:
Bruce Momjian wrote: > Can someone comment on this? > > > ============================================================================ > > POSTGRESQL BUG REPORT TEMPLATE > > ============================================================================ > > > > > > Your name : Billy G. Allie > > Your email address : Bill.Allie@mug.org > > [...] > > > > Please enter a FULL description of your problem: > > ------------------------------------------------ > > PL/pgSQL functions will fail to run if a table with a mixed case name is > > used/referenced. > > > > > > Please describe a way to repeat the problem. Please try to provide a > > concise reproducible example, if at all possible: > > ---------------------------------------------------------------------- > > $ psql mug <test.func > > CREATE FUNCTION "In_Committees" ("int4" ) RETURNS "text" AS ' > > DECLARE > > committee_rec "Committees"%ROWTYPE; > > BEGIN > > SELECT * INTO committee_rec FROM Committees WHERE CommitteeID = $1; > > IF NOT FOUND THEN > > RETURN ''FALSE''; > > END IF; > > RETURN ''TRUE''; > > END;' LANGUAGE 'plpgsql'; > > CREATE > > > > select "In_Committees" (2); > > NOTICE: plpgsql: ERROR during compile of In_Committees near line 2 > > ERROR: parse error at or near """ > > EOF > > $ Sure :-( PL/pgSQL's scanner/parser does not handle double quoted syntax for case mixed object names. Not a real bug, just a lack. Please add to TODO. Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #======================================== jwieck@debis.com (Jan Wieck) #
> PL/pgSQL's scanner/parser does not handle double quoted > syntax for case mixed object names. Not a real bug, just a > lack. Please add to TODO. Added to TODO:* plpgsql does not handle quoted mixed-case identifiers -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026