mirror of https://github.com/BOINC/boinc.git
355 lines
12 KiB
SQL
355 lines
12 KiB
SQL
/* If you add/change anything, update
|
|
boinc_db.C,h
|
|
and if needed:
|
|
py/Boinc/database.py
|
|
html_user/
|
|
create_account_action.php
|
|
team_create_action.php
|
|
sched/
|
|
db_dump.C
|
|
*/
|
|
/* Fields are documented in boinc_db.h */
|
|
/* Do not replace this with an automatically generated schema */
|
|
|
|
create table project (
|
|
id integer not null auto_increment,
|
|
short_name varchar(254) not null,
|
|
long_name varchar(254) not null,
|
|
primary key (id)
|
|
);
|
|
|
|
create table platform (
|
|
id integer not null auto_increment,
|
|
create_time integer not null,
|
|
name varchar(254) not null,
|
|
user_friendly_name varchar(254) not null,
|
|
deprecated integer not null,
|
|
primary key (id)
|
|
);
|
|
|
|
create table core_version (
|
|
id integer not null auto_increment,
|
|
create_time integer not null,
|
|
version_num integer not null,
|
|
platformid integer not null,
|
|
xml_doc blob,
|
|
message varchar(254),
|
|
deprecated smallint not null,
|
|
primary key (id)
|
|
);
|
|
|
|
create table app (
|
|
id integer not null auto_increment,
|
|
create_time integer not null,
|
|
name varchar(254) not null,
|
|
min_version integer not null,
|
|
deprecated integer not null,
|
|
user_friendly_name varchar(254) not null,
|
|
primary key (id)
|
|
);
|
|
|
|
create table app_version (
|
|
id integer not null auto_increment,
|
|
create_time integer not null,
|
|
appid integer not null,
|
|
version_num integer not null,
|
|
platformid integer not null,
|
|
xml_doc blob,
|
|
min_core_version integer not null,
|
|
max_core_version integer not null,
|
|
deprecated integer not null,
|
|
primary key (id)
|
|
);
|
|
|
|
create table user (
|
|
id integer not null auto_increment,
|
|
create_time integer not null,
|
|
email_addr varchar(254) not null,
|
|
name varchar(254),
|
|
authenticator varchar(254),
|
|
country varchar(254),
|
|
postal_code varchar(254),
|
|
total_credit double not null,
|
|
expavg_credit double not null,
|
|
expavg_time double not null,
|
|
global_prefs blob,
|
|
project_prefs blob,
|
|
teamid integer not null,
|
|
venue varchar(254) not null,
|
|
url varchar(254),
|
|
send_email smallint not null,
|
|
show_hosts smallint not null,
|
|
posts smallint not null,
|
|
seti_id integer not null,
|
|
seti_nresults integer not null,
|
|
seti_last_result_time integer not null,
|
|
seti_total_cpu double not null,
|
|
signature varchar(254),
|
|
has_profile smallint not null,
|
|
primary key (id)
|
|
);
|
|
|
|
create table team (
|
|
id integer not null auto_increment,
|
|
create_time integer not null,
|
|
userid integer not null,
|
|
name varchar(254) not null,
|
|
name_lc varchar(254),
|
|
url varchar(254),
|
|
type integer not null,
|
|
name_html varchar(254),
|
|
description blob,
|
|
nusers integer not null, /* temp */
|
|
country varchar(254),
|
|
total_credit double not null, /* temp */
|
|
expavg_credit double not null, /* temp */
|
|
expavg_time double not null,
|
|
seti_id integer not null,
|
|
primary key (id)
|
|
);
|
|
|
|
create table host (
|
|
id integer not null auto_increment,
|
|
create_time integer not null,
|
|
userid integer not null,
|
|
rpc_seqno integer not null,
|
|
rpc_time integer not null,
|
|
total_credit double not null,
|
|
expavg_credit double not null,
|
|
expavg_time double not null,
|
|
|
|
timezone integer not null,
|
|
domain_name varchar(254),
|
|
serialnum varchar(254),
|
|
last_ip_addr varchar(254),
|
|
nsame_ip_addr integer not null,
|
|
|
|
on_frac double not null,
|
|
connected_frac double not null,
|
|
active_frac double not null,
|
|
|
|
p_ncpus integer not null,
|
|
p_vendor varchar(254),
|
|
p_model varchar(254),
|
|
p_fpops double not null,
|
|
p_iops double not null,
|
|
p_membw double not null,
|
|
|
|
os_name varchar(254),
|
|
os_version varchar(254),
|
|
|
|
m_nbytes double not null,
|
|
m_cache double not null,
|
|
m_swap double not null,
|
|
|
|
d_total double not null,
|
|
d_free double not null,
|
|
d_boinc_used_total double not null,
|
|
d_boinc_used_project double not null,
|
|
d_boinc_max double not null,
|
|
|
|
n_bwup double not null,
|
|
n_bwdown double not null,
|
|
|
|
credit_per_cpu_sec double not null,
|
|
venue varchar(254) not null,
|
|
projects blob,
|
|
|
|
primary key (id)
|
|
);
|
|
|
|
/*
|
|
* Only information needed by the server or other backend components
|
|
* is broken out into separate fields.
|
|
* Other info, i.e. that needed by the client (files, etc.)
|
|
* is stored in the XML doc
|
|
*/
|
|
create table workunit (
|
|
id integer not null auto_increment,
|
|
create_time integer not null,
|
|
appid integer not null,
|
|
name varchar(254) not null,
|
|
xml_doc blob,
|
|
batch integer not null,
|
|
rsc_fpops_est double not null,
|
|
rsc_fpops_bound double not null,
|
|
rsc_memory_bound double not null,
|
|
rsc_disk_bound double not null,
|
|
need_validate smallint not null,
|
|
canonical_resultid integer not null,
|
|
canonical_credit double not null,
|
|
transition_time integer not null,
|
|
delay_bound integer not null,
|
|
error_mask integer not null,
|
|
file_delete_state integer not null,
|
|
assimilate_state integer not null,
|
|
workseq_next integer not null,
|
|
opaque double not null,
|
|
min_quorum integer not null,
|
|
target_nresults integer not null,
|
|
max_error_results integer not null,
|
|
max_total_results integer not null,
|
|
max_success_results integer not null,
|
|
result_template blob,
|
|
primary key (id)
|
|
);
|
|
|
|
create table result (
|
|
id integer not null auto_increment,
|
|
create_time integer not null,
|
|
workunitid integer not null,
|
|
server_state integer not null,
|
|
outcome integer not null,
|
|
client_state integer not null,
|
|
hostid integer not null,
|
|
userid integer not null,
|
|
report_deadline integer not null,
|
|
sent_time integer not null,
|
|
received_time integer not null,
|
|
name varchar(254) not null,
|
|
cpu_time double not null,
|
|
xml_doc_in blob,
|
|
xml_doc_out blob,
|
|
stderr_out blob,
|
|
batch integer not null,
|
|
file_delete_state integer not null,
|
|
validate_state integer not null,
|
|
claimed_credit double not null,
|
|
granted_credit double not null,
|
|
opaque double not null,
|
|
random integer not null,
|
|
app_version_num integer not null,
|
|
appid integer not null,
|
|
exit_status integer not null,
|
|
teamid integer not null,
|
|
primary key (id)
|
|
);
|
|
|
|
create table trickle (
|
|
id integer not null auto_increment,
|
|
create_time integer not null,
|
|
client_create_time integer not null,
|
|
resultid integer not null,
|
|
hostid integer not null,
|
|
userid integer not null,
|
|
appid integer not null,
|
|
handled smallint not null,
|
|
xml text,
|
|
primary key (id)
|
|
);
|
|
|
|
create table workseq (
|
|
id integer not null auto_increment,
|
|
create_time integer not null,
|
|
state integer not null,
|
|
hostid integer not null,
|
|
wuid_last_done integer not null,
|
|
wuid_last_sent integer not null,
|
|
workseqid_master integer not null,
|
|
primary key (id)
|
|
);
|
|
|
|
-- EVERYTHING FROM HERE ON IS USED ONLY FROM PHP,
|
|
-- SO NOT IN BOINC_DB.H ETC.
|
|
|
|
-- represents a language (so can have message boards in different languages)
|
|
--
|
|
create table lang (
|
|
id integer not null auto_increment,
|
|
name varchar(254) not null,
|
|
charset varchar(254) not null,
|
|
primary key (id)
|
|
);
|
|
|
|
|
|
-- user profile (description, pictures)
|
|
--
|
|
create table profile (
|
|
userid integer not null auto_increment,
|
|
language varchar(254),
|
|
response1 text,
|
|
response2 text,
|
|
has_picture smallint not null,
|
|
recommend integer not null,
|
|
reject integer not null,
|
|
posts integer not null,
|
|
primary key (userid)
|
|
);
|
|
|
|
-- message board category
|
|
-- help desk is a group of categories that are handled separately
|
|
--
|
|
create table category (
|
|
id integer not null auto_increment,
|
|
orderID integer not null,
|
|
-- order in which to display
|
|
lang integer not null,
|
|
name varchar(254) binary,
|
|
is_helpdesk smallint not null,
|
|
primary key (id)
|
|
);
|
|
|
|
-- message board topic
|
|
--
|
|
create table forum (
|
|
id integer not null auto_increment,
|
|
category integer not null,
|
|
orderID integer not null,
|
|
title varchar(254) not null,
|
|
description varchar(254) not null,
|
|
timestamp integer not null,
|
|
-- time of last new or modified thread or post
|
|
threads integer not null,
|
|
posts integer not null,
|
|
primary key (id)
|
|
);
|
|
|
|
-- threads in a topic (or questions)
|
|
--
|
|
create table thread (
|
|
id integer not null auto_increment,
|
|
forum integer not null,
|
|
owner integer not null,
|
|
title varchar(254) not null,
|
|
timestamp integer not null,
|
|
-- time of last new or modified post
|
|
views integer not null,
|
|
-- number of times this has been viewed
|
|
replies integer not null,
|
|
-- number of postings in thread
|
|
activity double not null,
|
|
-- for questions: number of askers / time since asked
|
|
-- (set periodically by update_forum_activity.php)
|
|
sufferers integer not null,
|
|
-- in help desk: # people who indicated they had same problem
|
|
create_time integer not null,
|
|
-- when this record was created
|
|
primary key (id)
|
|
);
|
|
|
|
-- postings in a thread (or answers)
|
|
-- Each thread has an initial post
|
|
--
|
|
create table post (
|
|
id integer not null auto_increment,
|
|
thread integer not null,
|
|
user integer not null,
|
|
timestamp integer not null,
|
|
-- create time
|
|
content text not null,
|
|
modified integer not null,
|
|
-- when last modified
|
|
parent_post integer not null,
|
|
-- post that was replied to, if any
|
|
score double not null,
|
|
votes integer not null,
|
|
primary key (id)
|
|
);
|
|
|
|
-- subscription to a thread
|
|
--
|
|
create table subscriptions (
|
|
userid integer not null,
|
|
threadid integer not null
|
|
);
|