123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- <form method="post" action="tbl_structure.php" name="fieldsForm" id="fieldsForm"
- class="ajax{{ hide_structure_actions ? ' HideStructureActions' }}">
- {{ Url_getHiddenInputs(db, table) }}
- <input type="hidden" name="table_type" value=
- {%- if db_is_system_schema -%}
- "information_schema"
- {%- elseif tbl_is_view -%}
- "view"
- {%- else -%}
- "table"
- {%- endif %} />
- <div class="responsivetable">
- <table id="tablestructure" class="data topmargin">
- {# Table header #}
- {% include 'table/structure/table_structure_header.twig' with {
- 'db_is_system_schema': db_is_system_schema,
- 'tbl_is_view': tbl_is_view,
- 'show_column_comments': show_column_comments
- } only %}
- <tbody>
- {# Table body #}
- {% set rownum = 0 %}
- {% set columns_list = [] %}
- {% for row in fields %}
- {% set rownum = rownum + 1 %}
- {% set columns_list = columns_list|merge([row['Field']]) %}
- {% set field_charset = row['Collation'] %}
- {% set extracted_columnspec = Util_extractColumnSpec(row['Type']) %}
- {% set attribute = extracted_columnspec['attribute'] %}
- {% if strpos(row['Extra'], 'on update CURRENT_TIMESTAMP')
- is not same as(false) %}
- {% set attribute = 'on update CURRENT_TIMESTAMP' %}
- {% endif %}
- {% if row['Default'] is null %}
- {% if row['Null'] == 'YES' %}
- {% set row = row|merge({'Default': '<em>NULL</em>'}) %}
- {% endif %}
- {% else %}
- {% set row = row|merge({'Default': row['Default']|e}) %}
- {% endif %}
- {% set field_name = row['Field']|e %}
- {% set displayed_field_name = field_name %}
- {# For column comments #}
- {% set comments = '' %}
- {# Underline commented fields and display a hover-title (CSS only) #}
- {% if comments_map[row['Field']] is defined %}
- {% set displayed_field_name -%}
- <span class="commented_column" title="
- {{- comments_map[row['Field']] }}">
- {{- field_name|raw -}}
- </span>
- {%- endset %}
- {% set comments = comments_map[row['Field']] %}
- {% endif %}
- {% if primary and primary.hasColumn(field_name) %}
- {% set displayed_field_name = displayed_field_name ~ Util_getImage(
- 'b_primary', 'Primary'|trans
- ) %}
- {% endif %}
- {% if field_name in columns_with_index %}
- {% set displayed_field_name = displayed_field_name ~ Util_getImage(
- 'bd_primary', 'Index'|trans
- ) %}
- {% endif %}
- <tr>
- {% include 'table/structure/table_structure_row.twig' with {
- 'row': row,
- 'rownum': rownum,
- 'displayed_field_name': preg_replace(
- '/[\\x00-\\x1F]/',
- '⁑',
- displayed_field_name
- ),
- 'type_nowrap': Util_getClassForType(extracted_columnspec['type']),
- 'extracted_columnspec': extracted_columnspec,
- 'attribute': attribute,
- 'tbl_is_view': tbl_is_view,
- 'db_is_system_schema': db_is_system_schema,
- 'url_query': url_query,
- 'titles': titles,
- 'table': table,
- 'tbl_storage_engine': tbl_storage_engine,
- 'field_charset': field_charset,
- 'comments': comments,
- 'show_column_comments': show_column_comments,
- 'relation_commwork': relation_commwork,
- 'relation_mimework': relation_mimework,
- 'browse_mime': browse_mime
- } only %}
- {% if not tbl_is_view and not db_is_system_schema %}
- {% include 'table/structure/actions_in_table_structure.twig' with {
- 'row': row,
- 'rownum': rownum,
- 'extracted_columnspec': extracted_columnspec,
- 'type': extracted_columnspec['print_type'] is not empty ? extracted_columnspec['print_type'],
- 'tbl_storage_engine': tbl_storage_engine,
- 'primary': primary,
- 'field_name': field_name,
- 'url_query': url_query,
- 'titles': titles,
- 'columns_with_unique_index': columns_with_unique_index,
- 'is_in_central_columns': row['Field'] in central_list ? true : false,
- 'central_columns_work': central_columns_work,
- 'table': table,
- 'hide_structure_actions': hide_structure_actions,
- 'mysql_int_version': mysql_int_version
- } only %}
- {% endif %}
- </tr>
- {% endfor %}
- </tbody>
- </table>
- </div>
- {% include 'table/structure/check_all_table_column.twig' with {
- 'pma_theme_image': pma_theme_image,
- 'text_dir': text_dir,
- 'tbl_is_view': tbl_is_view,
- 'db_is_system_schema': db_is_system_schema,
- 'tbl_storage_engine': tbl_storage_engine,
- 'central_columns_work': central_columns_work
- } only %}
- </form>
- <hr class="print_ignore"/>
- {% include 'table/structure/move_columns_dialog.twig' with {
- 'db': db,
- 'table': table
- } only %}
- {# Work on the table #}
- <div id="structure-action-links">
- {% if tbl_is_view and not db_is_system_schema %}
- {{ Util_linkOrButton(
- edit_view_url,
- Util_getIcon('b_edit', 'Edit view'|trans, true)
- ) }}
- {% endif %}
- {% include 'table/structure/optional_action_links.twig' with {
- 'url_query': url_query,
- 'tbl_is_view': tbl_is_view,
- 'db_is_system_schema': db_is_system_schema,
- 'table': table,
- 'is_active': is_active
- } only %}
- </div>
- {% if not tbl_is_view and not db_is_system_schema %}
- {% include 'table/structure/add_column.twig' with {
- 'columns_list': columns_list,
- 'db': db,
- 'table': table
- } only %}
- {% endif %}
- {# Displays indexes #}
- {% if not tbl_is_view and not db_is_system_schema
- and 'ARCHIVE' != tbl_storage_engine %}
- {{ Index_getHtmlForDisplayIndexes() }}
- {% endif %}
- {# Display partition details #}
- {% if have_partitioning %}
- {# Detect partitioning #}
- {% if partition_names is not empty and partition_names[0] is not null %}
- {% set partitions = Partition_getPartitions(db, table) %}
- {% set first_partition = partitions[0] %}
- {% set range_or_list = first_partition.getMethod() == 'RANGE'
- or first_partition.getMethod() == 'RANGE COLUMNS'
- or first_partition.getMethod() == 'LIST'
- or first_partition.getMethod() == 'LIST COLUMNS' %}
- {% set sub_partitions = first_partition.getSubPartitions() %}
- {% set has_sub_partitions = first_partition.hasSubPartitions() %}
- {% if has_sub_partitions %}
- {% set first_sub_partition = sub_partitions[0] %}
- {% endif %}
- {% set action_icons = {
- 'ANALYZE': Util_getIcon('b_search', 'Analyze'|trans),
- 'CHECK': Util_getIcon('eye', 'Check'|trans),
- 'OPTIMIZE': Util_getIcon('normalize', 'Optimize'|trans),
- 'REBUILD': Util_getIcon('s_tbl', 'Rebuild'|trans),
- 'REPAIR': Util_getIcon('b_tblops', 'Repair'|trans),
- 'TRUNCATE': Util_getIcon('b_empty', 'Truncate'|trans),
- } %}
- {% if range_or_list %}
- {% set action_icons = action_icons|merge({'DROP': Util_getIcon('b_drop', 'Drop'|trans)}) %}
- {% endif %}
- {{ Util_getDivForSliderEffect('partitions', 'Partitions'|trans) }}
- {% set remove_sql = 'ALTER TABLE ' ~ Util_backquote(table) ~ ' REMOVE PARTITIONING' %}
- {% set remove_url = 'sql.php' ~ url_query ~ '&sql_query=' ~ remove_sql|url_encode %}
- {% include 'table/structure/display_partitions.twig' with {
- 'db': db,
- 'table': table,
- 'url_query': url_query,
- 'partitions': partitions,
- 'partition_method': first_partition.getMethod(),
- 'partition_expression': first_partition.getExpression(),
- 'has_description': first_partition.getDescription() is not empty,
- 'has_sub_partitions': has_sub_partitions,
- 'sub_partition_method': has_sub_partitions ? first_sub_partition.getMethod(),
- 'sub_partition_expression': has_sub_partitions ? first_sub_partition.getExpression(),
- 'action_icons': action_icons,
- 'range_or_list': range_or_list,
- 'remove_url': remove_url
- } only %}
- {% else %}
- {% include 'table/structure/display_partitions.twig' with {
- 'db': db,
- 'table': table
- } only %}
- {% endif %}
- {# For closing Slider effect div #}
- </div>
- {% endif %}
- {# Displays Space usage and row statistics #}
- {% if show_stats %}
- {{ table_stats|raw }}
- {% endif %}
- <div class="clearfloat"></div>
|