Columns

Columns

Table Type Column Type Size Nulls Auto Default Comments
items Table requires_explicit_entry BIT 1 0

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

answers Table item_id BIGINT 19 null
group_managers Table group_id BIGINT 19 null
platforms Table public_key VARCHAR 512 null

Public key of this platform

permissions_granted Table item_id BIGINT 19 null
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

users Table public_first_name TINYINT 3 0

Whether show user's first name in his public profile

items_items Table upper_view_levels_propagation_value TINYINT UNSIGNED 3 null

upper_view_levels_propagation as an integer (to use comparison operators)

groups_groups_active View personal_info_view_approved_at DATETIME 19 null
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)

groups Table address_line2 VARCHAR 255 null

For sessions or schools

items Table default_language_tag VARCHAR 6 null

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

permissions_propagate_sync Table item_id BIGINT 19 null
users Table cell_phone_number LONGTEXT 2147483647 null

Mobile phone number, provided by auth platform

users Table group_id BIGINT 19 null

Group that represents this user

items_items Table edit_propagation BIT 1 0

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

filters Table item_id BIGINT 19 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).

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_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

users Table password_md5 VARCHAR 100 null
items_items Table content_view_propagation enum('none', 'as_info', 'as_content') 10 none

Defines how a can_view=”content” permission propagates

badges Table name TEXT 65535 null
sessions Table user_id BIGINT 19 null
badges Table user_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 notifications_read_at DATETIME 19 null

When the user last read notifications

groups Table root_activity_id BIGINT 19 null

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

groups Table grade_details VARCHAR 50 null

Explanations about the grade

groups Table expected_start DATETIME 19 null

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

filters Table id BIGINT 19 null
items Table title_bar_visible TINYINT UNSIGNED 3 1

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

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)

item_dependencies Table dependent_item_id BIGINT 19 null
group_pending_requests Table type enum('invitation', 'join_request', 'leave_request') 13 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

items Table entry_frozen_teams BIT 1 0

Whether teams require to have frozen_membership for entering

answers Table created_at DATETIME 19 null

Submission time

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

items_propagate Table id BIGINT 19 null
results Table recomputing_state enum('recomputing', 'modified', 'unchanged') 11 unchanged

State of the result, used during recomputing

results Table score_obtained_at DATETIME 19 null

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

items_items Table watch_propagation BIT 1 0

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

items_propagate Table ancestors_computation_state enum('todo', 'done') 4 null
groups Table code VARBINARY 50 null

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

threads Table latest_update_at DATETIME 19 CURRENT_TIMESTAMP

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

gradings Table graded_at DATETIME 19 null

When was it last graded

user_batch_prefixes Table group_prefix VARCHAR 13 null

Prefix used in front of all batches

users Table public_last_name TINYINT 3 0

Whether show user's last name in his public profile

groups Table grade INT 10 -2

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

permissions_generated Table can_grant_view_generated_value TINYINT UNSIGNED 3 null

can_grant_view_generated as an integer (to use comparison operators)

users Table step_level_in_site INT 10 0

User's level

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)

items Table options TEXT 65535 null

Options passed to the task, formatted as a JSON object

filters Table older_than INT 10 null
groups_ancestors_active View ancestor_group_id BIGINT 19 null
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

results Table participant_id BIGINT 19 null
permissions_propagate Table group_id BIGINT 19 null
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

items_strings Table edu_comment TEXT 65535 null

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

items Table url VARCHAR 2048 null

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

items_items Table parent_item_id BIGINT 19 null
threads Table helper_group_id BIGINT 19 null
groups_groups Table child_group_id BIGINT 19 null
goose_db_version Table version_id BIGINT 19 null
answers Table state MEDIUMTEXT 16777215 null

Saved state (sent by the task platform)

permissions_granted Table origin enum('group_membership', 'item_unlocking', 'self', 'other') 16 null
groups_groups_active View child_group_id BIGINT 19 null
user_batches_v2 Table group_prefix VARCHAR 13 null

Authorized (first) part of the full login prefix

permissions_propagate_sync_conn View item_id BIGINT 19 null
users Table birth_date DATE 10 null

Date of birth, provided by auth platform

group_pending_requests Table group_id BIGINT 19 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

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.

threads Table item_id BIGINT 19 null
results Table score_edit_comment VARCHAR 200 null

Explanation of the value set in score_edit_value

results_propagate_sync Table participant_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_propagate_sync_conn View participant_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

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.

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

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

users Table last_ip VARCHAR 16 null

Last IP (to detect cheaters).

items Table text_id VARCHAR 200 null

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

sessions Table session_id BIGINT 19 null
users Table login VARCHAR 100

login provided by the auth platform

items_ancestors Table ancestor_item_id BIGINT 19 null
groups Table frozen_membership BIT 1 0

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

groups_groups Table lock_membership_approved_at DATETIME 19 null
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

groups Table code_expires_at DATETIME 19 null

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

users Table time_zone VARCHAR 100 null

Time zone, provided by auth platform

filters Table selected BIT 1 0
results_recompute_for_items Table item_id BIGINT 19 null
permissions_generated Table group_id BIGINT 19 null
group_pending_requests Table lock_membership_approved BIT 1 0

for join requests

groups_propagate Table ancestors_computation_state enum('todo', 'done') 4 null
access_tokens Table issued_at DATETIME 19 CURRENT_TIMESTAMP

The time the token was issued.

permissions_granted Table can_grant_view_value TINYINT UNSIGNED 3 null

can_grant_view as an integer (to use comparison operators)

permissions_granted Table can_edit_value TINYINT UNSIGNED 3 null

can_edit as an integer (to use comparison operators)

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).

goose_db_version Table id BIGINT UNSIGNED 20 null
items_strings Table image_url VARCHAR 2048 null

Url of a small image associated with this item.

items_strings Table subtitle VARCHAR 200 null

Subtitle of the item in the specified language

results_propagate_sync Table item_id BIGINT 19 null
groups_ancestors Table ancestor_group_id BIGINT 19 null
results Table validated_at DATETIME 19 null

Submission time of the first answer that made the attempt validated

groups Table address_country VARCHAR 255 null

For sessions or schools

groups_groups Table is_team_membership BIT 1 0

true if the parent group is a team

items Table type enum('Chapter', 'Task', 'Skill') 7 null
error_log Table date TIMESTAMP 19 CURRENT_TIMESTAMP
groups_groups_active View watch_approved_at DATETIME 19 null
filters Table newer_than INT 10 null
items_items Table grant_view_propagation BIT 1 0

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

users Table grade INT 10 null

School grade, provided by auth platform

users Table profile_last_name TEXT 65535 null
results_propagate_internal Table state enum('to_be_propagated', 'to_be_recomputed', 'propagating', 'recomputing') 16 null

"to_be_propagated" means that ancestors should be recomputed

results_propagate_sync Table attempt_id BIGINT 19 0
error_log Table url TEXT 65535 null
items_strings Table language_tag VARCHAR 6 null

Language tag of this content

results Table score_computed FLOAT 12 0

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

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

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 is_admin TINYINT 3 0

Is the user an admin? Not used?

group_managers Table can_manage enum('none', 'memberships', 'memberships_and_group') 21 none
groups Table send_emails BIT 1 0
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

attempts Table root_item_id BIGINT 19 null

The item on which the attempt was created

filters Table starred BIT 1 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.

users Table country_code CHAR 3

3-letter country code

groups_groups Table personal_info_view_approved_at DATETIME 19 null
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

item_dependencies Table item_id BIGINT 19 null
filters Table important BIT 1 null
items Table hints_allowed BIT 1 0

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

groups_ancestors_active View child_group_id BIGINT 19 null
items_items Table content_view_propagation_value TINYINT UNSIGNED 3 null

content_view_propagation as an integer (to use comparison operators)

groups_groups Table lock_membership_approved BIT 1 null

lock_membership_approved_at as boolean

results_propagate_internal Table participant_id BIGINT 19 null
permissions_generated Table can_edit_generated_value TINYINT UNSIGNED 3 null

can_edit_generated as an integer (to use comparison operators)

users Table student_id TEXT 65535 null

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

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.

stopwords Table value VARCHAR 30 null
answers Table attempt_id BIGINT 19 null
results_propagate_internal Table attempt_id BIGINT 19 0
users Table last_name VARCHAR 100 null

Last name, provided by auth platform

items Table supported_lang_prog VARCHAR 200 null

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

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

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.

platforms Table name VARCHAR 50
results Table hints_requested MEDIUMTEXT 16777215 null

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

users Table notify_news TINYINT 3 0

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

groups_groups_active View is_team_membership BIT 1 0

true if the parent group is a team

users Table photo_autoload BIT 1 0

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

groups_groups Table watch_approved BIT 1 null

watch_approved_at as boolean

users Table recover VARCHAR 50 null
groups Table root_skill_id BIGINT 19 null

Root skill associated with this group

results Table hints_cached INT 10 0

Number of hints which have been requested for this attempt

error_log Table id BIGINT UNSIGNED 20 null
threads Table status enum('waiting_for_participant', 'waiting_for_trainer', 'closed') 23 null
results Table item_id BIGINT 19 null
answers Table participant_id BIGINT 19 null
permissions_granted Table can_view_value TINYINT UNSIGNED 3 null

can_view as an integer (to use comparison operators)

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

gradings Table answer_id BIGINT 19 null
answers Table author_id BIGINT 19 null
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

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

access_tokens Table expires_at DATETIME 19 null

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

user_batches_v2 Table custom_prefix VARCHAR 14 null

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

users Table city LONGTEXT 2147483647 null

City, provided by auth platform

permissions_granted Table group_id BIGINT 19 null
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.

group_managers Table can_manage_value TINYINT UNSIGNED 3 null

can_manage as an integer (to use comparison operators)

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

items Table allows_multiple_attempts BIT 1 0

Whether participants can create multiple attempts when working on this item

filters Table body_search VARCHAR 100 null
groups_groups Table parent_group_id BIGINT 19 null
permissions_propagate_sync_conn View connection_id BIGINT UNSIGNED 20 null
groups_groups_active View lock_membership_approved_at DATETIME 19 null
groups Table address_postcode VARCHAR 25 null

For sessions or schools

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

users Table login_id BIGINT 19 null

"userId" returned by the auth platform

users Table latest_activity_at DATETIME 19 null

Last activity time on the platform (any action)

users Table default_language CHAR 3 fr

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

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)

group_pending_requests Table member_id BIGINT 19 null
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

access_tokens Table token VARBINARY 2000 null

The access token.

results_propagate Table state enum('to_be_propagated', 'to_be_recomputed') 16 null

"to_be_propagated" means that ancestors should be recomputed

badges Table code TEXT 65535 null
results Table latest_hint_at DATETIME 19 null

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

items Table display_details_in_parent TINYINT UNSIGNED 3 0

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

groups Table enforce_max_participants BIT 1 0

Whether the number of participants is a strict constraint

group_item_additional_times Table item_id BIGINT 19 null
groups_ancestors Table child_group_id BIGINT 19 null
groups_groups_active View watch_approved BIT 1 null

watch_approved_at as boolean

groups_propagate Table id BIGINT 19 null
items Table entry_max_team_size INT 10 0

The maximum number of members a team can have to enter

group_pending_requests Table personal_info_view_approved BIT 1 0

for join requests

threads Table participant_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).

groups_groups Table watch_approved_at DATETIME 19 null
results_propagate Table attempt_id BIGINT 19 0
groups Table created_at DATETIME 19 CURRENT_TIMESTAMP
items Table entry_participant_type enum('User', 'Team') 4 User

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

groups Table type enum('Class', 'Team', 'Club', 'Friends', 'Other', 'User', 'Session', 'Base', 'ContestParticipants') 19 null
groups_ancestors_active View is_self BIT 1 null

Whether ancestor_group_id = child_group_id (auto-generated)

users Table latest_profile_sync_at DATETIME 19 null

Last time when the profile was synced with the login module

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)

groups Table name VARCHAR 200
users Table sex enum('Male', 'Female') 6 null

Gender, provided by auth platform

permissions_granted Table source_group_id BIGINT 19 null
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

users Table temp_user BIT 1 0

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

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

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_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

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 Table require_members_to_join_parent BIT 1 0

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

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.

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.

users Table profile_first_name TEXT 65535 null
results Table attempt_id BIGINT 19 0
languages Table tag VARCHAR 6 null

Language tag as defined in RFC5646

items Table id BIGINT 19 null
items_items Table score_weight TINYINT UNSIGNED 3 1

Weight of this child in his parent's score computation

filters Table start_date DATETIME 19 null
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

permissions_granted Table can_make_session_official BIT 1 0

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

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.

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

The group membership expires at the specified time

users Table access_group_id BIGINT 19 null
groups_groups_active View parent_group_id BIGINT 19 null
permissions_propagate_sync_conn View group_id BIGINT 19 null
results_propagate_sync_conn View item_id BIGINT 19 null
filters Table end_date DATETIME 19 null
users Table email VARCHAR 100 null

E-mail, provided by auth platform

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

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)

users Table zipcode LONGTEXT 2147483647 null

Zip code, provided by auth platform

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

The group relation expires at the specified time

items Table duration TIME 8 null

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

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)

users Table land_line_number LONGTEXT 2147483647 null

Phone number, provided by auth platform

results_propagate Table item_id BIGINT 19 null
users Table lang_prog VARCHAR 30 Python

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

answers Table activity_type_int TINYINT 3 null
filters Table users_search VARCHAR 200 null
users Table basic_editor_mode TINYINT 3 1

Which editor should be used in programming tasks.

items Table uses_api BIT 1 1

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

items Table repository_path TEXT 65535 null
group_managers Table manager_id BIGINT 19 null
gradings Table score FLOAT 12 null

Score obtained

threads Table message_count INT 10 0

Approximation of the number of message sent on the thread.

items_strings Table item_id BIGINT 19 null
group_membership_changes Table group_id BIGINT 19 null
platforms Table base_url VARCHAR 200 null

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

users Table email_verified BIT 1 0

Whether email has been verified, provided by auth platform

platforms Table id INT 10 null
group_membership_changes Table at DATETIME 23 CURRENT_TIMESTAMP(3)

Time of the action

attempts Table participant_id BIGINT 19 null
permissions_generated Table item_id BIGINT 19 null
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 creator_id BIGINT 19 null

User who created a given login with the login generation tool

user_batches_v2 Table size MEDIUMINT UNSIGNED 8 null

Number of users created in this batch

filters Table unread BIT 1 null
users Table address MEDIUMTEXT 16777215 null

Address, provided by auth platform

results_propagate Table participant_id BIGINT 19 null
group_membership_changes Table member_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

results Table latest_submission_at DATETIME 19 null

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

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

results_propagate_sync_conn View attempt_id BIGINT 19 0
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

permissions_propagate_sync Table group_id BIGINT 19 null
goose_db_version Table is_applied BIT 1 null
items_strings Table description TEXT 65535 null

Description of the item in the specified language

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 profile JSON 1073741824 null

A JSON object containing user profile information returned by the login module as the "profile" field

groups Table address_city VARCHAR 255 null

For sessions or schools

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 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

groups Table address_line1 VARCHAR 255 null

For sessions or schools

items_strings Table translator VARCHAR 100 null

Name of the translator(s) of this content

users Table latest_login_at DATETIME 19 null

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

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

filters Table group_id INT 10 null
results Table submissions INT 10 0

Number of submissions. Only for tasks, not propagated

group_item_additional_times Table group_id BIGINT 19 null
error_log Table details TEXT 65535 null
groups Table open_activity_when_joining BIT 1 0

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

filters Table user_id BIGINT 19 null
results_propagate_sync Table connection_id BIGINT UNSIGNED 20 null
answers Table answer MEDIUMTEXT 16777215 null

Saved answer (sent by the task platform)

user_batches_v2 Table creator_id BIGINT 19 null
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)

results_propagate_sync_conn View connection_id BIGINT UNSIGNED 20 null
items Table platform_id INT 10 null

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

answers Table 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 Table organizer VARCHAR 255 null

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

users Table first_name VARCHAR 100 null

First name, provided by auth platform

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.

badges Table 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)

groups Table id BIGINT 19 null
results Table started BIT 1 null

Auto-generated from started_at

user_batch_prefixes Table max_users MEDIUMINT UNSIGNED 8 1000

Maximum number of users that can be created under this prefix

attempts Table parent_attempt_id BIGINT 19 null

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

users Table salt VARCHAR 32 null
users Table free_text MEDIUMTEXT 16777215 null

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

permissions_generated Table can_watch_generated_value TINYINT UNSIGNED 3 null

can_watch_generated as an integer (to use comparison operators)

users Table registered_at DATETIME 19 null

When the user first connected to this platform

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)

user_batches_v2 Table created_at DATETIME 19 CURRENT_TIMESTAMP
sessions Table refresh_token VARBINARY 2000 null

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

item_dependencies Table grant_content_view BIT 1 1

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

results Table validated BIT 1 null

Auto-generated from validated_at

items_items Table child_item_id BIGINT 19 null
results Table help_requested BIT 1 0

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

group_pending_requests Table watch_approved BIT 1 0

for join requests

users Table graduation_year INT 10 0

High school graduation year

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

items_strings Table title VARCHAR 200 null

Title of the item, in the specified language

results_propagate_internal Table item_id BIGINT 19 null
items Table no_score BIT 1 0

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

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

The group relation expires at the specified time

groups_ancestors Table is_self BIT 1 null

Whether ancestor_group_id = child_group_id (auto-generated)

permissions_generated Table can_view_generated_value TINYINT UNSIGNED 3 null

can_view_generated as an integer (to use comparison operators)

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
users Table spaces_for_tab INT 10 3

How many spaces for a tabulation, in programming tasks.

languages Table name VARCHAR 100
items_ancestors Table child_item_id BIGINT 19 null
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

goose_db_version Table tstamp TIMESTAMP 19 CURRENT_TIMESTAMP
users Table help_given INT 10 0

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

filters Table archived BIT 1 null
results_recompute_for_items Table is_being_processed BIT 1 0
permissions_granted Table can_watch_value TINYINT UNSIGNED 3 null

can_watch as an integer (to use comparison operators)

groups_groups Table personal_info_view_approved BIT 1 null

personal_info_view_approved_at as boolean

groups_groups_active View lock_membership_approved BIT 1 null

lock_membership_approved_at as boolean

access_tokens Table session_id BIGINT 19 null
items_items Table request_help_propagation TINYINT 3 0

Whether can_request_help_to propagates

users Table open_id_identity VARCHAR 255 null

User's Open Id Identity

error_log Table browser TEXT 65535 null
permissions_propagate_sync Table connection_id BIGINT UNSIGNED 20 null
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)

group_pending_requests Table at DATETIME 23 CURRENT_TIMESTAMP(3)
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

attempts Table creator_id BIGINT 19 null

The user who created this attempt

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

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

user_batch_prefixes Table allow_new BIT 1 1

Whether this prefix can be used for new user batches

permissions_propagate Table item_id BIGINT 19 null
attempts Table ended_at DATETIME 19 null

Time at which the attempt was (typically manually) ended

filters Table participated BIT 1 null
filters Table name VARCHAR 45
permissions_granted Table latest_update_at DATETIME 19 CURRENT_TIMESTAMP

Last time one of the attributes has been modified