Обсуждение: PGAccess/pgplsql Blues
Folks,
I've been having an annoying problem that I'm hoping someone else has
had and solved:
When I edit some of my more complex plpgsql functions using PGAccess,
the functions break and cannot be made to work again except by reloading
them from PLSQL/text. All attempts to use the function after PGAccess
editing are met with: 'Parse error at or near ""'
Once the *identical* function text is reloaded via PSQL command-line,
however, the function works.
I'm using Postgres 7.1 RC2 and PGAccess 0.98.5.
-Josh
______AGLIO DATABASE SOLUTIONS___________________________ Josh Berkus Complete
informationtechnology josh@agliodbs.com and data management solutions (415) 565-7293 for law firms, small
businesses fax 621-2533 and non-profit organizations. San Francisco
"Josh Berkus" <josh@agliodbs.com> writes:
> When I edit some of my more complex plpgsql functions using PGAccess,
> the functions break and cannot be made to work again except by reloading
> them from PLSQL/text. All attempts to use the function after PGAccess
> editing are met with: 'Parse error at or near ""'
Hmm, is it possible PGAccess is DOS-ifying the newlines?
At one point I fixed plpgsql to accept DOS-style newlines, but maybe
someone broke it again. Or maybe that's not the problem, but it's
worth checking.
regards, tom lane
On Fri, Jun 01, 2001 at 09:30:40AM -0700, Josh Berkus wrote: > > When I edit some of my more complex plpgsql functions using PGAccess, > the functions break and cannot be made to work again except by reloading > them from PLSQL/text. All attempts to use the function after PGAccess > editing are met with: 'Parse error at or near ""' IIRC, pgaccess does quote-escaping for you, so if you try to write "standard" PL/pgSQL (escaping single quotes), it'll barf this error. Just something to check. -Roberto -- +----| http://fslc.usu.edu USU Free Software & GNU/Linux Club |------+ Roberto Mello - Computer Science, USU - http://www.brasileiro.net http://www.sdl.usu.edu - Space Dynamics Lab, Developer I'm only a droid and not very knowledgeable about such things.
Roberto, > IIRC, pgaccess does quote-escaping for you, so if you try to write > "standard" PL/pgSQL (escaping single quotes), it'll barf this error. > > Just something to check. Thanks. This doesn't seem to be the case; it seems to be a translation problem: 1. Test fn_save_order: it's working. 2. Open fn_save_order in PGAccess. 3. Add '--test comment' on its own line. 4. Save fn_save_order. 5. test it: "Parse Error at or near "" " Unfortunately, I can't afford to pay Constatin for debugging, so that's where things stand ... -Josh ______AGLIO DATABASE SOLUTIONS___________________________ Josh Berkus Complete informationtechnology josh@agliodbs.com and data management solutions (415) 565-7293 for law firms, small businesses fax 621-2533 and non-profit organizations. San Francisco
FYI, I could not reproduce this problem in the current CVS sources. I created a function 'select 1;' and saved it, then opened the function and added a comment line, saved that, and it worked fine. > Roberto, > > > IIRC, pgaccess does quote-escaping for you, so if you try to write > > "standard" PL/pgSQL (escaping single quotes), it'll barf this error. > > > > Just something to check. > > Thanks. This doesn't seem to be the case; it seems to be a translation > problem: > > 1. Test fn_save_order: it's working. > 2. Open fn_save_order in PGAccess. > 3. Add '--test comment' on its own line. > 4. Save fn_save_order. > 5. test it: "Parse Error at or near "" " > > Unfortunately, I can't afford to pay Constatin for debugging, so that's > where things stand ... > > -Josh > > > ______AGLIO DATABASE SOLUTIONS___________________________ > Josh Berkus > Complete information technology josh@agliodbs.com > and data management solutions (415) 565-7293 > for law firms, small businesses fax 621-2533 > and non-profit organizations. San Francisco > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > -- Bruce Momjian | http://candle.pha.pa.us pgman@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
Bruce,
Thanks for checking that. You actually missed the beginning of
the issue; it only crops up with long, complex functions > 100 lines
including nested text quoting.
I'm getting out of the habit of using PGAccess for anything but
table lookups, anyway, so it's not worth it to me to hunt down the
issue.
-Josh
> FYI, I could not reproduce this problem in the current CVS sources.
>
> I created a function 'select 1;' and saved it, then opened the
> function
> and added a comment line, saved that, and it worked fine.
>
> > Roberto,
> >
> > > IIRC, pgaccess does quote-escaping for you, so if you try to
> write
> > > "standard" PL/pgSQL (escaping single quotes), it'll barf this
> error.
> > >
> > > Just something to check.
> >
> > Thanks. This doesn't seem to be the case; it seems to be a
> translation
> > problem:
> >
> > 1. Test fn_save_order: it's working.
> > 2. Open fn_save_order in PGAccess.
> > 3. Add '--test comment' on its own line.
> > 4. Save fn_save_order.
> > 5. test it: "Parse Error at or near "" "
> >
> > Unfortunately, I can't afford to pay Constatin for debugging, so
> that's
> > where things stand ...
> >
> > -Josh
> >
> >
> > ______AGLIO DATABASE SOLUTIONS___________________________
> > Josh Berkus
> > Complete information technology josh@agliodbs.com
> > and data management solutions (415) 565-7293
> > for law firms, small businesses fax 621-2533
> > and non-profit organizations. San Francisco
> >
> > ---------------------------(end of
> broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister
> command
> > (send "unregister YourEmailAddressHere" to
> majordomo@postgresql.org)
> >
>
> --
> Bruce Momjian | http://candle.pha.pa.us
> pgman@candle.pha.pa.us | (610) 853-3000
> + If your life is a hard drive, | 830 Blythe Avenue
> + Christ can be your backup. | Drexel Hill, Pennsylvania
> 19026
______AGLIO DATABASE SOLUTIONS___________________________ Josh Berkus Complete
informationtechnology josh@agliodbs.com and data management solutions (415) 565-7293 for law firms, small
businesses fax 621-2533 and non-profit organizations. San Francisco