random escape function
От | Kris Jurka |
---|---|
Тема | random escape function |
Дата | |
Msg-id | Pine.BSO.4.64.0704110403090.13329@leary.csoft.net обсуждение исходный текст |
Ответы |
Re: random escape function
Re: random escape function |
Список | pgsql-jdbc |
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
В списке pgsql-jdbc по дате отправления: