Built-in casts for ltree

Started by Jim C. Nasbyalmost 21 years ago2 messages
#1Jim C. Nasby
decibel@decibel.org

contrib/ltree includes text2ltree and ltree2text functions, but no
implicit casts. Is there any particular reason for this?

--- ltree.sql.in.orig   Mon Jan 24 22:47:01 2005
+++ ltree.sql.in        Mon Jan 24 22:58:40 2005
@@ -155,10 +155,14 @@
 AS 'MODULE_PATHNAME'
 LANGUAGE 'C' WITH (isstrict,iscachable);
+CREATE CAST (ltree AS text) WITH FUNCTION ltree2text(ltree) AS IMPLICIT;
+
 CREATE FUNCTION text2ltree(text)
 RETURNS ltree
 AS 'MODULE_PATHNAME'
 LANGUAGE 'C' WITH (isstrict,iscachable);
+
+CREATE CAST (text AS ltree) WITH FUNCTION text2ltree(text) AS IMPLICIT;

CREATE FUNCTION lca(_ltree)
RETURNS ltree
--
Jim C. Nasby, Database Consultant decibel@decibel.org
Give your computer some brain candy! www.distributed.net Team #1828

Windows: "Where do you want to go today?"
Linux: "Where do you want to go tomorrow?"
FreeBSD: "Are you guys coming, or what?"

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jim C. Nasby (#1)
Re: Built-in casts for ltree

"Jim C. Nasby" <decibel@decibel.org> writes:

contrib/ltree includes text2ltree and ltree2text functions, but no
implicit casts. Is there any particular reason for this?

Implicit casts to or from text are evil.

regards, tom lane