Reece Hart wrote:
I'm considering porting a MySQL database to PostgreSQL. That database uses
MySQL's SET type. Does anyone have advice about representing this type in
PostgreSQL?

MySQL DDL excerpt:
CREATE TABLE `transcript_variation` (
  `transcript_variation_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `transcript_stable_id` varchar(128) NOT NULL,
   ...
  `consequence_type`
set('ESSENTIAL_SPLICE_SITE','STOP_GAINED','STOP_LOST','COMPLEX_INDEL','SPLICE_SITE')
) ENGINE=MyISAM AUTO_INCREMENT=174923212 DEFAULT CHARSET=latin1;

I'm considering implementing this as a new type based on a bit vector, but I
wonder if anyone has a more flexible general solution.

Try starting with an enum type to define the possible values:

  CREATE TYPE Consequence_Type
    AS ENUM ('ESSENTIAL_SPLICE_SITE','STOP_GAINED',
      'STOP_LOST','COMPLEX_INDEL','SPLICE_SITE');

... and then you could try using "ARRAY OF Consequence_Type" or some such.

-- Darren Duncan

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to