Fix GROUP BY in dbstructure
https://github.com/friendica/friendica/issues/3440
This commit is contained in:
parent
b3faf3867d
commit
f838430535
3 changed files with 10 additions and 4 deletions
2
boot.php
2
boot.php
|
@ -38,7 +38,7 @@ define ( 'FRIENDICA_PLATFORM', 'Friendica');
|
||||||
define ( 'FRIENDICA_CODENAME', 'Asparagus');
|
define ( 'FRIENDICA_CODENAME', 'Asparagus');
|
||||||
define ( 'FRIENDICA_VERSION', '3.5.2-dev' );
|
define ( 'FRIENDICA_VERSION', '3.5.2-dev' );
|
||||||
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
||||||
define ( 'DB_UPDATE_VERSION', 1223 );
|
define ( 'DB_UPDATE_VERSION', 1224 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Constant with a HTML line break.
|
* @brief Constant with a HTML line break.
|
||||||
|
|
|
@ -398,6 +398,12 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
|
||||||
$sql3 .= ";";
|
$sql3 .= ";";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$field_list = '';
|
||||||
|
foreach ($structure['fields'] AS $fieldname => $parameters) {
|
||||||
|
$field_list .= 'ANY_VALUE(`' . $fieldname . '`),';
|
||||||
|
}
|
||||||
|
$field_list = rtrim($field_list, ',');
|
||||||
|
|
||||||
if ($verbose) {
|
if ($verbose) {
|
||||||
// Ensure index conversion to unique removes duplicates
|
// Ensure index conversion to unique removes duplicates
|
||||||
if ($is_unique) {
|
if ($is_unique) {
|
||||||
|
@ -414,7 +420,7 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
|
||||||
if ($ignore != "") {
|
if ($ignore != "") {
|
||||||
echo "SET session old_alter_table=0;\n";
|
echo "SET session old_alter_table=0;\n";
|
||||||
} else {
|
} else {
|
||||||
echo "INSERT INTO `".$temp_name."` SELECT * FROM `".$name."`".$group_by.";\n";
|
echo "INSERT INTO `".$temp_name."` SELECT ".$field_list." FROM `".$name."`".$group_by.";\n";
|
||||||
echo "DROP TABLE `".$name."`;\n";
|
echo "DROP TABLE `".$name."`;\n";
|
||||||
echo "RENAME TABLE `".$temp_name."` TO `".$name."`;\n";
|
echo "RENAME TABLE `".$temp_name."` TO `".$name."`;\n";
|
||||||
}
|
}
|
||||||
|
@ -445,7 +451,7 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
|
||||||
if ($ignore != "") {
|
if ($ignore != "") {
|
||||||
$db->q("SET session old_alter_table=0;");
|
$db->q("SET session old_alter_table=0;");
|
||||||
} else {
|
} else {
|
||||||
$r = $db->q("INSERT INTO `".$temp_name."` SELECT * FROM `".$name."`".$group_by.";");
|
$r = $db->q("INSERT INTO `".$temp_name."` SELECT ".$field_list." FROM `".$name."`".$group_by.";");
|
||||||
if (!dbm::is_result($r)) {
|
if (!dbm::is_result($r)) {
|
||||||
$errors .= print_update_error($db, $sql3);
|
$errors .= print_update_error($db, $sql3);
|
||||||
return $errors;
|
return $errors;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
define('UPDATE_VERSION' , 1223);
|
define('UPDATE_VERSION' , 1224);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue