1 && isset($_POST['partition_by']) && ($_POST['partition_by'] == 'RANGE' || $_POST['partition_by'] == 'RANGE COLUMNS' || $_POST['partition_by'] == 'LIST' || $_POST['partition_by'] == 'LIST COLUMNS'); // Values are specified only for LIST and RANGE type partitions $partitionDetails['value_enabled'] = isset($_POST['partition_by']) && ($_POST['partition_by'] == 'RANGE' || $_POST['partition_by'] == 'RANGE COLUMNS' || $_POST['partition_by'] == 'LIST' || $_POST['partition_by'] == 'LIST COLUMNS'); // Has partitions if ($partition_count > 1) { $partitions = isset($_POST['partitions']) ? $_POST['partitions'] : array(); // Remove details of the additional partitions // when number of partitions have been reduced array_splice($partitions, $partition_count); for ($i = 0; $i < $partition_count; $i++) { if (! isset($partitions[$i])) { // Newly added partition $partitions[$i] = array( 'name' => 'p' . $i, 'value_type' => '', 'value' => '', 'engine' => '', 'comment' => '', 'data_directory' => '', 'index_directory' => '', 'max_rows' => '', 'min_rows' => '', 'tablespace' => '', 'node_group' => '', ); } $partition =& $partitions[$i]; $partition['prefix'] = 'partitions[' . $i . ']'; // Changing from HASH/KEY to RANGE/LIST if (! isset($partition['value_type'])) { $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 ($subpartition_count > 1 && $partitionDetails['can_have_subpartitions'] == true ) { // Has subpartitions $partition['subpartition_count'] = $subpartition_count; if (! isset($partition['subpartitions'])) { $partition['subpartitions'] = array(); } $subpartitions =& $partition['subpartitions']; // Remove details of the additional subpartitions // when number of subpartitions have been reduced array_splice($subpartitions, $subpartition_count); for ($j = 0; $j < $subpartition_count; $j++) { if (! isset($subpartitions[$j])) { // Newly added subpartition $subpartitions[$j] = array( 'name' => $partition['name'] . '_s' . $j, 'engine' => '', 'comment' => '', 'data_directory' => '', 'index_directory' => '', 'max_rows' => '', 'min_rows' => '', 'tablespace' => '', 'node_group' => '', ); } $subpartition =& $subpartitions[$j]; $subpartition['prefix'] = 'partitions[' . $i . ']' . '[subpartitions][' . $j . ']'; } } else { // No subpartitions unset($partition['subpartitions']); unset($partition['subpartition_count']); } } $partitionDetails['partitions'] = $partitions; } }