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