Hide values column for HASH and KEY partition types

Signed-off-by: Madhura Jayaratne <madhura.cj@gmail.com>
This commit is contained in:
Madhura Jayaratne 2015-10-01 06:47:23 +10:00
parent 5d5ec35203
commit 11981e8bd9
3 changed files with 45 additions and 36 deletions

View File

@ -624,6 +624,11 @@ class TableStructureController extends TableController
&& ($partitionDetails['partition_by'] == 'RANGE'
|| $partitionDetails['partition_by'] == 'LIST');
// Values are specified only for LIST and RANGE type partitions
$partitionDetails['value_enabled'] = isset($partitionDetails['partition_by'])
&& ($partitionDetails['partition_by'] == 'RANGE'
|| $partitionDetails['partition_by'] == 'LIST');
$partitionDetails['partitions'] = array();
for ($i = 0; $i < intval($partitionDetails['partition_count']); $i++) {
@ -667,15 +672,6 @@ class TableStructureController extends TableController
$partition['name'] = 'p' . $i;
$partition['prefix'] = 'partitions[' . $i . ']';
// Values are specified only for LIST and RANGE type partitions
$partition['value_enabled'] = isset($partitionDetails['partition_by'])
&& ($partitionDetails['partition_by'] == 'RANGE'
|| $partitionDetails['partition_by'] == 'LIST');
if (! $partition['value_enabled']) {
$partition['value_type'] = '';
$partition['value'] = '';
}
if ($partitionDetails['subpartition_count'] > 1) {
$partition['subpartition_count'] = $partitionDetails['subpartition_count'];
$partition['subpartitions'] = array();

View File

@ -20,6 +20,11 @@ if (!isset($partitionDetails)) {
&& isset($_REQUEST['partition_by'])
&& ($_REQUEST['partition_by'] == 'RANGE' || $_REQUEST['partition_by'] == 'LIST');
// Values are specified only for LIST and RANGE type partitions
$partitionDetails['value_enabled'] = isset($_REQUEST['partition_by'])
&& ($_REQUEST['partition_by'] == 'RANGE'
|| $_REQUEST['partition_by'] == 'LIST');
if (PMA_isValid($_REQUEST['partition_count'], 'numeric')
&& $_REQUEST['partition_count'] > 1
) { // Has partitions
@ -49,14 +54,20 @@ if (!isset($partitionDetails)) {
$partition['name'] = 'p' . $i;
$partition['prefix'] = 'partitions[' . $i . ']';
// Values are specified only for LIST and RANGE type partitions
$partition['value_enabled'] = isset($_REQUEST['partition_by'])
&& ($_REQUEST['partition_by'] == 'RANGE'
|| $_REQUEST['partition_by'] == 'LIST');
if (! $partition['value_enabled'] || !isset($partition['value_type'])) {
if (! isset($partition['value_type'])) { // Changing from HASH/KEY to RANGE/LIST
$partition['value_type'] = '';
$partition['value'] = '';
}
if (! isset($partition['engine'])) { // When removing subpartitioning
$partition['engine'] = '';
$partition['comment'] = '';
$partition['data_directory'] = '';
$partition['index_directory'] = '';
$partition['max_rows'] = '';
$partition['min_rows'] = '';
$partition['tablespace'] = '';
$partition['node_group'] = '';
}
if (PMA_isValid($_REQUEST['subpartition_count'], 'numeric')
&& $_REQUEST['subpartition_count'] > 1

View File

@ -69,8 +69,10 @@ $valueTypeOptions = array('', 'LESS THAN', 'LESS THAN MAXVALUE', 'IN');
<table id="partition_definition_table">
<tr>
<th><?php echo __('Partition'); ?></th>
<th><?php echo __('Values'); ?></th>
<?php if ($partitionDetails['subpartition_count'] > 1): ?>
<?php if ($partitionDetails['value_enabled']): ?>
<th><?php echo __('Values'); ?></th>
<?php endif; ?>
<?php if ($partitionDetails['can_have_subpartitions'] && $partitionDetails['subpartition_count'] > 1): ?>
<th><?php echo __('Subpartition'); ?></th>
<?php endif; ?>
<th><?php echo __('Engine'); ?></th>
@ -89,25 +91,25 @@ $valueTypeOptions = array('', 'LESS THAN', 'LESS THAN MAXVALUE', 'IN');
<th rowspan="<?php echo $rowspan; ?>" class="vmiddle">
<?php echo htmlspecialchars($partition['name']); ?>
</th>
<td rowspan="<?php echo $rowspan; ?>" class="vmiddle">
<select class="partition_value"
name="<?php echo $partition['prefix']; ?>[value_type]"
<?php echo (! $partition['value_enabled'] ? 'disabled' : ''); ?> >
<?php foreach ($valueTypeOptions as $option): ?>
<option value="<?php echo $option?>"
<?php if ($partition['value_type'] == $option): ?>
selected="selected"
<?php endif; ?>
>
<?php echo $option; ?>
</option>
<?php endforeach; ?>
</select>
<input type="text" class="partition_value"
name="<?php echo $partition['prefix']; ?>[value]"
value="<?php echo $partition['value']; ?>"
<?php echo (! $partition['value_enabled'] ? 'disabled' : ''); ?> />
</td>
<?php if ($partitionDetails['value_enabled']): ?>
<td rowspan="<?php echo $rowspan; ?>" class="vmiddle">
<select class="partition_value"
name="<?php echo $partition['prefix']; ?>[value_type]">
<?php foreach ($valueTypeOptions as $option): ?>
<option value="<?php echo $option?>"
<?php if ($partition['value_type'] == $option): ?>
selected="selected"
<?php endif; ?>
>
<?php echo $option; ?>
</option>
<?php endforeach; ?>
</select>
<input type="text" class="partition_value"
name="<?php echo $partition['prefix']; ?>[value]"
value="<?php echo $partition['value']; ?>" />
</td>
<?php endif; ?>
</tr>
<?php
@ -120,7 +122,7 @@ $valueTypeOptions = array('', 'LESS THAN', 'LESS THAN MAXVALUE', 'IN');
<?php foreach ($subpartitions as $subpartition): ?>
<tr class="<?php echo ($odd ? 'odd' : 'even'); ?>">
<?php if (isset($partition['subpartitions'])): ?>
<?php if ($partitionDetails['can_have_subpartitions'] && $partitionDetails['subpartition_count'] > 1): ?>
<th class="vmiddle"><?php echo htmlspecialchars($subpartition['name']); ?></th>
<?php endif; ?>
<td>