diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html index 4486cf5d95..14d165b819 100644 --- a/phpBB/docs/CHANGELOG.html +++ b/phpBB/docs/CHANGELOG.html @@ -151,6 +151,7 @@
  • [Fix] Display the online status of hidden users to users with the u_viewonline permission when viewing PMs.
  • [Fix] "Select all" selects much too much in Opera (Bug #42885 - Patch by TerraFrost and ToonArmy)
  • [Fix] Correct calculation of source/target forum statistics if mass moving topics with global announcements (Bug #44545)
  • +
  • [Fix] Fix column handling in db updater, custom profile fields an db tools for firebird DBMS (Bug #44555)
  • [Change] Default difference view is now 'inline' instead of 'side by side'
  • [Change] Added new option for merging differences to conflicting files in automatic updater
  • [Change] Add link to user profile in the MCP for user notes and warn user.
  • diff --git a/phpBB/includes/acp/acp_profile.php b/phpBB/includes/acp/acp_profile.php index 7ab6ff7cd6..2b5ec88e5b 100644 --- a/phpBB/includes/acp/acp_profile.php +++ b/phpBB/includes/acp/acp_profile.php @@ -1539,7 +1539,7 @@ class acp_profile case 'firebird': // We are defining the biggest common value, because of the possibility to edit the min/max values of each field. - $sql = 'ALTER TABLE ' . PROFILE_FIELDS_DATA_TABLE . " ADD \"$field_ident\" "; + $sql = 'ALTER TABLE ' . PROFILE_FIELDS_DATA_TABLE . ' ADD "' . strtoupper($field_ident) . '" '; switch ($field_type) { diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index 57300be359..e5f83faec3 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -1162,7 +1162,8 @@ class acp_users foreach ($cp_data as $key => $value) { - $cp_data[$left_delim . $key . $right_delim] = $value; + // Firebird is case sensitive with delimiter + $cp_data[$left_delim . (($db->sql_layer == 'firebird') ? strtoupper($key) : $key) . $right_delim] = $value; unset($cp_data[$key]); } diff --git a/phpBB/includes/db/db_tools.php b/phpBB/includes/db/db_tools.php index 70c946574b..b1a5d13d26 100644 --- a/phpBB/includes/db/db_tools.php +++ b/phpBB/includes/db/db_tools.php @@ -1115,7 +1115,7 @@ class phpbb_db_tools switch ($this->sql_layer) { case 'firebird': - $statements[] = 'ALTER TABLE "' . $table_name . '" ADD "' . $column_name . '" ' . $column_data['column_type_sql']; + $statements[] = 'ALTER TABLE ' . $table_name . ' ADD "' . strtoupper($column_name) . '" ' . $column_data['column_type_sql']; break; case 'mssql': @@ -1207,7 +1207,7 @@ class phpbb_db_tools switch ($this->sql_layer) { case 'firebird': - $statements[] = 'ALTER TABLE "' . $table_name . '" DROP "' . $column_name . '"'; + $statements[] = 'ALTER TABLE ' . $table_name . ' DROP "' . strtoupper($column_name) . '"'; break; case 'mssql': @@ -1626,7 +1626,7 @@ class phpbb_db_tools { case 'firebird': // Change type... - $statements[] = 'ALTER TABLE "' . $table_name . '" ALTER COLUMN "' . $column_name . '" TYPE ' . ' ' . $column_data['column_type_sql']; + $statements[] = 'ALTER TABLE ' . $table_name . ' ALTER COLUMN "' . strtoupper($column_name) . '" TYPE ' . ' ' . $column_data['column_type_sql']; break; case 'mssql': diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 4fda30463f..90c46be06b 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -1883,7 +1883,7 @@ class updater_db_tools switch ($this->sql_layer) { case 'firebird': - $statements[] = 'ALTER TABLE "' . $table_name . '" ADD "' . $column_name . '" ' . $column_data['column_type_sql']; + $statements[] = 'ALTER TABLE ' . $table_name . ' ADD "' . strtoupper($column_name) . '" ' . $column_data['column_type_sql']; break; case 'mssql': @@ -1975,7 +1975,7 @@ class updater_db_tools switch ($this->sql_layer) { case 'firebird': - $statements[] = 'ALTER TABLE "' . $table_name . '" DROP "' . $column_name . '"'; + $statements[] = 'ALTER TABLE ' . $table_name . ' DROP "' . strtoupper($column_name) . '"'; break; case 'mssql': @@ -2238,7 +2238,7 @@ class updater_db_tools { case 'firebird': // Change type... - $statements[] = 'ALTER TABLE "' . $table_name . '" ALTER COLUMN "' . $column_name . '" TYPE ' . ' ' . $column_data['column_type_sql']; + $statements[] = 'ALTER TABLE ' . $table_name . ' ALTER COLUMN "' . strtoupper($column_name) . '" TYPE ' . ' ' . $column_data['column_type_sql']; break; case 'mssql':