git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@8511 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
David M 2008-04-20 06:29:00 +00:00
parent 29eb712998
commit de998acda2
2 changed files with 25 additions and 4 deletions

View file

@ -92,6 +92,8 @@
<li>[Fix] Properly check for invalid characters in MySQL DB prefixes during install (Bug #18775)</li> <li>[Fix] Properly check for invalid characters in MySQL DB prefixes during install (Bug #18775)</li>
<li>[Change] Generalize load check (Bug #21255 / thanks to Xipher)</li> <li>[Change] Generalize load check (Bug #21255 / thanks to Xipher)</li>
<li>[Change] Make utf8_htmlspecialchars not pass its argument by reference (Bug #21885)</li> <li>[Change] Make utf8_htmlspecialchars not pass its argument by reference (Bug #21885)</li>
<li>[Fix] Bring the PostgreSQL backup system back to working order (Bug #22385)</li>
<li>[Change] Sort the tables at the database table backup screen</li>
</ul> </ul>
<a name="v300"></a><h3>1.ii. Changes since 3.0.0</h3> <a name="v300"></a><h3>1.ii. Changes since 3.0.0</h3>

View file

@ -171,6 +171,7 @@ class acp_database
default: default:
include($phpbb_root_path . 'includes/functions_install.' . $phpEx); include($phpbb_root_path . 'includes/functions_install.' . $phpEx);
$tables = get_tables($db); $tables = get_tables($db);
asort($tables);
foreach ($tables as $table_name) foreach ($tables as $table_name)
{ {
if (strlen($table_prefix) === 0 || stripos($table_name, $table_prefix) === 0) if (strlen($table_prefix) === 0 || stripos($table_name, $table_prefix) === 0)
@ -345,7 +346,25 @@ class acp_database
while (($sql = $fgetd($fp, $delim, $read, $seek, $eof)) !== false) while (($sql = $fgetd($fp, $delim, $read, $seek, $eof)) !== false)
{ {
$query = trim($sql); $query = trim($sql);
$db->sql_query($query);
if (substr($query, 0, 13) == 'CREATE DOMAIN')
{
list(, , $domain) = explode(' ', $query);
$sql = "SELECT domain_name
FROM information_schema.domains
WHERE domain_name = '$domain';";
$result = $db->sql_query($sql);
if (!$db->sql_fetchrow($result))
{
$db->sql_query($query);
}
$db->sql_freeresult($result);
}
else
{
$db->sql_query($query);
}
if (substr($query, 0, 4) == 'COPY') if (substr($query, 0, 4) == 'COPY')
{ {
while (($sub = $fgetd($fp, "\n", $read, $seek, $eof)) !== '\.') while (($sub = $fgetd($fp, "\n", $read, $seek, $eof)) !== '\.')
@ -1087,7 +1106,7 @@ class postgres_extractor extends base_extractor
} }
$sql_data = '-- Table: ' . $table_name . "\n"; $sql_data = '-- Table: ' . $table_name . "\n";
//$sql_data .= "DROP TABLE $table_name;\n"; $sql_data .= "DROP TABLE $table_name;\n";
// PGSQL does not "tightly" bind sequences and tables, we must guess... // PGSQL does not "tightly" bind sequences and tables, we must guess...
$sql = "SELECT relname $sql = "SELECT relname
FROM pg_class FROM pg_class
@ -1156,7 +1175,7 @@ class postgres_extractor extends base_extractor
$line .= ')'; $line .= ')';
} }
if (!empty($row['rowdefault'])) if (isset($row['rowdefault']))
{ {
$line .= ' DEFAULT ' . $row['rowdefault']; $line .= ' DEFAULT ' . $row['rowdefault'];
} }
@ -2279,4 +2298,4 @@ function fgetd_seekless(&$fp, $delim, $read, $seek, $eof, $buffer = 8192)
return false; return false;
} }
?> ?>