
CREATE TABLE user_table (
  	email_user          	varchar (100) NOT NULL,
  	gecos_user          	varchar (150),
  	password_user		varchar (40),
	cookie_delay_user	integer,
	lang_user		varchar (10),
	attributes_user		varchar(255),
	data_user	        varchar(5000),
	PRIMARY KEY (email_user)
);

CREATE TABLE subscriber_table (
  	list_subscriber       	varchar (50) NOT NULL,
	user_subscriber		varchar (100) NOT NULL,
  	custom_attribute_subscriber varchar (500),
	robot_subscriber	varchar (80) NOT NULL,
	date_subscriber		timestamp NOT NULL,
	update_subscriber	timestamp,
	visibility_subscriber	varchar (20),
	reception_subscriber	varchar (20),
	topics_subscriber       varchar (200),
	bounce_subscriber	varchar (35),
	bounce_address_subscriber	varchar (100),
	comment_subscriber	varchar (150),
	subscribed_subscriber 	boolean,
	included_subscriber 	boolean,
	include_sources_subscriber varchar(50),
	bounce_score_subscriber integer,
	PRIMARY KEY (list_subscriber, user_subscriber, robot_subscriber)
);
CREATE INDEX subscriber_idx ON subscriber_table (user_subscriber,list_subscriber,robot_subscriber);

CREATE TABLE admin_table (
	list_admin 		varchar(50) NOT NULL,
 	user_admin 		varchar(100) NOT NULL,
 	robot_admin 		varchar(80) NOT NULL,
	role_admin 		varchar(15) NOT NULL,
	date_admin 		timestamp NOT NULL,
	update_admin 		timestamp,
	reception_admin 	varchar(20),
	visibility_admin 	varchar(20),
	comment_admin 		varchar(150),
	subscribed_admin  	boolean,
	included_admin  	boolean,
	include_sources_admin  	varchar(50),
	info_admin   		varchar(150),
	profile_admin  		varchar(15),
	PRIMARY KEY (list_admin, user_admin, robot_admin, role_admin)
);
CREATE	INDEX admin_idx ON admin_table(list_admin, user_admin, robot_admin, role_admin);

CREATE TABLE netidmap_table (
        netid_netidmap              varchar (100) NOT NULL,
	serviceid_netidmap	    varchar (100) NOT NULL,
	robot_netidmap	            varchar (80) NOT NULL,
        email_netidmap              varchar (100),
        PRIMARY KEY (netid_netidmap, serviceid_netidmap, robot_netidmap)
);
CREATE	INDEX netidmap_idx ON netidmap_table(netid_netidmap, serviceid_netidmap, robot_netidmap);

CREATE TABLE logs_table (
	id_logs			integer NOT NULL,
	date_logs		integer NOT NULL,
	robot_logs		varchar(80),
	list_logs		varchar(50),
	action_logs		varchar(50) NOT NULL,
	parameters_logs		varchar(100),
	target_email_logs	varchar(100),
	user_email_logs		varchar(100),
	msg_id_logs		varchar(255),
	status_logs		varchar(10) NOT NULL,
	error_type_logs		varchar(150),
	client_logs		varchar(100),
	daemon_logs		varchar(10) NOT NULL,
	PRIMARY KEY (id_logs)					  
);
CREATE	INDEX logs_idx ON logs_table(id_logs);

CREATE TABLE session_table (
	id_session			varchar(30) NOT NULL,
	start_date_session		integer NOT NULL,
	date_session		        integer NOT NULL,
	remote_addr_session		varchar(60),
	robot_session		        varchar(80),
	email_session		        varchar(100),
	hit_session     	        integer,
	data_session		        varchar(5000),
	PRIMARY KEY (id_session)
);
CREATE INDEX session_idx ON session_table(id_session);
