1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-22 08:13:14 +02:00

- a few tiny clean ups

- a new MS SQL DBAL, it does not work so hot because of issues with the extension it depends on


git-svn-id: file:///svn/phpbb/trunk@8313 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
David M
2008-01-07 15:19:38 +00:00
parent 159ce6f8d1
commit 2928574ed4
25 changed files with 593 additions and 256 deletions

View File

@@ -86,9 +86,8 @@ class acp_database
$time = time();
$filename = 'backup_' . $time . '_' . unique_id();
switch ($db->sql_layer)
switch ($db->dbms_type)
{
case 'mysqli':
case 'mysql':
$extractor = new mysql_extractor($download, $store, $format, $filename, $time);
break;
@@ -106,7 +105,6 @@ class acp_database
break;
case 'mssql':
case 'mssql_odbc':
$extractor = new mssql_extractor($download, $store, $format, $filename, $time);
break;
@@ -131,7 +129,7 @@ class acp_database
else
{
// We might wanna empty out all that junk :D
switch ($db->sql_layer)
switch ($db->dbms_type)
{
case 'sqlite':
case 'firebird':
@@ -140,7 +138,6 @@ class acp_database
break;
case 'mssql':
case 'mssql_odbc':
$extractor->flush('TRUNCATE TABLE ' . $table_name . "GO\n");
break;
@@ -318,11 +315,11 @@ class acp_database
break;
}
switch ($db->sql_layer)
switch ($db->dbms_type)
{
case 'mysql':
case 'mysqli':
case 'sqlite':
case 'db2':
while (($sql = $fgetd($fp, ";\n", $read, $seek, $eof)) !== false)
{
$db->sql_query($sql);
@@ -372,7 +369,6 @@ class acp_database
break;
case 'mssql':
case 'mssql_odbc':
while (($sql = $fgetd($fp, "GO\n", $read, $seek, $eof)) !== false)
{
$db->sql_query($sql);
@@ -1356,10 +1352,15 @@ class mssql_extractor extends base_extractor
{
$this->write_data_mssql($table_name);
}
else
else if ($db->sql_layer === 'mssql_odbc')
{
$this->write_data_odbc($table_name);
}
else
{
// @todo: write code for MS SQL 2005 DBAL
trigger_error('KungFuDeathGrip');
}
}
function write_data_mssql($table_name)

View File

@@ -1647,10 +1647,9 @@ class acp_forums
}
$db->sql_freeresult($result);
switch ($db->sql_layer)
if ($db->dbms_type)
{
case 'mysql':
case 'mysqli':
// Delete everything else and thank MySQL for offering multi-table deletion
$tables_ary = array(

View File

@@ -120,9 +120,8 @@ class acp_profile
$db->sql_query('DELETE FROM ' . PROFILE_FIELDS_LANG_TABLE . " WHERE field_id = $field_id");
$db->sql_query('DELETE FROM ' . PROFILE_LANG_TABLE . " WHERE field_id = $field_id");
switch ($db->sql_layer)
if ($db->dbms_type == 'sqlite')
{
case 'sqlite':
$sql = "SELECT sql
FROM sqlite_master
WHERE type = 'table'
@@ -166,9 +165,9 @@ class acp_profile
$db->sql_query('CREATE TABLE ' . PROFILE_FIELDS_DATA_TABLE . ' (' . $new_table_cols . ');');
$db->sql_query('INSERT INTO ' . PROFILE_FIELDS_DATA_TABLE . ' (' . $columns . ') SELECT ' . $columns . ' FROM ' . PROFILE_FIELDS_DATA_TABLE . '_temp;');
$db->sql_query('DROP TABLE ' . PROFILE_FIELDS_DATA_TABLE . '_temp');
break;
default:
}
else
{
$db->sql_query('ALTER TABLE ' . PROFILE_FIELDS_DATA_TABLE . " DROP COLUMN pf_$field_ident");
}
@@ -1348,10 +1347,9 @@ class acp_profile
{
global $db;
switch ($db->sql_layer)
switch ($db->dbms_type)
{
case 'mysql':
case 'mysqli':
// 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` ";
@@ -1468,7 +1466,6 @@ class acp_profile
break;
case 'mssql':
case 'mssql_odbc':
// 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] ";

View File

@@ -1125,7 +1125,7 @@ class acp_users
// Update Custom Fields
if (sizeof($cp_data))
{
switch ($db->sql_layer)
switch ($db->dbms_type)
{
case 'oracle':
case 'firebird':
@@ -1136,13 +1136,11 @@ class acp_users
case 'sqlite':
case 'mssql':
case 'mssql_odbc':
$right_delim = ']';
$left_delim = '[';
break;
case 'mysql':
case 'mysqli':
$right_delim = $left_delim = '`';
break;
}