Columns

Columns

Table Type Column Type Size Nulls Auto Default Comments
items Table entry_participant_type enum('User', 'Team') 4 User

For explicit-entry items, the type of participants who can enter

answers Table created_at DATETIME 19 null

Submission time

group_managers Table can_edit_personal_info BIT 1 0

Can change member’s personal info, for those who have agreed (not visible to managers, only for specific uses)

platforms Table regexp TEXT 65535 null

Regexp matching the urls, to automatically detect content from this platform. It is the only way to specify which items are from which platform. Recomputation of items.platform_id is triggered when changed.

permissions_granted Table can_enter_until DATETIME 19 9999-12-31 23:59:59

Time until which the group can “enter” this item, superseded by items.entering_time_max

permissions_granted Table is_owner BIT 1 0

Whether the group is the owner of this item. Implies the maximum level in all of the above permissions. Can delete the item.

users Table latest_activity_at DATETIME 19 null

Last activity time on the platform (any action)

group_item_additional_times Table item_id BIGINT 19 null
groups_ancestors_active View is_self BIT 1 null

Whether ancestor_group_id = child_group_id (auto-generated)

permissions_granted Table origin enum('group_membership', 'item_unlocking', 'self', 'other') 16 null
groups Table address_postcode VARCHAR 25 null

For sessions or schools

items Table requires_explicit_entry BIT 1 0

Whether this item requires an explicit entry to be started (create an attempt)

permissions_granted Table source_group_id BIGINT 19 null
users Table web_site VARCHAR 100 null

Link to the user's website, to be displayed on his public profile

users Table salt VARCHAR 32 null
items_propagate Table id BIGINT 19 null
filters Table group_id INT 10 null
items Table validation_type enum('None', 'All', 'AllButOne', 'Categories', 'One', 'Manual') 10 All

Criteria for this item to be considered validated, based on the status of the children. Ex: "All" means all children should be validated. Categories means items of the "Validation" category need to be validated.

permissions_granted Table can_view_value TINYINT UNSIGNED 3 null

can_view as an integer (to use comparison operators)

permissions_generated Table can_edit_generated_value TINYINT UNSIGNED 3 null

can_edit_generated as an integer (to use comparison operators)

users Table last_name VARCHAR 100 null

Last name, provided by auth platform

items_items Table content_view_propagation_value TINYINT UNSIGNED 3 null

content_view_propagation as an integer (to use comparison operators)

results_recompute_for_items Table item_id BIGINT 19 null
attempts Table root_item_id BIGINT 19 null

The item on which the attempt was created

permissions_propagate_sync Table propagate_to enum('self', 'children') 8 null

Which permissions should be recomputed for the group-item pair on the next iteration, either for the pair or for its children (through item hierarchy)

users Table basic_editor_mode TINYINT 3 1

Which editor should be used in programming tasks.

item_dependencies Table item_id BIGINT 19 null
groups Table root_skill_id BIGINT 19 null

Root skill associated with this group

groups Table description TEXT 65535 null

Purpose of this group. Will be visible by its members. or by the public if the group is public.

threads Table participant_id BIGINT 19 null
filters Table user_id BIGINT 19 null
items Table display_details_in_parent TINYINT UNSIGNED 3 0

If true, display a large icon, the subtitle, and more within the parent chapter

answers Table item_id BIGINT 19 null
groups_groups_active View is_team_membership BIT 1 0

true if the parent group is a team

group_pending_requests Table at DATETIME 23 CURRENT_TIMESTAMP(3)
groups Table code_expires_at DATETIME 19 null

When the code expires. Set when it is first used.

items Table participants_group_id BIGINT 19 null

Group to which all the entered participants (users or teams) belong. Must not be null for an explicit-entry item.

results Table score_edit_rule enum('set', 'diff') 4 null

Whether the edit value replaces and adds up to the score of the best answer

permissions_granted Table can_grant_view_value TINYINT UNSIGNED 3 null

can_grant_view as an integer (to use comparison operators)

goose_db_version Table version_id BIGINT 19 null
badges Table name TEXT 65535 null
gradings Table score FLOAT 12 null

Score obtained

languages Table name VARCHAR 100
goose_db_version Table is_applied BIT 1 null
groups Table code_lifetime INT 10 null

How long after the first use of the code it will expire (in seconds), NULL means infinity

threads Table message_count INT 10 0

Approximation of the number of message sent on the thread.

permissions_propagate_sync Table group_id BIGINT 19 null
group_membership_changes Table at DATETIME 23 CURRENT_TIMESTAMP(3)

Time of the action

users Table latest_profile_sync_at DATETIME 19 null

Last time when the profile was synced with the login module

groups Table grade_details VARCHAR 50 null

Explanations about the grade

user_batch_prefixes Table allow_new BIT 1 1

Whether this prefix can be used for new user batches

results_propagate_sync Table connection_id BIGINT UNSIGNED 20 null
user_batches_v2 Table creator_id BIGINT 19 null
items Table platform_id INT 10 null

Platform that hosts the item content. Auto-generated from url by triggers.

filters Table newer_than INT 10 null
results_propagate_sync_conn View connection_id BIGINT UNSIGNED 20 null
items Table entering_time_min DATETIME 19 1000-01-01 00:00:00

Lower bound on the entering time. Has the priority over given can_enter_from/until permissions.

results Table score_edit_comment VARCHAR 200 null

Explanation of the value set in score_edit_value

answers Table participant_id BIGINT 19 null
groups Table grade INT 10 -2

For some types of groups, indicate which grade the users belong to.

access_tokens Table token VARBINARY 2000 null

The access token.

items Table options TEXT 65535 null

Options passed to the task, formatted as a JSON object

items_items Table upper_view_levels_propagation enum('use_content_view_propagation', 'as_content_with_descendants', 'as_is') 28 use_content_view_propagation

Defines how can_view="content_with_descendants"|"solution" permissions propagate

threads Table latest_update_at DATETIME 19 CURRENT_TIMESTAMP

Last time a message was posted or the status was updated.

groups_groups Table child_group_type enum('Class', 'Team', 'Club', 'Friends', 'Other', 'User', 'Session', 'Base', 'ContestParticipants') 19 null

The type of the child group in the relationship (we duplicate groups.type to improve performance)

permissions_generated Table can_grant_view_generated enum('none', 'enter', 'content', 'content_with_descendants', 'solution', 'solution_with_grant') 24 none

The aggregated level of visibility that the group can give on this item to other groups on which it has the right to

results Table item_id BIGINT 19 null
permissions_granted Table can_watch enum('none', 'result', 'answer', 'answer_with_grant') 17 none

The level of observation a group has for an item, on the activity of the users he can watch

groups_groups_active View watch_approved BIT 1 null

watch_approved_at as boolean

users Table login_id BIGINT 19 null

"userId" returned by the auth platform

users Table land_line_number LONGTEXT 2147483647 null

Phone number, provided by auth platform

group_pending_requests Table member_id BIGINT 19 null
permissions_granted Table can_make_session_official BIT 1 0

Whether the group is allowed to associate official sessions to this item

user_batch_prefixes Table group_id BIGINT 19 null

Group (and its descendants) in which managers can create users in batch. NULL if the group was deleted, in which case batches should be cleaned manually.

threads Table status enum('waiting_for_participant', 'waiting_for_trainer', 'closed') 23 null
results Table hints_requested MEDIUMTEXT 16777215 null

JSON array of the hints that have been requested for this attempt

groups_propagate Table ancestors_computation_state enum('todo', 'done') 4 null
users Table creator_id BIGINT 19 null

User who created a given login with the login generation tool

groups Table code VARBINARY 50 null

Code that can be used to join the group (if it is opened)

groups Table created_at DATETIME 19 CURRENT_TIMESTAMP
permissions_generated Table item_id BIGINT 19 null
users Table latest_login_at DATETIME 19 null

When is the last time this user logged in on the platform

users Table help_given INT 10 0

How many times did the user help others (# of discussions)

items Table repository_path TEXT 65535 null
attempts Table parent_attempt_id BIGINT 19 null

The attempt from which this one was forked. NULL for the default attempt.

users Table email VARCHAR 100 null

E-mail, provided by auth platform

group_membership_changes Table group_id BIGINT 19 null
groups Table max_participants INT UNSIGNED 10 null

The maximum number of participants (users and teams) in this group (strict limit if enforce_max_participants)

groups_groups Table lock_membership_approved BIT 1 null

lock_membership_approved_at as boolean

groups_groups_active View personal_info_view_approved_at DATETIME 19 null
groups Table root_activity_id BIGINT 19 null

Root activity (chapter, task, or course) associated with this group

users Table city LONGTEXT 2147483647 null

City, provided by auth platform

filters Table starred BIT 1 null
groups Table id BIGINT 19 null
permissions_granted Table latest_update_at DATETIME 19 CURRENT_TIMESTAMP

Last time one of the attributes has been modified

permissions_generated Table is_owner_generated BIT 1 0

Whether the group is the owner of this item. Implies the maximum level in all of the above permissions. Can delete the item.

group_pending_requests Table watch_approved BIT 1 0

for join requests

groups_groups_active View lock_membership_approved BIT 1 null

lock_membership_approved_at as boolean

items Table id BIGINT 19 null
items_items Table child_order INT 10 null

Position, relative to its siblings, when displaying all the children of the parent. If multiple items have the same child_order, they will be sorted in a random way, specific to each user (a user will always see the items in the same order).

items_items Table score_weight TINYINT UNSIGNED 3 1

Weight of this child in his parent's score computation

items Table children_layout enum('List', 'Grid') 4 List

How the children list are displayed (for chapters and skills)

permissions_generated Table can_view_generated enum('none', 'info', 'content', 'content_with_descendants', 'solution') 24 none

The aggregated level of visibility the group has on the item

items_strings Table subtitle VARCHAR 200 null

Subtitle of the item in the specified language

items_strings Table description TEXT 65535 null

Description of the item in the specified language

groups_groups_active View child_group_id BIGINT 19 null
user_batches_v2 Table custom_prefix VARCHAR 14 null

Second part of the full login prefix, given by the user that created the batch

results Table recomputing_state enum('recomputing', 'modified', 'unchanged') 11 unchanged

State of the result, used during recomputing

groups Table expected_start DATETIME 19 null

For sessions, time at which the session is expected to start

groups_groups Table personal_info_view_approved_at DATETIME 19 null
items Table title_bar_visible TINYINT UNSIGNED 3 1

Whether the title bar should be visible initially when this item is loaded

error_log Table date TIMESTAMP 19 CURRENT_TIMESTAMP
permissions_propagate_sync_conn View item_id BIGINT 19 null
filters Table users_search VARCHAR 200 null
languages Table tag VARCHAR 6 null

Language tag as defined in RFC5646

users Table default_language CHAR 3 fr

Current language used to display content. Initial version provided by auth platform, then can be changed manually.

item_dependencies Table grant_content_view BIT 1 1

Whether obtaining the required score at the item grants content view to the dependent item

group_managers Table can_watch_members BIT 1 0

Can watch members’ submissions on items. Requires the watcher to be allowed to watch this item. For members who have agreed

groups_groups_active View parent_group_id BIGINT 19 null
error_log Table url TEXT 65535 null
items_strings Table translator VARCHAR 100 null

Name of the translator(s) of this content

results Table started BIT 1 null

Auto-generated from started_at

permissions_granted Table can_edit_value TINYINT UNSIGNED 3 null

can_edit as an integer (to use comparison operators)

attempts Table allows_submissions_until DATETIME 19 9999-12-31 23:59:59

Time until which the participant can submit an answer on this attempt

results_propagate_sync Table participant_id BIGINT 19 null
permissions_propagate Table group_id BIGINT 19 null
groups Table is_official_session BIT 1 0

Whether this session is shown on the activity page (require specific permissions)

groups_ancestors Table child_group_type enum('Class', 'Team', 'Club', 'Friends', 'Other', 'User', 'Session', 'Base', 'ContestParticipants') 19 null

The type of the child group in the relationship (we duplicate groups.type to improve performance)

filters Table start_date DATETIME 19 null
items Table supported_lang_prog VARCHAR 200 null

Comma-separated list of programming languages that this item can be solved with; not currently used.

users Table zipcode LONGTEXT 2147483647 null

Zip code, provided by auth platform

groups_groups Table personal_info_view_approved BIT 1 null

personal_info_view_approved_at as boolean

group_pending_requests Table group_id BIGINT 19 null
groups_groups_active View expires_at DATETIME 19 9999-12-31 23:59:59

The group membership expires at the specified time

platforms Table id INT 10 null
items Table fixed_ranks BIT 1 0

If true, prevents users from changing the order of the children by drag&drop and auto-calculation of the order of children. Allows for manual setting of the order, for instance in cases where we want to have multiple items with the same order (check items_items.child_order).

results_propagate_sync_conn View participant_id BIGINT 19 null
group_item_additional_times Table group_id BIGINT 19 null
groups_groups Table watch_approved_at DATETIME 19 null
group_managers Table manager_id BIGINT 19 null
items_ancestors Table child_item_id BIGINT 19 null
users Table address MEDIUMTEXT 16777215 null

Address, provided by auth platform

items Table hints_allowed BIT 1 0

Whether hints are allowed for tasks accessed through this chapter (currently unused)

answers Table author_id BIGINT 19 null
answers Table answer MEDIUMTEXT 16777215 null

Saved answer (sent by the task platform)

group_managers Table can_manage enum('none', 'memberships', 'memberships_and_group') 21 none
users Table sex enum('Male', 'Female') 6 null

Gender, provided by auth platform

items Table default_language_tag VARCHAR 6 null

Default language tag of this task (the reference, used when comparing translations)

items_items Table upper_view_levels_propagation_value TINYINT UNSIGNED 3 null

upper_view_levels_propagation as an integer (to use comparison operators)

items Table entering_time_max DATETIME 19 9999-12-31 23:59:59

Upper bound on the entering time. Has the priority over given can_enter_from/until permissions.

platforms Table base_url VARCHAR 200 null

Base URL for calling the API of the platform (for GDPR services)

results Table latest_submission_at DATETIME 19 null

Time of the latest submission. Only for tasks, not propagated

users Table lang_prog VARCHAR 30 Python

Current programming language selected by the user (to display the corresponding version of tasks)

groups_ancestors_active View child_group_type enum('Class', 'Team', 'Club', 'Friends', 'Other', 'User', 'Session', 'Base', 'ContestParticipants') 19 null

The type of the child group in the relationship (we duplicate groups.type to improve performance)

users Table spaces_for_tab INT 10 3

How many spaces for a tabulation, in programming tasks.

filters Table id BIGINT 19 null
users Table country_code CHAR 3

3-letter country code

groups Table open_activity_when_joining BIT 1 0

Whether the activity should be started for participants as soon as they join the group

results Table latest_hint_at DATETIME 19 null

Time of the last request for a hint. Only for tasks, not propagated

error_log Table id BIGINT UNSIGNED 20 null
threads Table helper_group_id BIGINT 19 null
results Table tasks_tried INT 10 0

Number of tasks which have been attempted among this item's descendants (at least one submission), within this attempt

answers Table state MEDIUMTEXT 16777215 null

Saved state (sent by the task platform)

items_items Table child_item_id BIGINT 19 null
permissions_granted Table can_watch_value TINYINT UNSIGNED 3 null

can_watch as an integer (to use comparison operators)

badges Table code TEXT 65535 null
results Table participant_id BIGINT 19 null
results Table validated BIT 1 null

Auto-generated from validated_at

attempts Table creator_id BIGINT 19 null

The user who created this attempt

access_tokens Table issued_at DATETIME 19 CURRENT_TIMESTAMP

The time the token was issued.

users Table temp_user BIT 1 0

Whether it is a temporary user. If so, the user will be deleted soon.

users Table public_last_name TINYINT 3 0

Whether show user's last name in his public profile

permissions_granted Table can_enter_from DATETIME 19 9999-12-31 23:59:59

Time from which the group can “enter” this item, superseded by items.entering_time_min

group_membership_changes Table action enum('invitation_created', 'invitation_withdrawn', 'invitation_refused', 'invitation_accepted', 'join_request_created', 'join_request_withdrawn', 'join_request_refused', 'join_request_accepted', 'leave_request_created', 'leave_request_withdrawn', 'leave_request_refused', 'leave_request_accepted', 'left', 'removed', 'joined_by_code', 'added_directly', 'expired', 'joined_by_badge', 'removed_due_to_approval_change') 30 null
answers Table id BIGINT 19 null
user_batch_prefixes Table group_prefix VARCHAR 13 null

Prefix used in front of all batches

items Table duration TIME 8 null

Not NULL if time-limited item. If so, how long users have to work on it.

filters Table important BIT 1 null
groups_groups Table child_group_id BIGINT 19 null
permissions_propagate_sync_conn View connection_id BIGINT UNSIGNED 20 null
groups Table address_city VARCHAR 255 null

For sessions or schools

results Table started_at DATETIME 19 null

Time at which the attempt was manually created or was first marked as started (should be when it is first visited). Not propagated

users Table recover VARCHAR 50 null
users Table is_admin TINYINT 3 0

Is the user an admin? Not used?

users Table photo_autoload BIT 1 0

Indicates that the user has a picture associated with his profile. Not used yet.

permissions_propagate Table item_id BIGINT 19 null
group_pending_requests Table type enum('invitation', 'join_request', 'leave_request') 13 null
groups Table require_watch_approval BIT 1 0

Whether it requires (for joining) members to approve that managers may be able to watch their results and answers

access_tokens Table session_id BIGINT 19 null
results_propagate Table state enum('to_be_propagated', 'to_be_recomputed', 'propagating', 'recomputing') 16 null

"to_be_propagated" means that ancestors should be recomputed

results_recompute_for_items Table is_being_processed BIT 1 0
badges Table id BIGINT 19 null
items Table uses_api BIT 1 1

Whether the item uses the task integration API, at the minimum the load and getHeight functions.

groups Table organizer VARCHAR 255 null

For sessions, a teacher/animator in charge of the organization

permissions_generated Table group_id BIGINT 19 null
user_batches_v2 Table size MEDIUMINT UNSIGNED 8 null

Number of users created in this batch

permissions_propagate_sync_conn View propagate_to enum('self', 'children') 8 null

Which permissions should be recomputed for the group-item pair on the next iteration, either for the pair or for its children (through item hierarchy)

groups_groups_active View lock_membership_approved_at DATETIME 19 null
items Table allows_multiple_attempts BIT 1 0

Whether participants can create multiple attempts when working on this item

group_pending_requests Table lock_membership_approved BIT 1 0

for join requests

threads Table item_id BIGINT 19 null
items_items Table watch_propagation BIT 1 0

Whether can_watch propagates (as the same value, with “answer” as the upper limit)

groups_groups Table watch_approved BIT 1 null

watch_approved_at as boolean

results_propagate Table attempt_id BIGINT 19 0
groups Table is_open BIT 1 0

Whether it appears to users as open to new members, i.e. the users can join using the code or create a join request

items Table entry_min_admitted_members_ratio enum('All', 'Half', 'One', 'None') 4 None

The ratio of members in the team (a user alone being considered as a team of one) who needs the “can_enter” permission so that the group can enter

groups Table text_id VARCHAR 255 null

Internal text id for special groups. Used to refer o them and avoid breaking features if an admin renames the group

results_propagate_sync_conn View item_id BIGINT 19 null
users Table no_ranking TINYINT 3 0

Whether this user should not be listed when displaying the results of contests, or points obtained on the platform

groups_ancestors_active View ancestor_group_id BIGINT 19 null
groups Table type enum('Class', 'Team', 'Club', 'Friends', 'Other', 'User', 'Session', 'Base', 'ContestParticipants') 19 null
users Table notify_news TINYINT 3 0

Whether the user accepts that we send emails about events related to the platform

permissions_granted Table can_grant_view enum('none', 'enter', 'content', 'content_with_descendants', 'solution', 'solution_with_grant') 24 none

The level of visibility that the group can give on this item to other groups on which it has the right to

user_batches_v2 Table group_prefix VARCHAR 13 null

Authorized (first) part of the full login prefix

users Table registered_at DATETIME 19 null

When the user first connected to this platform

groups Table require_lock_membership_approval_until DATETIME 19 null

If not null and in the future, requires (for joining) members to approve that they will not be able to leave the group without approval until the given date

platforms Table priority INT 10 0

Priority of the regexp compared to others (higher value is tried first). Recomputation of items.platform_id is triggered when changed.

permissions_generated Table can_grant_view_generated_value TINYINT UNSIGNED 3 null

can_grant_view_generated as an integer (to use comparison operators)

results_propagate_sync Table attempt_id BIGINT 19 0
groups Table frozen_membership BIT 1 0

Whether members can be added/removed to the group (intended for teams)

items Table entry_frozen_teams BIT 1 0

Whether teams require to have frozen_membership for entering

items_items Table content_view_propagation enum('none', 'as_info', 'as_content') 10 none

Defines how a can_view=”content” permission propagates

item_dependencies Table score INT 10 100

Score of the item from which the dependent item is unlocked (if grant_content_view is true), i.e. can_view:content is given

results Table submissions INT 10 0

Number of submissions. Only for tasks, not propagated

group_item_additional_times Table additional_time TIME 8 00:00:00

Time that was attributed (can be negative) to this group for this time-limited item

items Table url VARCHAR 2048 null

Url of the item, as will be loaded in the iframe

items_items Table request_help_propagation TINYINT 3 0

Whether can_request_help_to propagates

filters Table end_date DATETIME 19 null
results Table help_requested BIT 1 0

Whether the participant is requesting help on the item in this attempt

permissions_granted Table can_request_help_to BIGINT 19 null

Whether the group can create a forum thread accessible to the pointed group. NULL = no rights to create.

items_strings Table item_id BIGINT 19 null
groups_groups Table is_team_membership BIT 1 0

true if the parent group is a team

results_propagate_sync Table state enum('to_be_propagated', 'to_be_recomputed', 'propagating', 'recomputing') 16 null

"to_be_propagated" means that ancestors should be recomputed

groups_groups_active View watch_approved_at DATETIME 19 null
filters Table archived BIT 1 null
users Table birth_date DATE 10 null

Date of birth, provided by auth platform

gradings Table answer_id BIGINT 19 null
results Table score_obtained_at DATETIME 19 null

Submission time of the first answer which led to the best score

users Table public_first_name TINYINT 3 0

Whether show user's first name in his public profile

results_propagate_sync_conn View state enum('to_be_propagated', 'to_be_recomputed', 'propagating', 'recomputing') 16 null

"to_be_propagated" means that ancestors should be recomputed

items Table show_user_infos BIT 1 0

Always show user infos in title bar of all descendants. Allows the teacher to see who is working on what (e.g., during an exam).

groups Table enforce_max_participants BIT 1 0

Whether the number of participants is a strict constraint

users Table free_text MEDIUMTEXT 16777215 null

Text provided by the user, to be displayed on his public profile

results_propagate Table item_id BIGINT 19 null
users Table member_state TINYINT 3 0

On old website, indicates if the user is a member of France-ioi

results Table score_edit_value FLOAT 12 null

Score which overrides or adds up (depending on score_edit_rule) to the score obtained from best answer or propagation

filters Table body_search VARCHAR 100 null
users Table access_group_id BIGINT 19 null
items Table read_only BIT 1 0

Prevents any modification of the scores for this item (typically, to display a contest item after the end date of the contest)

items Table type enum('Chapter', 'Task', 'Skill') 7 null
group_managers Table can_manage_value TINYINT UNSIGNED 3 null

can_manage as an integer (to use comparison operators)

permissions_propagate_sync Table connection_id BIGINT UNSIGNED 20 null
groups_groups Table parent_group_id BIGINT 19 null
items_strings Table language_tag VARCHAR 6 null

Language tag of this content

sessions Table user_id BIGINT 19 null
platforms Table public_key VARCHAR 512 null

Public key of this platform

users Table graduation_year INT 10 0

High school graduation year

platforms Table name VARCHAR 50
attempts Table participant_id BIGINT 19 null
attempts Table ended_at DATETIME 19 null

Time at which the attempt was (typically manually) ended

permissions_generated Table can_view_generated_value TINYINT UNSIGNED 3 null

can_view_generated as an integer (to use comparison operators)

results_propagate_sync_conn View attempt_id BIGINT 19 0
item_dependencies Table dependent_item_id BIGINT 19 null
users Table login VARCHAR 100

login provided by the auth platform

filters Table item_id BIGINT 19 null
users Table notify enum('Never', 'Answers', 'Concerned') 9 Answers

When we should send an email to the user. Answers: when someone posts a message on a thread created by the user. Concerned: when someone post a message on a thread that the user participated in

results_propagate Table participant_id BIGINT 19 null
sessions Table refresh_token VARBINARY 2000 null

Refresh tokens (unlimited lifetime) used by the backend to request fresh access tokens from the auth module

groups_ancestors_active View child_group_id BIGINT 19 null
gradings Table graded_at DATETIME 19 null

When was it last graded

groups_groups_active View child_group_type enum('Class', 'Team', 'Club', 'Friends', 'Other', 'User', 'Session', 'Base', 'ContestParticipants') 19 null

The type of the child group in the relationship (we duplicate groups.type to improve performance)

permissions_propagate Table propagate_to enum('self', 'children') 8 null

Which permissions should be recomputed for the group-item pair on the next iteration, either for the pair or for its children (through item hierarchy)

permissions_granted Table item_id BIGINT 19 null
permissions_generated Table can_watch_generated enum('none', 'result', 'answer', 'answer_with_grant') 17 none

The aggregated level of observation a group has for an item, on the activity of the users he can watch

items_strings Table edu_comment TEXT 65535 null

Information about what this item teaches, in the specified language.

items_items Table parent_item_id BIGINT 19 null
users Table email_verified BIT 1 0

Whether email has been verified, provided by auth platform

groups Table address_country VARCHAR 255 null

For sessions or schools

items_items Table edit_propagation BIT 1 0

Whether can_edit propagates (as the same value, with “all” as the upper limit)

groups Table require_members_to_join_parent BIT 1 0

For sessions, whether the user joining this group should join the parent group as well

groups Table address_line2 VARCHAR 255 null

For sessions or schools

items_strings Table title VARCHAR 200 null

Title of the item, in the specified language

users Table step_level_in_site INT 10 0

User's level

groups_groups Table expires_at DATETIME 19 9999-12-31 23:59:59

The group membership expires at the specified time

permissions_generated Table can_watch_generated_value TINYINT UNSIGNED 3 null

can_watch_generated as an integer (to use comparison operators)

filters Table older_than INT 10 null
results Table hints_cached INT 10 0

Number of hints which have been requested for this attempt

goose_db_version Table tstamp TIMESTAMP 19 CURRENT_TIMESTAMP
error_log Table details TEXT 65535 null
groups Table send_emails BIT 1 0
filters Table name VARCHAR 45
groups_propagate Table id BIGINT 19 null
results Table score_computed FLOAT 12 0

Score computed from the best answer or by propagation, with score_edit_rule applied

users Table open_id_identity VARCHAR 255 null

User's Open Id Identity

items Table text_id VARCHAR 200 null

Unique string identifying the item, independently of where it is hosted

answers Table type enum('Submission', 'Saved', 'Current') 10 null

'Submission' for answers submitted for grading, 'Saved' for manual backups of answers, 'Current' for automatic snapshots of the latest answers (unique for a user on an attempt)

groups Table require_personal_info_access_approval enum('none', 'view', 'edit') 4 none

If not 'none', requires (for joining) members to approve that managers may be able to view or edit their personal information

groups Table address_line1 VARCHAR 255 null

For sessions or schools

users Table grade INT 10 null

School grade, provided by auth platform

items Table entry_max_team_size INT 10 0

The maximum number of members a team can have to enter

permissions_propagate_sync Table item_id BIGINT 19 null
items Table full_screen enum('forceYes', 'forceNo', 'default') 8 default

Whether the item should be loaded in full screen mode (without the navigation panel and most of the top header). By default, tasks are displayed in full screen, but not chapters.

groups Table name VARCHAR 200
results Table validated_at DATETIME 19 null

Submission time of the first answer that made the attempt validated

group_membership_changes Table initiator_id BIGINT 19 null

The user who initiated the action (if any), typically the group owner/manager or the member himself

groups_ancestors Table child_group_id BIGINT 19 null
users Table student_id TEXT 65535 null

A student id provided by the school, provided by auth platform

users Table last_ip VARCHAR 16 null

Last IP (to detect cheaters).

items_ancestors Table ancestor_item_id BIGINT 19 null
users Table time_zone VARCHAR 100 null

Time zone, provided by auth platform

results Table attempt_id BIGINT 19 0
users Table password_md5 VARCHAR 100 null
attempts Table created_at DATETIME 19 CURRENT_TIMESTAMP

Time at which the attempt was manually created or was first marked as started (should be when it is first visited).

groups_groups_active View personal_info_view_approved BIT 1 null

personal_info_view_approved_at as boolean

results Table latest_activity_at DATETIME 19 CURRENT_TIMESTAMP

Time of the latest activity (attempt creation, submission, hint request) of a user on this attempt or its children

items_items Table grant_view_propagation BIT 1 0

Whether can_grant_view propagates (as the same value, with “solution” as the upper limit)

badges Table user_id BIGINT 19 null
group_managers Table group_id BIGINT 19 null
users Table cell_phone_number LONGTEXT 2147483647 null

Mobile phone number, provided by auth platform

groups_ancestors Table is_self BIT 1 null

Whether ancestor_group_id = child_group_id (auto-generated)

groups_ancestors_active View expires_at DATETIME 19 9999-12-31 23:59:59

The group relation expires at the specified time

items_strings Table image_url VARCHAR 2048 null

Url of a small image associated with this item.

group_managers Table can_grant_group_access BIT 1 0

Can give members access rights to some items (requires the giver to be allowed to give this permission on the item)

items Table prompt_to_join_group_by_code BIT 1 0

Whether the UI should display a form for joining a group by code on the item page

users Table group_id BIGINT 19 null

Group that represents this user

user_batches_v2 Table created_at DATETIME 19 CURRENT_TIMESTAMP
user_batch_prefixes Table max_users MEDIUMINT UNSIGNED 8 1000

Maximum number of users that can be created under this prefix

attempts Table id BIGINT 19 null

Identifier of this attempt for this participant, 0 is the default attempt for the participant, the next ones are sequentially assigned.

users Table notifications_read_at DATETIME 19 null

When the user last read notifications

goose_db_version Table id BIGINT UNSIGNED 20 null
group_membership_changes Table member_id BIGINT 19 null
groups Table is_public BIT 1 0

Whether it is visible to all users (through search) and open to join requests

permissions_generated Table can_edit_generated enum('none', 'children', 'all', 'all_with_grant') 14 none

The aggregated level of edition permissions a group has on an item

results_propagate_sync Table item_id BIGINT 19 null
filters Table participated BIT 1 null
permissions_granted Table can_view enum('none', 'info', 'content', 'content_with_descendants', 'solution') 24 none

The level of visibility the group has on the item

items_items Table category enum('Undefined', 'Discovery', 'Application', 'Validation', 'Challenge') 11 Undefined

Tag that indicates the role of this item, from the point of view of the parent item's validation criteria. Also gives indication to the user of the role of the item.

groups_groups Table lock_membership_approved_at DATETIME 19 null
permissions_propagate_sync_conn View group_id BIGINT 19 null
access_tokens Table expires_at DATETIME 19 null

The time the token expires and becomes invalid. It should be deleted after this time.

items_propagate Table ancestors_computation_state enum('todo', 'done') 4 null
users Table first_name VARCHAR 100 null

First name, provided by auth platform

error_log Table browser TEXT 65535 null
permissions_granted Table group_id BIGINT 19 null
stopwords Table value VARCHAR 30 null
group_pending_requests Table personal_info_view_approved BIT 1 0

for join requests

results Table tasks_with_help INT 10 0

Number of this item's descendants tasks within this attempts for which the user asked for hints (or help on the forum - not implemented)

groups_ancestors Table ancestor_group_id BIGINT 19 null
items Table no_score BIT 1 0

Whether this item should not have any score displayed / propagated to the parent.

sessions Table session_id BIGINT 19 null
answers Table attempt_id BIGINT 19 null
groups_ancestors Table expires_at DATETIME 19 9999-12-31 23:59:59

The group relation expires at the specified time

filters Table unread BIT 1 null
filters Table selected BIT 1 0
permissions_granted Table can_edit enum('none', 'children', 'all', 'all_with_grant') 14 none

The level of edition permissions a group has on an item