Commit 57443e01 authored by Mike McCormack's avatar Mike McCormack Committed by Alexandre Julliard

msi: Fix the ALTER and FREE keywords in the tokenizer.

parent ddf0b593
...@@ -2754,7 +2754,6 @@ static void test_alter(void) ...@@ -2754,7 +2754,6 @@ static void test_alter(void)
cond = MsiDatabaseIsTablePersistent(hdb, "T"); cond = MsiDatabaseIsTablePersistent(hdb, "T");
ok( cond == MSICONDITION_FALSE, "wrong return condition\n"); ok( cond == MSICONDITION_FALSE, "wrong return condition\n");
todo_wine {
query = "ALTER TABLE `T` HOLD"; query = "ALTER TABLE `T` HOLD";
r = run_query(hdb, 0, query); r = run_query(hdb, 0, query);
ok(r == ERROR_SUCCESS, "failed to hold table %d\n", r); ok(r == ERROR_SUCCESS, "failed to hold table %d\n", r);
...@@ -2766,8 +2765,8 @@ static void test_alter(void) ...@@ -2766,8 +2765,8 @@ static void test_alter(void)
query = "ALTER TABLE `T` FREE"; query = "ALTER TABLE `T` FREE";
r = run_query(hdb, 0, query); r = run_query(hdb, 0, query);
ok(r == ERROR_SUCCESS, "failed to free table\n"); ok(r == ERROR_SUCCESS, "failed to free table\n");
}
todo_wine {
query = "ALTER TABLE `T` FREE"; query = "ALTER TABLE `T` FREE";
r = run_query(hdb, 0, query); r = run_query(hdb, 0, query);
ok(r == ERROR_BAD_QUERY_SYNTAX, "failed to free table\n"); ok(r == ERROR_BAD_QUERY_SYNTAX, "failed to free table\n");
...@@ -2775,6 +2774,7 @@ static void test_alter(void) ...@@ -2775,6 +2774,7 @@ static void test_alter(void)
query = "ALTER TABLE `T` HOLD"; query = "ALTER TABLE `T` HOLD";
r = run_query(hdb, 0, query); r = run_query(hdb, 0, query);
ok(r == ERROR_BAD_QUERY_SYNTAX, "failed to hold table %d\n", r); ok(r == ERROR_BAD_QUERY_SYNTAX, "failed to hold table %d\n", r);
}
MsiCloseHandle( hdb ); MsiCloseHandle( hdb );
......
...@@ -40,8 +40,8 @@ struct Keyword { ...@@ -40,8 +40,8 @@ struct Keyword {
static const WCHAR ABORT_W[] = { 'A','B','O','R','T',0 }; static const WCHAR ABORT_W[] = { 'A','B','O','R','T',0 };
static const WCHAR AFTER_W[] = { 'A','F','T','E','R',0 }; static const WCHAR AFTER_W[] = { 'A','F','T','E','R',0 };
static const WCHAR ALTER_W[] = { 'A','L','T','E','R',0 };
static const WCHAR ALL_W[] = { 'A','L','L',0 }; static const WCHAR ALL_W[] = { 'A','L','L',0 };
static const WCHAR ALTER_W[] = { 'A','L','T','E','R',0 };
static const WCHAR AND_W[] = { 'A','N','D',0 }; static const WCHAR AND_W[] = { 'A','N','D',0 };
static const WCHAR AS_W[] = { 'A','S',0 }; static const WCHAR AS_W[] = { 'A','S',0 };
static const WCHAR ASC_W[] = { 'A','S','C',0 }; static const WCHAR ASC_W[] = { 'A','S','C',0 };
...@@ -154,8 +154,8 @@ static const WCHAR WHERE_W[] = { 'W','H','E','R','E',0 }; ...@@ -154,8 +154,8 @@ static const WCHAR WHERE_W[] = { 'W','H','E','R','E',0 };
static const Keyword aKeywordTable[] = { static const Keyword aKeywordTable[] = {
{ ABORT_W, TK_ABORT }, { ABORT_W, TK_ABORT },
{ AFTER_W, TK_AFTER }, { AFTER_W, TK_AFTER },
{ ALTER_W, TK_ALTER },
{ ALL_W, TK_ALL }, { ALL_W, TK_ALL },
{ ALTER_W, TK_ALTER },
{ AND_W, TK_AND }, { AND_W, TK_AND },
{ AS_W, TK_AS }, { AS_W, TK_AS },
{ ASC_W, TK_ASC }, { ASC_W, TK_ASC },
...@@ -192,6 +192,7 @@ static const Keyword aKeywordTable[] = { ...@@ -192,6 +192,7 @@ static const Keyword aKeywordTable[] = {
{ FAIL_W, TK_FAIL }, { FAIL_W, TK_FAIL },
{ FOR_W, TK_FOR }, { FOR_W, TK_FOR },
{ FOREIGN_W, TK_FOREIGN }, { FOREIGN_W, TK_FOREIGN },
{ FREE_W, TK_FREE },
{ FROM_W, TK_FROM }, { FROM_W, TK_FROM },
{ FULL_W, TK_JOIN_KW }, { FULL_W, TK_JOIN_KW },
{ GLOB_W, TK_GLOB }, { GLOB_W, TK_GLOB },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment