| -- We will update on fname, so we can't have it as a distribution key, |
| -- which in turn means it can't be part of a primary key |
| CREATE TABLE users ( |
| fname text not null, |
| lname text not null, |
| username text, |
| userid serial |
| -- , PRIMARY KEY(lname, fname) |
| ) DISTRIBUTED BY (userid); |
| CREATE INDEX users_username_idx ON users(username); |
| CREATE INDEX users_fname_idx ON users(fname); |
| CREATE INDEX users_lname_idx ON users(lname); |
| CREATE INDEX users_userid_idx ON users(userid); |
| CREATE TABLE taxonomy ( |
| id serial primary key, |
| name text |
| ) DISTRIBUTED BY (id); |
| CREATE TABLE entry ( |
| accession text not null primary key, |
| eid serial, |
| txid int2 not null |
| ) DISTRIBUTED BY (accession); |
| CREATE TABLE sequences ( |
| eid int4 not null, |
| pid serial primary key, |
| product text not null, |
| sequence text not null, |
| multipart bool default 'false' |
| ) DISTRIBUTED BY (pid); |
| CREATE INDEX sequences_product_idx ON sequences(product) ; |
| CREATE TABLE xsequences ( |
| pid int4 not null, |
| sequence text not null |
| ) DISTRIBUTED BY (pid); |
| CREATE INDEX xsequences_pid_idx ON xsequences(pid) ; |
| CREATE TYPE ab_tuple as ( |
| a int8, |
| b int8 |
| ); |