Re: [pgadmin-support] Missing defaults for function arguments

From: Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>, pgadmin-support(at)postgresql(dot)org, Michal Kozusznik <kozusznik(dot)michal(at)ifortuna(dot)cz>
Subject: Re: [pgadmin-support] Missing defaults for function arguments
Date: 2012-06-11 16:43:07
Message-ID: CAG7mmowkj+wZ8rsMJjZs3UFp_hmqETfN3fRkCyk45V4d6vengg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers pgadmin-support

On Mon, Jun 11, 2012 at 10:07 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:

> On Mon, Jun 11, 2012 at 5:32 PM, Ashesh Vashi
> <ashesh(dot)vashi(at)enterprisedb(dot)com> wrote:
> > On Mon, Jun 11, 2012 at 6:30 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
> >>
> >>
> >>
> >> On Sun, Jun 10, 2012 at 6:57 PM, Ashesh Vashi
> >> <ashesh(dot)vashi(at)enterprisedb(dot)com> wrote:
> >>>
> >>> Hi Dave/Guillaume,
> >>>
> >>> Please find the attached patch to resolve this issue.
> >>> In the following commit - the file was modified and we were not able to
> >>> spot the issue earlier.
> >>> a265fb2977253fce436e276320d337425639384c
> >>>
> >>> It can be applied to both branches - REL-1_14_0_PATCHES & master.
> >>>
> >>
> >> I'm not sure I see how this will work. From what I can see of the patch,
> >> it'll use the column name proargdefvals for PPAS 8.3+ and
> proargdefaults for
> >> PG. However;
> >>
> >> - PPAS 8.3 uses proargdefvals
> >> - PPAS 9.0 uses proargdefaults (I don't have 8.4 to hand, but I assume
> it
> >> took the new PG naming)
> >> - PostgreSQL uses proargdefaults.
> >>
> >> So, shouldn't the code be something more like:
> >>
> >> wxString defCol;
> >>
> >> if (EdbMinimumVersion(8, 3))
> >> {
> >> defCol = wxT("'proargdefvals'");
> >> }
> >>
> >> if (BackendMinimumVersion(8, 4))
> >> {
> >> defCol = wxT("'proargdefaults'");
> >> }
> >>
> >> Please check PPAS 8.4, and update the patch accordingly (assuming you
> >> agree with my comments).
> >
> > Only PPAS 8.3 uses, 'proargdefvals' for default arguments.
> > PG 8.4+ uses 'proargdefaults' for it and PPAS 8.4+adopted it from PG 8.4.
> >
> > As per your suggestion, if we set the string for defCol only for
> particular
> > version of database server.
> > The variable - defCol will be empty for PG < 8.4 (not PPAS).
> > And, the query following the variable assignment will result in to an
> error
> > all the time for those servers.
>
> OK, I didn't look at the function any further. In that case, what
> about something like:
>
> wxString defCol = wxT("'proargdefaults'");
>
> if (EdbMinimumVersion(8, 3) && !EdbMinimumVersion(8, 4))
> {
> defCol = wxT("'proargdefvals'");
> }
>
You're right.
I made the mistake here.
Here is the updated patch.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company<http://www.enterprisedb.com/>

*http://www.linkedin.com/in/asheshvashi*

>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

Attachment Content-Type Size
Default_value_pg-8.4.patch application/octet-stream 715 bytes

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2012-06-11 17:00:42 pgAdmin III commit: Fix function default value handling.
Previous Message Dave Page 2012-06-11 16:37:00 Re: [pgadmin-support] Missing defaults for function arguments

Browse pgadmin-support by date

  From Date Subject
Next Message Dave Page 2012-06-11 17:02:22 Re: [pgadmin-support] Missing defaults for function arguments
Previous Message Dave Page 2012-06-11 16:37:00 Re: [pgadmin-support] Missing defaults for function arguments