Re: Patch for jdbc escaped functions - Mailing list pgsql-jdbc

From Kris Jurka
Subject Re: Patch for jdbc escaped functions
Date
Msg-id Pine.BSO.4.56.0411192332570.303@leary.csoft.net
Whole thread Raw
In response to Patch for jdbc escaped functions  (Xavier Poinsard <xpoinsard@free.fr>)
Responses Re: Patch for jdbc escaped functions
List pgsql-jdbc

On Fri, 19 Nov 2004, Xavier Poinsard wrote:

> Hi,
> I saw that escaped functions were on the TODO list.
> Here is a patch that prepare for adding escaped functions.
> It supports nested escapes.
> As example I have coded the concat function.
> Tests and metadata updates are included.
> If the patch is accepted, I will add more functions.
> Any comments are welcome.
>

This code is not quite right in its determination of function arguments
because it stops checking for literal and identifier markers.
Consider that {fn concat('(', a."(")} should work.

I also don't like the prospect of a giant if/else block that has every
function that must do some kind of mapping/translation.  What about a more
pluggable architecture perhaps along the lines of the following:

public interface StandardFunction {
    public void toSQL(StringBuffer sb, ArrayList args);
}

Then a static HashMap of say lowercase function name -> StandardFunction
implementation can move all of the mapping/translation into a separate
place.  Maybe that's overkill in the opposite direction.  Thoughts?

Kris Jurka

pgsql-jdbc by date:

Previous
From: Xavier Poinsard
Date:
Subject: Patch for jdbc escaped functions
Next
From: Oliver Jowett
Date:
Subject: Re: Strange server error with current 8.0beta driver