diff --git a/ChangeLog b/ChangeLog
index 499401e601..3bb635dda9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,7 @@ phpMyAdmin - ChangeLog
+ rfe #1566 Change value of "Number of rows:" when "Show all" is checked
+ rfe Focus console by clicking on white space
+ rfe 1507 Part 1: Cycle through console history with keyboard up/down arrows
++ rfe #1579 Default to primary key when adding relation
4.3.3.0 (not yet released)
- bug The "Recently used tables" setting should be with Nav panel
diff --git a/js/tbl_relation.js b/js/tbl_relation.js
index 8858fabf41..fd35443d40 100644
--- a/js/tbl_relation.js
+++ b/js/tbl_relation.js
@@ -17,13 +17,13 @@ function show_hide_clauses($thisDropdown)
/**
* Sets dropdown options to values
*/
-function setDropdownValues($dropdown, values) {
+function setDropdownValues($dropdown, values, selectedValue) {
$dropdown.empty();
var optionsAsString = '';
// add an empty string to the beginning for empty selection
values.unshift('');
$.each(values, function () {
- optionsAsString += "";
+ optionsAsString += "";
});
$dropdown.append($(optionsAsString));
}
@@ -94,7 +94,13 @@ function getDropdownValues($dropdown) {
setDropdownValues($columnDd, []);
} else { // if a table selector
// set values for the column dropdown
- setDropdownValues($columnDd, data.columns);
+ var primary = null;
+ if (typeof data.primary !== 'undefined'
+ && 1 === data.primary.length
+ ) {
+ primary = data.primary[0];
+ }
+ setDropdownValues($columnDd, data.columns, primary);
}
} else {
PMA_ajaxShowMessage(data.error, false);
diff --git a/libraries/tbl_relation.lib.php b/libraries/tbl_relation.lib.php
index be5edfde1c..2381a9d53e 100644
--- a/libraries/tbl_relation.lib.php
+++ b/libraries/tbl_relation.lib.php
@@ -722,6 +722,15 @@ function PMA_sendHtmlForColumnDropdownList()
$columns[] = htmlspecialchars($column);
}
$response->addJSON('columns', $columns);
+
+ // @todo should be: $server->db($db)->table($table)->primary()
+ $primary = PMA_Index::getPrimary($foreignTable, $_REQUEST['foreignDb']);
+ if (false === $primary) {
+ return;
+ }
+
+ $primarycols = array_keys($primary->getColumns());
+ $response->addJSON('primary', $primarycols);
}
/**