| 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: | Whole Thread | Raw Message | 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
| 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 |