Thread: create type question

create type question

From
John DeSoi
Date:
I would like to create a new column type that just holds a text string
(a lisp form). My only reason for creating a type is so that I can
distinguish this field type from text fields and perform some extended
processing when they are read by the client.

Below is my first (newbie) attempt. Do I really have to do write
something in C to accomplish this? Is there any kind of type "alias"
feature?

Thanks,

John DeSoi, Ph.D.

===
test=# create function lisp_text (text) returns text as 'select $1;'
language sql;
CREATE FUNCTION
test=# select lisp_text('test 1234');
  lisp_text
-----------
  test 1234
(1 row)

test=# create type lisp (input = lisp_text, output = lisp_text,
internallength = variable, default = 'nil', delimiter = ' ');
ERROR:  TypeCreate: function lisp_text(cstring) does not exist
test=# create function lisp_text (cstring) returns text as 'select $1;'
language sql;
ERROR:  SQL functions cannot have arguments of type cstring


Re: create type question

From
Stephan Szabo
Date:
On Mon, 12 May 2003, John DeSoi wrote:

> I would like to create a new column type that just holds a text string
> (a lisp form). My only reason for creating a type is so that I can
> distinguish this field type from text fields and perform some extended
> processing when they are read by the client.
>
> Below is my first (newbie) attempt. Do I really have to do write
> something in C to accomplish this? Is there any kind of type "alias"
> feature?

You might just want to make a domain, something like:
 create domain lisp as text;