1
的Funambol公司管理文檔中有對新的PostgreSQL的情況下,這是更嚴格的類型和鑄造運行,你必須添加這些石膏:限制投的範圍只架構PostgreSQL中
CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));';
CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';
CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT;
的問題是,在同一個數據庫(PostgreSQL裏的術語)我也有其他模式的應用程序打破了,因爲這些類型轉換(與「經營者不是唯一:未知||整數」,並提示「無法選擇最佳候選操作,您可能需要添加。顯式類型轉換「)。
所以,一個解決方法當然是定義附加數據庫,並只Funambol的在那裏。但我想知道是否有方法來定義這些轉換,以便它們只在Funambol的模式中生效,而不在整個數據庫中生效。
最好的解決方法是修復(碎)應用程序,它依賴於隱式轉換(這幾乎總是一件壞事)。但這顯然不是你想要聽到的解決方案;) – 2011-01-20 07:31:05
我同意。瘋狂的事情是,他們在他們的管理手冊/文檔中寫道,你必須添加這種類型作爲解決方案。所以這個問題是衆所周知的。修復文檔中的錯誤。一個新的範例對我來說。 ;-) – Mitar 2011-01-25 05:03:05