Columns
Table | Type | Column | Type | Size | Nulls | Auto | Default | Comments |
---|---|---|---|---|---|---|---|---|
group_pending_requests | Table | member_id | BIGINT | 19 | null | |||
results | Table | hints_cached | INT | 10 | 0 | Number of hints which have been requested for this attempt |
||
answers | Table | created_at | DATETIME | 19 | null | Submission time |
||
items | Table | id | BIGINT | 19 | null | |||
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. |
||
items_items | Table | watch_propagation | BIT | 1 | 0 | Whether can_watch propagates (as the same value, with “answer” as the upper limit) |
||
item_dependencies | Table | dependent_item_id | BIGINT | 19 | null | |||
items_ancestors | Table | child_item_id | BIGINT | 19 | null | |||
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. |
|
groups_groups | Table | is_team_membership | BIT | 1 | 0 | true if the parent group is a team |
||
group_pending_requests | Table | group_id | BIGINT | 19 | null | |||
permissions_granted | Table | can_edit_value | TINYINT UNSIGNED | 3 | null | can_edit as an integer (to use comparison operators) |
||
results_propagate_sync | Table | attempt_id | BIGINT | 19 | 0 | |||
users | Table | default_language | CHAR | 3 | fr | Current language used to display content. Initial version provided by auth platform, then can be changed manually. |
||
permissions_generated | Table | can_watch_generated_value | TINYINT UNSIGNED | 3 | null | can_watch_generated as an integer (to use comparison operators) |
||
items_strings | Table | translator | VARCHAR | 100 | √ | null | Name of the translator(s) of this content |
|
items | Table | children_layout | enum('List', 'Grid') | 4 | √ | List | How the children list are displayed (for chapters and skills) |
|
items_items | Table | edit_propagation | BIT | 1 | 0 | Whether can_edit propagates (as the same value, with “all” as the upper limit) |
||
attempts | Table | parent_attempt_id | BIGINT | 19 | √ | null | The attempt from which this one was forked. NULL for the default attempt. |
|
users | Table | web_site | VARCHAR | 100 | √ | null | Link to the user's website, to be displayed on his public profile |
|
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 |
||
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 | password_md5 | VARCHAR | 100 | √ | null | ||
permissions_granted | Table | can_make_session_official | BIT | 1 | 0 | Whether the group is allowed to associate official sessions to this item |
||
groups_propagate | Table | id | BIGINT | 19 | null | |||
groups_ancestors_active | View | expires_at | DATETIME | 19 | 9999-12-31 23:59:59 | The group relation expires at the specified time |
||
groups | Table | address_line2 | VARCHAR | 255 | √ | null | For sessions or schools |
|
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 |
|
groups_groups | Table | lock_membership_approved | BIT | 1 | null | lock_membership_approved_at as boolean |
||
filters | Table | body_search | VARCHAR | 100 | √ | null | ||
items | Table | entry_frozen_teams | BIT | 1 | 0 | Whether teams require to have |
||
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 |
||
stopwords | Table | value | VARCHAR | 30 | √ | null | ||
groups | Table | organizer | VARCHAR | 255 | √ | null | For sessions, a teacher/animator in charge of the organization |
|
group_pending_requests | Table | watch_approved | BIT | 1 | 0 | for join requests |
||
results | Table | latest_submission_at | DATETIME | 19 | √ | null | Time of the latest submission. Only for tasks, not propagated |
|
items_items | Table | request_help_propagation | TINYINT | 3 | 0 | Whether can_request_help_to propagates |
||
user_batch_prefixes | Table | max_users | MEDIUMINT UNSIGNED | 8 | 1000 | Maximum number of users that can be created under this prefix |
||
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 |
||
permissions_granted | Table | source_group_id | BIGINT | 19 | null | |||
permissions_generated | Table | can_grant_view_generated_value | TINYINT UNSIGNED | 3 | null | can_grant_view_generated as an integer (to use comparison operators) |
||
user_batch_prefixes | Table | allow_new | BIT | 1 | 1 | Whether this prefix can be used for new user batches |
||
groups | Table | enforce_max_participants | BIT | 1 | √ | 0 | Whether the number of participants is a strict constraint |
|
filters | Table | name | VARCHAR | 45 | ||||
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 |
||
user_batches_v2 | Table | group_prefix | VARCHAR | 13 | null | Authorized (first) part of the full login prefix |
||
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 | 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 |
||
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 |
||
groups_groups_active | View | watch_approved_at | DATETIME | 19 | √ | null | ||
users | Table | graduation_year | INT | 10 | 0 | High school graduation year |
||
items | Table | requires_explicit_entry | BIT | 1 | 0 | Whether this item requires an explicit entry to be started (create an attempt) |
||
items_strings | Table | image_url | VARCHAR | 2048 | √ | null | Url of a small image associated with this item. |
|
group_pending_requests | Table | at | DATETIME | 23 | CURRENT_TIMESTAMP(3) | |||
results | Table | help_requested | BIT | 1 | 0 | Whether the participant is requesting help on the item in this attempt |
||
results | Table | score_edit_comment | VARCHAR | 200 | √ | null | Explanation of the value set in score_edit_value |
|
groups | Table | is_official_session | BIT | 1 | 0 | Whether this session is shown on the activity page (require specific permissions) |
||
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 | default_language_tag | VARCHAR | 6 | null | Default language tag of this task (the reference, used when comparing translations) |
||
permissions_generated | Table | group_id | BIGINT | 19 | null | |||
filters | Table | user_id | BIGINT | 19 | null | |||
filters | Table | start_date | DATETIME | 19 | √ | null | ||
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 |
|
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 | content_view_propagation | enum('none', 'as_info', 'as_content') | 10 | none | Defines how a can_view=”content” permission propagates |
||
users | Table | address | MEDIUMTEXT | 16777215 | √ | null | Address, provided by auth platform |
|
users | Table | is_admin | TINYINT | 3 | 0 | Is the user an admin? Not used? |
||
permissions_propagate | Table | item_id | BIGINT | 19 | 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) |
||
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 | Table | watch_approved | BIT | 1 | null | watch_approved_at as boolean |
||
badges | Table | user_id | BIGINT | 19 | null | |||
results_propagate_sync_conn | View | connection_id | BIGINT UNSIGNED | 20 | null | |||
groups_groups_active | View | lock_membership_approved | BIT | 1 | null | lock_membership_approved_at as boolean |
||
groups | Table | max_participants | INT UNSIGNED | 10 | √ | null | The maximum number of participants (users and teams) in this group (strict limit if |
|
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 |
||
group_membership_changes | Table | at | DATETIME | 23 | CURRENT_TIMESTAMP(3) | Time of the action |
||
item_dependencies | Table | item_id | BIGINT | 19 | null | |||
groups_groups_active | View | personal_info_view_approved_at | DATETIME | 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 |
||
users | Table | open_id_identity | VARCHAR | 255 | √ | null | User's Open Id Identity |
|
users | Table | public_first_name | TINYINT | 3 | 0 | Whether show user's first name in his public profile |
||
groups_ancestors | Table | is_self | BIT | 1 | √ | null | Whether ancestor_group_id = child_group_id (auto-generated) |
|
threads | Table | latest_update_at | DATETIME | 19 | CURRENT_TIMESTAMP | Last time a message was posted or the status was updated. |
||
filters | Table | group_id | INT | 10 | √ | null | ||
groups | Table | address_line1 | VARCHAR | 255 | √ | null | For sessions or schools |
|
users | Table | step_level_in_site | INT | 10 | 0 | User's level |
||
platforms | Table | name | VARCHAR | 50 | ||||
groups | Table | root_activity_id | BIGINT | 19 | √ | null | Root activity (chapter, task, or course) associated with this group |
|
items_items | Table | parent_item_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 |
|
answers | Table | attempt_id | BIGINT | 19 | 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. |
||
items_propagate | Table | ancestors_computation_state | enum('todo', 'done') | 4 | null | |||
group_item_additional_times | Table | item_id | BIGINT | 19 | null | |||
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 |
||
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 | ||
items | Table | title_bar_visible | TINYINT UNSIGNED | 3 | 1 | Whether the title bar should be visible initially when this item is loaded |
||
items | Table | display_details_in_parent | TINYINT UNSIGNED | 3 | 0 | If true, display a large icon, the subtitle, and more within the parent chapter |
||
results_propagate_sync_conn | View | attempt_id | BIGINT | 19 | 0 | |||
users | Table | time_zone | VARCHAR | 100 | √ | null | Time zone, provided by auth platform |
|
error_log | Table | date | TIMESTAMP | 19 | CURRENT_TIMESTAMP | |||
permissions_granted | Table | group_id | BIGINT | 19 | null | |||
groups_groups | Table | lock_membership_approved_at | DATETIME | 19 | √ | null | ||
filters | Table | participated | BIT | 1 | √ | null | ||
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. |
||
groups | Table | is_public | BIT | 1 | 0 | Whether it is visible to all users (through search) and open to join requests |
||
items_strings | Table | subtitle | VARCHAR | 200 | √ | null | Subtitle of the item in the specified language |
|
permissions_generated | Table | can_view_generated_value | TINYINT UNSIGNED | 3 | null | can_view_generated as an integer (to use comparison operators) |
||
users | Table | help_given | INT | 10 | 0 | How many times did the user help others (# of discussions) |
||
permissions_propagate_sync_conn | View | item_id | BIGINT | 19 | null | |||
answers | Table | answer | MEDIUMTEXT | 16777215 | √ | null | Saved answer (sent by the task platform) |
|
results_propagate_sync_conn | View | participant_id | BIGINT | 19 | null | |||
groups | Table | code | VARBINARY | 50 | √ | null | Code that can be used to join the group (if it is opened) |
|
items | Table | text_id | VARCHAR | 200 | √ | null | Unique string identifying the item, independently of where it is hosted |
|
gradings | Table | score | FLOAT | 12 | null | Score obtained |
||
items_items | Table | upper_view_levels_propagation_value | TINYINT UNSIGNED | 3 | null | upper_view_levels_propagation as an integer (to use comparison operators) |
||
users | Table | registered_at | DATETIME | 19 | √ | null | When the user first connected to this platform |
|
groups_groups_active | View | watch_approved | BIT | 1 | null | watch_approved_at as boolean |
||
results | Table | attempt_id | BIGINT | 19 | 0 | |||
groups | Table | address_country | VARCHAR | 255 | √ | null | For sessions or schools |
|
users | Table | first_name | VARCHAR | 100 | √ | null | First name, provided by auth platform |
|
platforms | Table | base_url | VARCHAR | 200 | √ | null | Base URL for calling the API of the platform (for GDPR services) |
|
items | Table | no_score | BIT | 1 | 0 | Whether this item should not have any score displayed / propagated to the parent. |
||
users | Table | member_state | TINYINT | 3 | 0 | On old website, indicates if the user is a member of France-ioi |
||
filters | Table | unread | BIT | 1 | √ | null | ||
permissions_propagate | Table | group_id | BIGINT | 19 | null | |||
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 |
||
access_tokens | Table | token | VARBINARY | 2000 | null | The access token. |
||
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). |
||
gorp_migrations | Table | id | VARCHAR | 255 | null | |||
items_ancestors | Table | ancestor_item_id | BIGINT | 19 | null | |||
filters | Table | older_than | INT | 10 | √ | null | ||
answers | Table | author_id | BIGINT | 19 | null | |||
groups_ancestors | Table | child_group_id | BIGINT | 19 | null | |||
users | Table | spaces_for_tab | INT | 10 | 3 | How many spaces for a tabulation, in programming tasks. |
||
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 | Table | duration | TIME | 8 | √ | null | Not NULL if time-limited item. If so, how long users have to work on it. |
|
results | Table | started | BIT | 1 | null | Auto-generated from |
||
results | Table | hints_requested | MEDIUMTEXT | 16777215 | √ | null | JSON array of the hints that have been requested for this attempt |
|
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) |
||
users | Table | basic_editor_mode | TINYINT | 3 | 1 | Which editor should be used in programming tasks. |
||
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 |
||
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 | personal_info_view_approved | BIT | 1 | 0 | for join requests |
||
error_log | Table | id | BIGINT UNSIGNED | 20 | √ | null | ||
access_tokens | Table | expires_at | DATETIME | 19 | null | The time the token expires and becomes invalid. It should be deleted after this time. |
||
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) |
||
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_propagate | Table | ancestors_computation_state | enum('todo', 'done') | 4 | null | |||
filters | Table | users_search | VARCHAR | 200 | √ | null | ||
users | Table | lang_prog | VARCHAR | 30 | √ | Python | Current programming language selected by the user (to display the corresponding version of tasks) |
|
groups | Table | address_postcode | VARCHAR | 25 | √ | null | For sessions or schools |
|
results_recompute_for_items | Table | 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 |
||
filters | Table | id | BIGINT | 19 | null | |||
gradings | Table | answer_id | BIGINT | 19 | null | |||
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) |
||
items_propagate | Table | 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) |
||
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 |
||
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 |
|
gradings | Table | graded_at | DATETIME | 19 | null | When was it last graded |
||
users | Table | login | VARCHAR | 100 | login provided by the auth platform |
|||
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). |
||
users | Table | zipcode | LONGTEXT | 2147483647 | √ | null | Zip code, provided by auth platform |
|
results_propagate_sync | Table | connection_id | BIGINT UNSIGNED | 20 | 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). |
||
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 | 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 |
|
gorp_migrations | Table | applied_at | DATETIME | 19 | √ | null | ||
attempts | Table | root_item_id | BIGINT | 19 | √ | null | The item on which the attempt was created |
|
group_managers | Table | can_manage | enum('none', 'memberships', 'memberships_and_group') | 21 | none | |||
items_strings | Table | edu_comment | TEXT | 65535 | √ | null | Information about what this item teaches, in the specified language. |
|
filters | Table | starred | BIT | 1 | √ | null | ||
groups_groups | Table | personal_info_view_approved_at | DATETIME | 19 | √ | null | ||
badges | Table | code | TEXT | 65535 | null | |||
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 | expires_at | DATETIME | 19 | 9999-12-31 23:59:59 | The group membership expires at the specified time |
||
results_propagate_sync | Table | item_id | BIGINT | 19 | null | |||
results | Table | item_id | BIGINT | 19 | null | |||
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) |
||
groups | Table | name | VARCHAR | 200 | ||||
threads | 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 | created_at | DATETIME | 19 | CURRENT_TIMESTAMP | |||
permissions_granted | Table | can_view_value | TINYINT UNSIGNED | 3 | null | can_view as an integer (to use comparison operators) |
||
permissions_granted | Table | latest_update_at | DATETIME | 19 | CURRENT_TIMESTAMP | Last time one of the attributes has been modified |
||
error_log | Table | details | TEXT | 65535 | null | |||
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. |
|
groups_groups | Table | parent_group_id | BIGINT | 19 | null | |||
group_membership_changes | Table | member_id | BIGINT | 19 | null | |||
users | Table | birth_date | DATE | 10 | √ | null | Date of birth, provided by auth platform |
|
group_managers | Table | manager_id | BIGINT | 19 | null | |||
results_propagate | Table | participant_id | BIGINT | 19 | null | |||
answers | Table | participant_id | BIGINT | 19 | null | |||
groups_groups | Table | watch_approved_at | DATETIME | 19 | √ | null | ||
results_propagate | Table | attempt_id | BIGINT | 19 | 0 | |||
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 |
||
filters | Table | newer_than | INT | 10 | √ | null | ||
groups | Table | grade_details | VARCHAR | 50 | √ | null | Explanations about the grade |
|
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 |
||
group_pending_requests | Table | type | enum('invitation', 'join_request', 'leave_request') | 13 | √ | null | ||
groups | Table | send_emails | BIT | 1 | 0 | |||
results_propagate | Table | item_id | BIGINT | 19 | null | |||
groups_groups_active | View | is_team_membership | BIT | 1 | 0 | true if the parent group is a team |
||
groups | Table | open_activity_when_joining | BIT | 1 | 0 | Whether the activity should be started for participants as soon as they join the group |
||
users | Table | access_group_id | BIGINT | 19 | √ | null | ||
items_items | Table | score_weight | TINYINT UNSIGNED | 3 | 1 | Weight of this child in his parent's score computation |
||
users | Table | country_code | CHAR | 3 | 3-letter country code |
|||
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 |
||
threads | Table | participant_id | BIGINT | 19 | null | |||
items | Table | url | VARCHAR | 2048 | √ | null | Url of the item, as will be loaded in the iframe |
|
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. |
||
groups_ancestors_active | View | ancestor_group_id | BIGINT | 19 | null | |||
threads | Table | helper_group_id | BIGINT | 19 | null | |||
group_pending_requests | Table | lock_membership_approved | BIT | 1 | 0 | for join requests |
||
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 |
||
permissions_propagate_sync_conn | View | group_id | BIGINT | 19 | null | |||
results | Table | recomputing_state | enum('recomputing', 'modified', 'unchanged') | 11 | unchanged | State of the result, used during recomputing |
||
user_batch_prefixes | Table | group_prefix | VARCHAR | 13 | null | Prefix used in front of all batches |
||
items | Table | supported_lang_prog | VARCHAR | 200 | √ | null | Comma-separated list of programming languages that this item can be solved with; not currently used. |
|
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 |
||
platforms | Table | public_key | VARCHAR | 512 | √ | null | Public key of this platform |
|
results_recompute_for_items | Table | is_being_processed | BIT | 1 | 0 | |||
languages | Table | tag | VARCHAR | 6 | null | Language tag as defined in RFC5646 |
||
items | Table | options | TEXT | 65535 | √ | null | Options passed to the task, formatted as a JSON object |
|
filters | Table | archived | BIT | 1 | √ | null | ||
groups_ancestors_active | View | is_self | BIT | 1 | √ | null | Whether ancestor_group_id = child_group_id (auto-generated) |
|
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. |
|
users | Table | latest_activity_at | DATETIME | 19 | √ | null | Last activity time on the platform (any action) |
|
permissions_granted | Table | item_id | BIGINT | 19 | null | |||
permissions_propagate_sync | Table | item_id | BIGINT | 19 | null | |||
users | Table | creator_id | BIGINT | 19 | √ | null | User who created a given login with the login generation tool |
|
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) |
||
threads | Table | message_count | INT | 10 | 0 | Approximation of the number of message sent on the thread. |
||
results_propagate_sync | Table | participant_id | BIGINT | 19 | null | |||
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. |
|
groups_groups_active | View | parent_group_id | BIGINT | 19 | null | |||
results | Table | latest_hint_at | DATETIME | 19 | √ | null | Time of the last request for a hint. Only for tasks, not propagated |
|
items_strings | Table | description | TEXT | 65535 | √ | null | Description of the item in the specified language |
|
groups_groups_active | View | personal_info_view_approved | BIT | 1 | null | personal_info_view_approved_at as boolean |
||
items | Table | entry_max_team_size | INT | 10 | 0 | The maximum number of members a team can have to enter |
||
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 | participant_id | BIGINT | 19 | null | |||
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 |
||
filters | Table | selected | BIT | 1 | 0 | |||
items | Table | platform_id | INT | 10 | √ | null | Platform that hosts the item content. Auto-generated from |
|
user_batches_v2 | Table | created_at | DATETIME | 19 | CURRENT_TIMESTAMP | |||
access_tokens | Table | issued_at | DATETIME | 19 | CURRENT_TIMESTAMP | The time the token was issued. |
||
users | Table | latest_profile_sync_at | DATETIME | 19 | √ | null | Last time when the profile was synced with the login module |
|
access_tokens | Table | session_id | BIGINT | 19 | null | |||
users | Table | login_id | BIGINT | 19 | √ | null | "userId" returned by the auth platform |
|
users | Table | recover | VARCHAR | 50 | √ | null | ||
attempts | Table | participant_id | BIGINT | 19 | null | |||
permissions_propagate_sync_conn | View | connection_id | BIGINT UNSIGNED | 20 | null | |||
users | Table | city | LONGTEXT | 2147483647 | √ | null | City, provided by auth platform |
|
items_strings | Table | language_tag | VARCHAR | 6 | null | Language tag of this content |
||
users | Table | notifications_read_at | DATETIME | 19 | √ | null | When the user last read notifications |
|
groups | Table | grade | INT | 10 | -2 | For some types of groups, indicate which grade the users belong to. |
||
users | Table | group_id | BIGINT | 19 | null | Group that represents this user |
||
permissions_granted | Table | origin | enum('group_membership', 'item_unlocking', 'self', 'other') | 16 | null | |||
results_propagate_sync_conn | View | item_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 |
||
error_log | Table | browser | TEXT | 65535 | null | |||
permissions_granted | Table | can_watch_value | TINYINT UNSIGNED | 3 | null | can_watch as an integer (to use comparison operators) |
||
sessions | Table | session_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. |
||
languages | Table | name | VARCHAR | 100 | ||||
users | Table | public_last_name | TINYINT | 3 | 0 | Whether show user's last name in his public profile |
||
groups_groups | Table | personal_info_view_approved | BIT | 1 | null | personal_info_view_approved_at as boolean |
||
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 |
||
error_log | Table | url | TEXT | 65535 | null | |||
threads | Table | status | enum('waiting_for_participant', 'waiting_for_trainer', 'closed') | 23 | null | |||
groups_groups | Table | expires_at | DATETIME | 19 | 9999-12-31 23:59:59 | The group membership expires at the specified time |
||
items | Table | repository_path | TEXT | 65535 | √ | null | ||
groups_groups_active | View | child_group_id | BIGINT | 19 | null | |||
filters | Table | end_date | DATETIME | 19 | √ | null | ||
attempts | Table | creator_id | BIGINT | 19 | √ | null | The user who created this attempt |
|
items_strings | Table | title | VARCHAR | 200 | √ | null | Title of the item, in the specified language |
|
badges | Table | name | TEXT | 65535 | √ | null | ||
group_membership_changes | Table | group_id | BIGINT | 19 | null | |||
groups | Table | code_expires_at | DATETIME | 19 | √ | null | When the code expires. Set when it is first used. |
|
groups | Table | address_city | VARCHAR | 255 | √ | null | For sessions or schools |
|
filters | Table | important | BIT | 1 | √ | 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 | Table | score_obtained_at | DATETIME | 19 | √ | null | Submission time of the first answer which led to the best score |
|
users | Table | land_line_number | LONGTEXT | 2147483647 | √ | null | Phone number, provided by auth platform |
|
items | Table | entry_participant_type | enum('User', 'Team') | 4 | User | For explicit-entry items, the type of participants who can enter |
||
results | Table | validated | BIT | 1 | null | Auto-generated from |
||
groups | Table | expected_start | DATETIME | 19 | √ | null | For sessions, time at which the session is expected to start |
|
groups_groups | Table | child_group_id | BIGINT | 19 | null | |||
users | Table | last_ip | VARCHAR | 16 | √ | null | Last IP (to detect cheaters). |
|
group_managers | Table | group_id | BIGINT | 19 | null | |||
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 |
||
items | Table | allows_multiple_attempts | BIT | 1 | 0 | Whether participants can create multiple attempts when working on this item |
||
groups | Table | root_skill_id | BIGINT | 19 | √ | null | Root skill associated with this group |
|
permissions_propagate_sync | Table | connection_id | BIGINT UNSIGNED | 20 | null | |||
user_batches_v2 | Table | size | MEDIUMINT UNSIGNED | 8 | null | Number of users created in this batch |
||
users | Table | email_verified | BIT | 1 | 0 | Whether email has been verified, provided by auth platform |
||
users | Table | photo_autoload | BIT | 1 | 0 | Indicates that the user has a picture associated with his profile. Not used yet. |
||
item_dependencies | Table | grant_content_view | BIT | 1 | 1 | Whether obtaining the required score at the item grants content view to the dependent item |
||
groups_ancestors | Table | ancestor_group_id | BIGINT | 19 | null | |||
users | Table | latest_login_at | DATETIME | 19 | √ | null | When is the last time this user logged in on the platform |
|
results | Table | validated_at | DATETIME | 19 | √ | null | Submission time of the first answer that made the attempt validated |
|
users | Table | cell_phone_number | LONGTEXT | 2147483647 | √ | null | Mobile phone number, provided by auth platform |
|
users | Table | salt | VARCHAR | 32 | √ | null | ||
permissions_propagate_sync | Table | group_id | BIGINT | 19 | null | |||
permissions_generated | Table | item_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 |
||
answers | Table | 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 |
||
users | Table | last_name | VARCHAR | 100 | √ | null | Last name, provided by auth platform |
|
items | Table | type | enum('Chapter', 'Task', 'Skill') | 7 | null | |||
answers | Table | state | MEDIUMTEXT | 16777215 | √ | null | Saved state (sent by the task platform) |
|
group_managers | Table | can_manage_value | TINYINT UNSIGNED | 3 | null | can_manage as an integer (to use comparison operators) |
||
users | Table | sex | enum('Male', 'Female') | 6 | √ | null | Gender, provided by auth platform |
|
users | Table | grade | INT | 10 | √ | null | School grade, provided by auth platform |
|
attempts | Table | ended_at | DATETIME | 19 | √ | null | Time at which the attempt was (typically manually) ended |
|
users | Table | temp_user | BIT | 1 | 0 | Whether it is a temporary user. If so, the user will be deleted soon. |
||
groups_groups_active | View | lock_membership_approved_at | DATETIME | 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. |
|
groups_ancestors | Table | expires_at | DATETIME | 19 | 9999-12-31 23:59:59 | The group relation expires at the specified time |
||
groups | Table | frozen_membership | BIT | 1 | √ | 0 | Whether members can be added/removed to the group (intended for teams) |
|
sessions | Table | user_id | BIGINT | 19 | null | |||
groups_ancestors_active | View | child_group_id | BIGINT | 19 | null | |||
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 | Table | id | BIGINT | 19 | null | |||
items_items | Table | child_item_id | BIGINT | 19 | null | |||
group_item_additional_times | Table | group_id | BIGINT | 19 | null | |||
filters | Table | item_id | BIGINT | 19 | √ | null | ||
items | Table | hints_allowed | BIT | 1 | 0 | Whether hints are allowed for tasks accessed through this chapter (currently unused) |
||
permissions_generated | Table | can_edit_generated_value | TINYINT UNSIGNED | 3 | null | can_edit_generated as an integer (to use comparison operators) |
||
users | Table | free_text | MEDIUMTEXT | 16777215 | √ | null | Text provided by the user, to be displayed on his public profile |
|
groups | Table | code_lifetime | INT | 10 | √ | null | How long after the first use of the code it will expire (in seconds), NULL means infinity |
|
permissions_granted | Table | can_grant_view_value | TINYINT UNSIGNED | 3 | null | can_grant_view as an integer (to use comparison operators) |
||
groups | Table | type | enum('Class', 'Team', 'Club', 'Friends', 'Other', 'User', 'Session', 'Base', 'ContestParticipants') | 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 |
|
answers | Table | id | BIGINT | 19 | √ | null | ||
badges | Table | id | BIGINT | 19 | √ | null | ||
users | Table | VARCHAR | 100 | √ | null | E-mail, provided by auth platform |
||
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) |
||
user_batches_v2 | Table | creator_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 | Table | submissions | INT | 10 | 0 | Number of submissions. Only for tasks, not propagated |
||
users | Table | student_id | TEXT | 65535 | √ | null | A student id provided by the school, provided by auth platform |
|
items_strings | Table | item_id | BIGINT | 19 | null | |||
platforms | Table | id | INT | 10 | √ | null | ||
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 |