| From: | "Xavier Poinsard" <xpoinsard(at)free(dot)fr> |
|---|---|
| To: | Kris Jurka <books(at)ejurka(dot)com> |
| Cc: | pgsql-jdbc(at)postgresql(dot)org |
| Subject: | Re: random escape function |
| Date: | 2007-04-11 08:51:05 |
| Message-ID: | 461CA179.8010602@free.fr |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-jdbc |
Ok, you can remove this mapping.
Kris Jurka a écrit :
>
> The escape function {fn rand(param)} isn't working on 8.3 servers
> because setseed has been changed to return void and reading the JDBC
> spec, I'm not sure it ever worked as required.
>
> We map "SELECT {fn rand(0.5)}" to "SELECT setseed(0.5)*0+random()" which
> worked in previous servers because the setseed call returned an int.
> Now we get "ERROR: operator does not exist: void * integer". So that's
> our immediate problem, but looking a little closer at the spec shows
> that rand is supposed to take an integer argument, not a float limited
> to 0->1. So at minimum we'd need to remap the parameter range.
>
> Also the spec doesn't say what rand is actually supposed to do. What is
> the purpose of providing a rand function if you have to supply a seed
> every single time. The seed has to be random, so where does that come
> from? Is the idea that you pass the same seed every time and get the
> next value from that seed's stream?
>
> Given the above functional and definitional problems I think the easiest
> course of action is to simply remove the mapping.
>
> Kris Jurka
>
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Hartmut Benz | 2007-04-11 10:52:42 | Re: Small addition to PGInterval |
| Previous Message | Radim Kolar SF.NET | 2007-04-11 08:31:34 | scrollable result sets performance problems |