pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: MRB <nomail@example.com>
To: pgsql-sql@postgresql.org
Subject: ENUM like data type
Date: Tue, 21 Jun 2005 17:20:19 +0200
Message-ID: <11bgc1oblfasq3d@corp.supernews.com> (raw)

Hi All,

I have something in mind I'm not certain is do-able.

I'm working with a lot of data from MySQL where the MySQL ENUM type is used.

This is not a big problem per se but creating the proper lookup tables 
is becoming a bit tedious so I was hoping to make something better of it.

Here is where I get uncertain as to if this is possible. My idea is to 
create a pseudo type that triggers the creation of it's lookup tables 
the same way the SERIAL type triggers creation of a sequence and returns 
an int with the right default value.

Here is what would want to happen:

CREATE TABLE test(
    testfield ENUM('Bits', 'of', 'data')
);

-- This would trigger the following events:

CREATE TABLE test_testfield_enum(
     id VARCHAR(4) NOT NULL PRIMARY KEY;
);
INSERT INTO test_testfield_enum VALUES('Bits');
INSERT INTO test_testfield_enum VALUES('Of');
INSERT INTO test_testfield_enum VALUES('data');

CREATE TABLE test(
     testfield VARCHAR(4) REFERENCES test_testfield_enum(id)
);


Hope that is clear enough. As said I am not quite sure this is possible, 
my guess would be no. But any input is appreciated.

Cheers,

Martin



view thread (16+ messages)  latest in thread

Message-ID: <11bgc1oblfasq3d@corp.supernews.com>
Permalink:  ../11bgc1oblfasq3d@corp.supernews.com/
Also on:    postgresql.org/message-id/11bgc1oblfasq3d@corp.supernews.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: nomail@example.com
  Subject: Re: ENUM like data type
  In-Reply-To: <11bgc1oblfasq3d@corp.supernews.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox