Thread: How to create a type ?
Hello, I am trying to understand how works CREATE TYPE, but it seems to be too difficult for me... Can someone help me ? I have tried this : ---------------------------------- create function personne_in(text) returns personne as 'select $1;' language 'sql'; create function personne_out(text) returns text as 'select $1;' language 'sql'; create type personne ( internallength = variable, input = personne_in, output = personne_out ); --------------------------------- but it is full of mistakes. Even a simple example in language 'sql' will help me. Thanks, Ines.
Ines Klimann <Ines.Klimann@liafa.jussieu.fr> writes: > I have tried this : > ---------------------------------- > create function personne_in(text) > returns personne > as 'select $1;' > language 'sql'; > create function personne_out(text) > returns text > as 'select $1;' > language 'sql'; > create type personne ( > internallength = variable, > input = personne_in, > output = personne_out > ); > --------------------------------- > but it is full of mistakes. Can't do it that way, because SQL functions can't produce or consume the plain C strings that input/output conversion functions have to deal with. There's really no way to write an input or output function except in C. regards, tom lane
hope it helps. e.g. create function foo() returns setof varchar as ' select name from categories ' language 'sql'; db=# select foo() as name; name ---------------------------------recreationbusinesswebeducationquestionablesexsocialsocietyweapons/bombsmature humorpornographytastelesscomputerhackingnuditydrugslingerie/bikiniprofanity ....... Jie LIANG St. Bernard Software Internet Products Inc. 10350 Science Center Drive Suite 100, San Diego, CA 92121 Office:(858)320-4873 jliang@ipinc.com www.stbernard.com www.ipinc.com On Tue, 13 Feb 2001, Ines Klimann wrote: > Hello, > > I am trying to understand how works CREATE TYPE, but it seems to > be too difficult for me... > > Can someone help me ? > > I have tried this : > ---------------------------------- > create function personne_in(text) > returns personne > as 'select $1;' > language 'sql'; > > create function personne_out(text) > returns text > as 'select $1;' > language 'sql'; > > create type personne ( > internallength = variable, > input = personne_in, > output = personne_out > ); > --------------------------------- > but it is full of mistakes. > > Even a simple example in language 'sql' will help me. > > Thanks, > Ines. >