Thread: User defined type with text* field
Hi, I am trying to create a user defined type with 2 fields in it, a text* and an Oid. I am not sure what size to use in the create type command. When I try variable the back end core dumps. Are there any examples for doing this sort of thing? Is it even doable? Thanks, Ken
Not yet. :) The best way to do it currently is to create a table with these fields, it'll create a type (with the same name as table) automatically. Why'd you want to do that anyway? On 30 Jun 2001, Ken K wrote: > Hi, > > I am trying to create a user defined type with 2 fields > in it, a text* and an Oid. I am not sure what size to > use in the create type command. When I try variable > the back end core dumps. Are there any examples for > doing this sort of thing? Is it even doable? > > Thanks, > > Ken > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > >
Ken K <kenmail@telocity.com> writes: > I am trying to create a user defined type with 2 fields > in it, a text* and an Oid. I am not sure what size to > use in the create type command. When I try variable > the back end core dumps. Are there any examples for > doing this sort of thing? Is it even doable? You can't use any kind of pointer in a datatype --- what is it going to point to? There's nothing it could point at that might live as long as the datavalue on disk will. You could embed a TEXT value into a larger varlena value, say <total length word> Oid <text value here, beginning with its own length word> regards, tom lane
What I want to do is create a Serialize type for storing Java objects. The text would be the class name and the Oid would point to the record where the object is stored. I need the class name and not the Oid of the table because of a problem I have with long class names (> 32 characters). If I figure out how to make this a "varlena" value would variable then work for the length specification in the create type command? Are there any examples of varlena user types I could look at? Thanks, Ken > Ken K <kenmail@telocity.com> writes: >> I am trying to create a user defined type with 2 fields >> in it, a text* and an Oid. I am not sure what size to >> use in the create type command. When I try variable >> the back end core dumps. Are there any examples for >> doing this sort of thing? Is it even doable? > >You can't use any kind of pointer in a datatype --- what is it going to >point to? There's nothing it could point at that might live as long as >the datavalue on disk will. > >You could embed a TEXT value into a larger varlena value, say > > <total length word> > Oid > <text value here, beginning with its own length word> > > > regards, tom lane
On Sun, 1 Jul 2001, Ken Kachnowich wrote: > What I want to do is create a Serialize type for storing Java objects. > The text would be the class name and the Oid would point to the record > where the object is stored. I need the class name and not the Oid of the > table because of a problem I have with long class names (> 32 > characters). > > If I figure out how to make this a "varlena" value would variable then > work for the length specification in the create type command? Bytea/varlena types do not have a length, they are unlimited-length (like text). > > Are there any examples of varlena user types I could look at? > > Thanks, > > Ken > > > Ken K <kenmail@telocity.com> writes: > >> I am trying to create a user defined type with 2 fields > >> in it, a text* and an Oid. I am not sure what size to > >> use in the create type command. When I try variable > >> the back end core dumps. Are there any examples for > >> doing this sort of thing? Is it even doable? > > > >You can't use any kind of pointer in a datatype --- what is it going to > >point to? There's nothing it could point at that might live as long as > >the datavalue on disk will. > > > >You could embed a TEXT value into a larger varlena value, say > > > > <total length word> > > Oid > > <text value here, beginning with its own length word> > > > > > > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > >