Skip to content

Commit

Permalink
Fixed: 0001094: Unable to Drop Token Table "Incorrect syntax near the…
Browse files Browse the repository at this point in the history
… keyword 'TABLE'" (in MSSQL context)

Fixed to restore a token table in MSSQL context

git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/limesurvey@3100 b72ed6b6-b9f8-46b5-92b4-906544132732
  • Loading branch information
Gustavo San Roman committed Jul 20, 2007
1 parent f3375f6 commit cc18940
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 6 deletions.
2 changes: 1 addition & 1 deletion admin/database.php
Expand Up @@ -50,7 +50,7 @@ function db_rename_table($oldtable, $newtable)
global $connect;
switch ($connect->databaseType) {
case 'mysql' : return "RENAME TABLE $oldtable TO $newtable";
case 'odbc_mssql' : return "EXEC sp_rename '$oldtable', '$newtable'";
case 'odbc_mssql' : return "EXEC sp_rename $oldtable, $newtable";
default: die ("Couldn't create 'rename table' query for connection type '$connect->databaseType'");
}
}
Expand Down
9 changes: 5 additions & 4 deletions admin/tokens.php
Expand Up @@ -50,6 +50,8 @@
if (!isset($start)) {$start=returnglobal('start');}
if (!isset($searchstring)) {$searchstring=returnglobal('searchstring');}
include_once("login_check.php");
include_once("database.php");

$tokenoutput='';

$sumquery5 = "SELECT b.* FROM {$dbprefix}surveys AS a INNER JOIN {$dbprefix}surveys_rights AS b ON a.sid = b.sid WHERE a.sid=$surveyid AND b.uid = ".$_SESSION['loginID']; //Getting rights for this survey and user
Expand Down Expand Up @@ -227,8 +229,7 @@
}
elseif (returnglobal('restoretable') == "Y" && returnglobal('oldtable') && ($sumrows5['edit_survey_property'] || $sumrows5['activate_survey']))
{
#TODO: make the table rename use datadict
$query = "RENAME TABLE ".db_quote_id(returnglobal('oldtable'))." TO ".db_table_name("tokens_$surveyid");
$query = db_rename_table(db_quote_id(returnglobal('oldtable')) , db_table_name("tokens_$surveyid"));
$result=$connect->Execute($query) or die("Failed Rename!<br />".$query."<br />".htmlspecialchars($connect->ErrorMsg()));
$tokenoutput .= "\t<tr>\n"
."\t\t<td align='center'>\n"
Expand Down Expand Up @@ -722,8 +723,8 @@
{
$oldtable = "tokens_$surveyid";
$newtable = "old_tokens_{$surveyid}_$date";
$deactivatequery = "RENAME TABLE ".db_table_name($oldtable)." TO ".db_table_name($newtable);
$deactivateresult = $connect->Execute($deactivatequery) or die ("Couldn't deactivate because:<br />\n".htmlspecialchars($connect->ErrorMsg())."<br /><br />\n<a href='$scriptname?sid=$surveyid'>Admin</a>\n");
$deactivatequery = db_rename_table( db_table_name($oldtable), db_table_name($newtable));
$deactivateresult = $connect->Execute($deactivatequery) or die ("Couldn't deactivate because:<br />\n".htmlspecialchars($connect->ErrorMsg())." - Query: $deactivatequery <br /><br />\n<a href='$scriptname?sid=$surveyid'>Admin</a>\n");
$tokenoutput .= "<span style='display: block; text-align: center; width: 70%'>\n"
.$clang->gT("The tokens table has now been removed and tokens are no longer required to access this survey.")."<br /> ".$clang->gT("A backup of this table has been made and can be accessed by your system administrator.")."<br />\n"
."(\"{$dbprefix}old_tokens_{$_GET['sid']}_$date\")"."<br /><br />\n"
Expand Down
2 changes: 1 addition & 1 deletion common.php
Expand Up @@ -452,7 +452,7 @@ function db_select_tables_like($table)
case 'mysql' :
return "SHOW TABLES LIKE '$table'";
case 'odbc_mssql' :
return "SELECT * FROM INFORMATION_SCHEMA.TABLES where TABLE_TYPE='BASE TABLE' and TABLE_NAME LIKE '$table'";
return "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES where TABLE_TYPE='BASE TABLE' and TABLE_NAME LIKE '$table'";
default: die ("Couldn't create 'select tables like' query for connection type '$connect->databaseType'");
}
}
Expand Down

0 comments on commit cc18940

Please sign in to comment.