create table cp_user ( user varchar(10) primary key not null , msisdn varchar(20) not null, age int null, gender char(1) null, profile varchar(160) null, friends_list varchar(255) null, create_ts timestamp not null, update_ts timestamp not null ) ; create unique index uix_user_user on cp_user(user); create unique index uix_user_msisdn on cp_user(msisdn); create index ix_user_age on cp_user(age); create index ix_user_gender on cp_user(gender); create table cp_blocked ( msisdn varchar(10) not null, block_msisdn varchar(20) not null, block_user varchar(10) not null, request_ts timestamp not null ) ; alter table cp_blocked add primary key (msisdn, block_msisdn); create unique index uix_blocked_msisdn_msisdn on cp_blocked(msisdn, block_msisdn); create table cp_messages ( mobile_from varchar(20) not null, user_from varchar(10) not null, mobile_to varchar(20) not null, user_to varchar(10) not null, message varchar(255) not null, request_ts timestamp not null, sent_ts timestamp not null ); create table cp_log ( operation char(5) not null, user_from varchar(10) not null, msisdn_from varchar(20) not null, user_to varchar(10) null, msisdn_to varchar(20) null, detail varchar(255), request_ts timestamp not null, processed_ts timestamp null ) ; create table cp_debarred ( msisdn varchar(20) primary key not null, debar_from datetime null, debar_to datetime null, request_ts timestamp not null, update_ts timestamp not null ); create index ix_debarred_msisdn on cp_debarred(msisdn); create table cp_disallowed_names ( user_regex varchar(10) not null, create_ts timestamp not null, update_ts timestamp not null ); create table cp_disallowed_words ( word_regex varchar(50) not null, create_ts timestamp not null, update_ts timestamp not null );