Re: Patch for jdbc escaped functions

From: Kris Jurka <books(at)ejurka(dot)com>
To: Xavier Poinsard <xpoinsard(at)free(dot)fr>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Patch for jdbc escaped functions
Date: 2004-11-20 04:47:41
Message-ID: Pine.BSO.4.56.0411192332570.303@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2004-11-20 11:11:57 Re: [JDBC] Strange server error with current 8.0beta driver
Previous Message Barry Lind 2004-11-20 01:40:04 Re: [JDBC] Strange server error with current 8.0beta driver