mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 14:18:52 +00:00
- should fix some Firebird issues ( can't believe that nobody found this until now )
git-svn-id: file:///svn/phpbb/trunk@6954 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
2db7def46a
commit
9a685e7a48
7 changed files with 106 additions and 10 deletions
|
@ -167,6 +167,7 @@ class acp_database
|
||||||
// Get the table structure
|
// Get the table structure
|
||||||
if ($structure)
|
if ($structure)
|
||||||
{
|
{
|
||||||
|
$sql_data .= "\n";
|
||||||
switch ($db->sql_layer)
|
switch ($db->sql_layer)
|
||||||
{
|
{
|
||||||
case 'mysqli':
|
case 'mysqli':
|
||||||
|
@ -213,7 +214,18 @@ class acp_database
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// We might wanna empty out all that junk :D
|
// We might wanna empty out all that junk :D
|
||||||
$sql_data .= (($db->sql_layer == 'sqlite') ? 'DELETE FROM ' : 'TRUNCATE TABLE ') . $table_name . ";\n";
|
switch ($db->sql_layer)
|
||||||
|
{
|
||||||
|
case 'sqlite':
|
||||||
|
case 'firebird':
|
||||||
|
$sql_data .= 'DELETE FROM ';
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$sql_data .= 'TRUNCATE TABLE ';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$sql_data .= $table_name . ";\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now write the data for the first time. :)
|
// Now write the data for the first time. :)
|
||||||
|
@ -757,7 +769,7 @@ class acp_database
|
||||||
|
|
||||||
if ($retrieved_data)
|
if ($retrieved_data)
|
||||||
{
|
{
|
||||||
$sql_data = "\nGO\n";
|
$sql_data = "GO\n";
|
||||||
if ($ident_set)
|
if ($ident_set)
|
||||||
{
|
{
|
||||||
$sql_data .= "\nSET IDENTITY_INSERT $table_name OFF\nGO\n";
|
$sql_data .= "\nSET IDENTITY_INSERT $table_name OFF\nGO\n";
|
||||||
|
|
|
@ -334,7 +334,17 @@ class acp_icons
|
||||||
// The user has already selected a smilies_pak file
|
// The user has already selected a smilies_pak file
|
||||||
if ($current == 'delete')
|
if ($current == 'delete')
|
||||||
{
|
{
|
||||||
$db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . $table);
|
switch ($db->sql_layer)
|
||||||
|
{
|
||||||
|
case 'sqlite':
|
||||||
|
case 'firebird':
|
||||||
|
$db->sql_query('DELETE FROM ' . $table);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$db->sql_query('TRUNCATE TABLE ' . $table);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
switch ($mode)
|
switch ($mode)
|
||||||
{
|
{
|
||||||
|
|
|
@ -147,7 +147,17 @@ class acp_main
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'db_track':
|
case 'db_track':
|
||||||
$db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . TOPICS_POSTED_TABLE);
|
switch ($db->sql_layer)
|
||||||
|
{
|
||||||
|
case 'sqlite':
|
||||||
|
case 'firebird':
|
||||||
|
$db->sql_query('DELETE FROM ' . TOPICS_POSTED_TABLE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$db->sql_query('TRUNCATE TABLE ' . TOPICS_POSTED_TABLE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// This can get really nasty... therefore we only do the last six months
|
// This can get really nasty... therefore we only do the last six months
|
||||||
$get_from_time = time() - (6 * 4 * 7 * 24 * 60 * 60);
|
$get_from_time = time() - (6 * 4 * 7 * 24 * 60 * 60);
|
||||||
|
|
|
@ -1983,7 +1983,17 @@ function cache_moderators()
|
||||||
$cache->destroy('sql', MODERATOR_CACHE_TABLE);
|
$cache->destroy('sql', MODERATOR_CACHE_TABLE);
|
||||||
|
|
||||||
// Clear table
|
// Clear table
|
||||||
$db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . MODERATOR_CACHE_TABLE);
|
switch ($db->sql_layer)
|
||||||
|
{
|
||||||
|
case 'sqlite':
|
||||||
|
case 'firebird':
|
||||||
|
$db->sql_query('DELETE FROM ' . MODERATOR_CACHE_TABLE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$db->sql_query('TRUNCATE TABLE ' . MODERATOR_CACHE_TABLE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// We add moderators who have forum moderator permissions without an explicit ACL_NEVER setting
|
// We add moderators who have forum moderator permissions without an explicit ACL_NEVER setting
|
||||||
$hold_ary = $ug_id_ary = $sql_ary = array();
|
$hold_ary = $ug_id_ary = $sql_ary = array();
|
||||||
|
|
|
@ -1833,7 +1833,17 @@ function update_topics_posted()
|
||||||
{
|
{
|
||||||
global $db, $config;
|
global $db, $config;
|
||||||
|
|
||||||
$db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . TOPICS_POSTED_TABLE);
|
switch ($db->sql_layer)
|
||||||
|
{
|
||||||
|
case 'sqlite':
|
||||||
|
case 'firebird':
|
||||||
|
$db->sql_query('DELETE FROM ' . TOPICS_POSTED_TABLE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$db->sql_query('TRUNCATE TABLE ' . TOPICS_POSTED_TABLE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// This can get really nasty... therefore we only do the last six months
|
// This can get really nasty... therefore we only do the last six months
|
||||||
$get_from_time = time() - (6 * 4 * 7 * 24 * 60 * 60);
|
$get_from_time = time() - (6 * 4 * 7 * 24 * 60 * 60);
|
||||||
|
|
|
@ -1266,9 +1266,41 @@ class fulltext_native extends search_backend
|
||||||
{
|
{
|
||||||
global $db;
|
global $db;
|
||||||
|
|
||||||
$db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . SEARCH_WORDLIST_TABLE);
|
switch ($db->sql_layer)
|
||||||
$db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . SEARCH_WORDMATCH_TABLE);
|
{
|
||||||
$db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . SEARCH_RESULTS_TABLE);
|
case 'sqlite':
|
||||||
|
case 'firebird':
|
||||||
|
$db->sql_query('DELETE FROM ' . SEARCH_WORDLIST_TABLE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDLIST_TABLE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($db->sql_layer)
|
||||||
|
{
|
||||||
|
case 'sqlite':
|
||||||
|
case 'firebird':
|
||||||
|
$db->sql_query('DELETE FROM ' . SEARCH_WORDMATCH_TABLE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDMATCH_TABLE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($db->sql_layer)
|
||||||
|
{
|
||||||
|
case 'sqlite':
|
||||||
|
case 'firebird':
|
||||||
|
$db->sql_query('DELETE FROM ' . SEARCH_RESULTS_TABLE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -545,7 +545,19 @@ class install_convert extends module
|
||||||
// Make some short variables accessible, for easier referencing
|
// Make some short variables accessible, for easier referencing
|
||||||
$convert->convertor_tag = basename($convert->options['tag']);
|
$convert->convertor_tag = basename($convert->options['tag']);
|
||||||
$convert->src_table_prefix = $convert->options['table_prefix'];
|
$convert->src_table_prefix = $convert->options['table_prefix'];
|
||||||
$convert->truncate_statement = ($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ';
|
|
||||||
|
|
||||||
|
switch ($db->sql_layer)
|
||||||
|
{
|
||||||
|
case 'sqlite':
|
||||||
|
case 'firebird':
|
||||||
|
$convert->truncate_statement = 'DELETE FROM ';
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$convert->truncate_statement = 'TRUNCATE TABLE ');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
$get_info = false;
|
$get_info = false;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue