Problem calling setweight function from JDBC
Hello,
I have a call to setweight function in a PreparedStatement with the following sql:
update my_table set a_text_data=setweight(to_tsvector(? :: regconfig, ?), ? :: char)
Later I set the parameters:
stmt.setString(1, language);
stmt.setString(2, textToIndex);
stmt.setString(3, weight);
But the call fails with:
"ERROR: function setweight(tsvector, character) does not exist"
I had very similar error with ts_vector where the cast to regconfig helped, but not in this case. Inspecting the setweight function in system catalogs shows that parameters are tsvector and char. What am I doing wrong?
Thanks in advance,
Viliam
=?UTF-8?B?VmlsaWFtIMSOdXJpbmE=?= <viliam.durina@kios.sk> writes:
I have a call to setweight function in a PreparedStatement with the following sql:
update my_table set a_text_data=setweight(to_tsvector(? :: regconfig, ?), ? :: char)
Make that ::"char" not ::char ... the quotes matter here, because char
without quotes is a keyword.
regards, tom lane
Thank you, this helped.
Viliam
Show quoted text
On 24.3.2011 16:08, Tom Lane wrote:
=?UTF-8?B?VmlsaWFtIMSOdXJpbmE=?=<viliam.durina@kios.sk> writes:
I have a call to setweight function in a PreparedStatement with the following sql:
update my_table set a_text_data=setweight(to_tsvector(? :: regconfig, ?), ? :: char)
Make that ::"char" not ::char ... the quotes matter here, because char
without quotes is a keyword.regards, tom lane