Thread: JDBC Scalar functions

JDBC Scalar functions

From
"Rajat Katyal"
Date:
Hi,
 
From the JDBC specification I came to know that we can use JDBC scalar functions(String, numeric and Date/time functions) to avoid database dependency as the driver will map the JDBC scalar function (escaped function) call into the native syntax or implement the function directly.
 
In postgresql, I tried executing these functions (JDBC Scalar functions) but they are not executing. Even if we use DatabaseMetadata functions getStringFunctions(), getNumericFunctions() etc they returned null. Iam using pg73jdbc3.jar driver and PostgreSQL 7.3.2 database.  
 
When I tried such functions on Oracle and SqlServer2000 using there respective driver they worked fine. For example:

{fn concat("Hot", "Java")}

{fn user()} etc.....

My question is:

Whether Postgres Driver supports JDBC Scalar functions or not?

If not then is there any other way to execute them so that we can make our query database independent.

Please reply me at ur earliest.

Thanks in advance.

Regards,

Rajat Katyal.

Re: JDBC Scalar functions

From
Xavier Poinsard
Date:
Rajat Katyal wrote:
> Hi,
>
>  From the JDBC specification I came to know that we can use JDBC scalar
> functions(String, numeric and Date/time functions) to avoid database
> dependency as the driver will map the JDBC scalar function (escaped
> function) call into the native syntax or implement the function directly.
>
> In *postgresql*, I tried executing these functions (JDBC Scalar
> functions) but they are not executing. Even if we use /DatabaseMetadata/
> functions *getStringFunctions*(), *getNumericFunctions*() etc they
> returned */null/*. Iam using *pg73jdbc3.jar driver and **PostgreSQL
> 7.3.2 database.* *  *

=> functions *getStringFunctions*(), *getNumericFunctions*() are
correctly indicating that none is implemented.

> **
> When I tried such functions on Oracle and SqlServer2000 using there
> respective driver they worked fine. For example:
>
> {fn concat("Hot", "Java")}
>
> {fn user()} etc.....
>
> /My question is:/
>
> *Whether Postgres Driver supports JDBC Scalar functions or not? *
No.

>
> */If not then is there any other way to execute them so that we can make
> our query database independent./*
To build you queries use functions which will use jdbc scalar functions
for drivers that support them and specific sql for other.

>
> Please reply me at ur earliest.
>
> Thanks in advance.
>
> Regards,
>
> Rajat Katyal.
>