Hi, I tried to split the previous patch up to see where the tsearch regression comes from. So, it turned out that: - float4 conversion is risk free (patch #1) - float8 conversion is okay, too, if coupled with time[stamp[tz]] conversion(patch #2) but with int64 timestamps enabled, the next one is also needed: - int64 conversion (patch #3) is mostly okay but it is the one that's causing
the tsearch regression
I looked at the tsearch code and found only one thing that can be suspicious, namely: typedef uint64 TSQuerySign; TSQuerySign is handled almost everywhere as an allocated, passed-by-reference value. I converted it with the attached patch (#4) so it uses Int64GetDatum() and DatumGetInt64() functions internally and the regression went away. Please, consider applying all four patches. Best regards, Zoltán Böszörményi -- ---------------------------------- Zoltán Böszörményi Cybertec Schönig & Schönig GmbH http://www.postgresql.at/
01-pg84-passedbyval-float4.patch.gz
Description: Unix tar archive
02-pg84-passedbyval-float8.patch.gz
Description: Unix tar archive
03-pg84-passedbyval-int64.patch.gz
Description: Unix tar archive
04-pg84-passedbyval-tsearch.patch.gz
Description: Unix tar archive
-- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches