Re: Using nulls with earthdistance operator crashes backend (patch)
От | Mark Stosberg |
---|---|
Тема | Re: Using nulls with earthdistance operator crashes backend (patch) |
Дата | |
Msg-id | 3B7C452A.4C3F2051@summersault.com обсуждение исходный текст |
Ответ на | Using nulls with earthdistance operator crashes backend (Mark Stosberg <mark@summersault.com>) |
Список | pgsql-bugs |
> Tom Lane wrote: > > > > Mark Stosberg <mark@summersault.com> writes: > > > * Install earthdistance operator from the contrib directory. > > > * try this: > > > cascade=> select null <@> '1,1'::point; > > > > > ## The result I get: > > > pqReadData() -- backend closed the channel unexpectedly. > > > > Probably the earthdistance functions are not NULL-safe and need to be > > marked "isStrict" in CREATE FUNCTION. Would you be willing to do the > > legwork on working up a patch for that? Tom, Here's a patch using "isstrict": ############ --- earthdistance.sql.in.org Thu Aug 16 17:08:19 2001 +++ earthdistance.sql.in Thu Aug 16 17:09:01 2001 @@ -3,7 +3,8 @@ DROP FUNCTION geo_distance (point, point); CREATE FUNCTION geo_distance (point, point) RETURNS float8 - AS 'MODULE_PATHNAME' LANGUAGE 'c'; + AS 'MODULE_PATHNAME' LANGUAGE 'c' + WITH (isstrict); SELECT geo_distance ('(1,2)'::point, '(3,4)'::point); ############# Now when I run the "crasher" SQL above, I get one empty row back: sumsault_test=# select null <@> '1,1'::point; ?column? ---------- (1 row) ############# I look forward to seeing you at the Open Source Database Summit! -mark . . . . . . . . . . . . . . . . . . . . . . . . . . Mark Stosberg Principal Developer mark@summersault.com Summersault, LLC v: 765-939-9301 ext 223 website development . . . . . http://www.summersault.com/ . . . . . . .
В списке pgsql-bugs по дате отправления: