From fd4f973440baf51b92de61cd067268f1881a9a30 Mon Sep 17 00:00:00 2001 From: Henry Sudhof Date: Thu, 12 Apr 2012 18:34:50 +0200 Subject: [ticket/9725] Create an Azure SQL compatible Schema Two problems were encountered when installing on AzureSQL: -Azure SQL does not support the ON clause of T-SQL -Azure SQL requries a clustered index AKA primary key on all tables The fix is makeshift; it introduces questionable primary indices, which should be replaced with auto--increment columns. PHPBB3-9725 --- phpBB/develop/create_schema_files.php | 20 +- phpBB/install/schemas/mssql_schema.sql | 584 +++++++++++++++++---------------- 2 files changed, 325 insertions(+), 279 deletions(-) diff --git a/phpBB/develop/create_schema_files.php b/phpBB/develop/create_schema_files.php index 7b1fff40fb..23ef2f6c74 100644 --- a/phpBB/develop/create_schema_files.php +++ b/phpBB/develop/create_schema_files.php @@ -552,7 +552,7 @@ foreach ($supported_dbms as $dbms) case 'mssql': $line = substr($line, 0, -2); - $line .= "\n) ON [PRIMARY]" . (($textimage) ? ' TEXTIMAGE_ON [PRIMARY]' : '') . "\n"; + $line .= "\n)";// ON [PRIMARY]" . (($textimage) ? ' TEXTIMAGE_ON [PRIMARY]' : '') . "\n"; $line .= "GO\n\n"; break; } @@ -589,7 +589,7 @@ foreach ($supported_dbms as $dbms) $line .= "\tCONSTRAINT [PK_{$table_name}] PRIMARY KEY CLUSTERED \n"; $line .= "\t(\n"; $line .= "\t\t[" . implode("],\n\t\t[", $table_data['PRIMARY_KEY']) . "]\n"; - $line .= "\t) ON [PRIMARY] \n"; + $line .= "\t) \n"; $line .= "GO\n\n"; break; @@ -684,7 +684,7 @@ foreach ($supported_dbms as $dbms) case 'mssql': $line .= ($key_data[0] == 'INDEX') ? 'CREATE INDEX' : ''; $line .= ($key_data[0] == 'UNIQUE') ? 'CREATE UNIQUE INDEX' : ''; - $line .= " [{$key_name}] ON [{$table_name}]([" . implode('], [', $key_data[1]) . "]) ON [PRIMARY]\n"; + $line .= " [{$key_name}] ON [{$table_name}]([" . implode('], [', $key_data[1]) . "]) \n"; $line .= "GO\n\n"; break; @@ -863,8 +863,9 @@ function get_schema_struct() 'KEYS' => array( 'group_id' => array('INDEX', 'group_id'), 'auth_opt_id' => array('INDEX', 'auth_option_id'), - 'auth_role_id' => array('INDEX', 'auth_role_id'), + 'auth_role_id' => array('INDEX', 'auth_role_id', 'auth_option_id'), ), + 'PRIMARY_KEY' => array('group_id', 'forum_id', 'auth_option_id', 'auth_role_id', 'auth_setting'), ); $schema_data['phpbb_acl_options'] = array( @@ -921,6 +922,7 @@ function get_schema_struct() 'auth_option_id' => array('INDEX', 'auth_option_id'), 'auth_role_id' => array('INDEX', 'auth_role_id'), ), + 'PRIMARY_KEY' => array('user_id', 'forum_id', 'auth_option_id', 'auth_role_id', 'auth_setting'), ); $schema_data['phpbb_banlist'] = array( @@ -1142,6 +1144,7 @@ function get_schema_struct() 'user_id' => array('INDEX', 'user_id'), 'notify_stat' => array('INDEX', 'notify_status'), ), + 'PRIMARY_KEY' => array('forum_id', 'user_id'), ); $schema_data['phpbb_groups'] = array( @@ -1258,6 +1261,8 @@ function get_schema_struct() 'disp_idx' => array('INDEX', 'display_on_index'), 'forum_id' => array('INDEX', 'forum_id'), ), + 'PRIMARY_KEY' => array('forum_id', 'user_id', 'group_id'), + ); $schema_data['phpbb_modules'] = array( @@ -1293,6 +1298,7 @@ function get_schema_struct() 'poll_opt_id' => array('INDEX', 'poll_option_id'), 'topic_id' => array('INDEX', 'topic_id'), ), + 'PRIMARY_KEY' => array('topic_id', 'poll_option_id'), ); $schema_data['phpbb_poll_votes'] = array( @@ -1307,6 +1313,7 @@ function get_schema_struct() 'vote_user_id' => array('INDEX', 'vote_user_id'), 'vote_user_ip' => array('INDEX', 'vote_user_ip'), ), + 'PRIMARY_KEY' => array('topic_id', 'poll_option_id', 'vote_user_id'), ); $schema_data['phpbb_posts'] = array( @@ -1433,6 +1440,7 @@ function get_schema_struct() 'author_id' => array('INDEX', 'author_id'), 'usr_flder_id' => array('INDEX', array('user_id', 'folder_id')), ), +'PRIMARY_KEY' => array('msg_id', 'user_id', 'author_id'), ); $schema_data['phpbb_profile_fields'] = array( @@ -1568,6 +1576,7 @@ function get_schema_struct() 'word_id' => array('INDEX', 'word_id'), 'post_id' => array('INDEX', 'post_id'), ), + 'PRIMARY_KEY' => array('post_id', 'word_id'), ); $schema_data['phpbb_sessions'] = array( @@ -1683,6 +1692,7 @@ function get_schema_struct() 'tid' => array('INDEX', 'template_id'), 'tfn' => array('INDEX', 'template_filename'), ), + 'PRIMARY_KEY' => array('template_id', 'template_filename'), ); $schema_data['phpbb_styles_theme'] = array( @@ -1812,6 +1822,7 @@ function get_schema_struct() 'user_id' => array('INDEX', 'user_id'), 'notify_stat' => array('INDEX', 'notify_status'), ), + 'PRIMARY_KEY' => array('topic_id', 'user_id'), ); $schema_data['phpbb_user_group'] = array( @@ -1826,6 +1837,7 @@ function get_schema_struct() 'user_id' => array('INDEX', 'user_id'), 'group_leader' => array('INDEX', 'group_leader'), ), + 'PRIMARY_KEY' => array('group_id', 'user_id'), ); $schema_data['phpbb_users'] = array( diff --git a/phpBB/install/schemas/mssql_schema.sql b/phpBB/install/schemas/mssql_schema.sql index 0b2f8368de..5397480280 100644 --- a/phpBB/install/schemas/mssql_schema.sql +++ b/phpBB/install/schemas/mssql_schema.sql @@ -25,29 +25,28 @@ CREATE TABLE [phpbb_attachments] ( [filesize] [int] DEFAULT (0) NOT NULL , [filetime] [int] DEFAULT (0) NOT NULL , [thumbnail] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_attachments] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_attachments] PRIMARY KEY CLUSTERED ( [attach_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [filetime] ON [phpbb_attachments]([filetime]) ON [PRIMARY] +CREATE INDEX [filetime] ON [phpbb_attachments]([filetime]) GO -CREATE INDEX [post_msg_id] ON [phpbb_attachments]([post_msg_id]) ON [PRIMARY] +CREATE INDEX [post_msg_id] ON [phpbb_attachments]([post_msg_id]) GO -CREATE INDEX [topic_id] ON [phpbb_attachments]([topic_id]) ON [PRIMARY] +CREATE INDEX [topic_id] ON [phpbb_attachments]([topic_id]) GO -CREATE INDEX [poster_id] ON [phpbb_attachments]([poster_id]) ON [PRIMARY] +CREATE INDEX [poster_id] ON [phpbb_attachments]([poster_id]) GO -CREATE INDEX [is_orphan] ON [phpbb_attachments]([is_orphan]) ON [PRIMARY] +CREATE INDEX [is_orphan] ON [phpbb_attachments]([is_orphan]) GO @@ -60,16 +59,26 @@ CREATE TABLE [phpbb_acl_groups] ( [auth_option_id] [int] DEFAULT (0) NOT NULL , [auth_role_id] [int] DEFAULT (0) NOT NULL , [auth_setting] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] +)GO + +ALTER TABLE [phpbb_acl_groups] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_acl_groups] PRIMARY KEY CLUSTERED + ( + [group_id], + [forum_id], + [auth_option_id], + [auth_role_id], + [auth_setting] + ) GO -CREATE INDEX [group_id] ON [phpbb_acl_groups]([group_id]) ON [PRIMARY] +CREATE INDEX [group_id] ON [phpbb_acl_groups]([group_id]) GO -CREATE INDEX [auth_opt_id] ON [phpbb_acl_groups]([auth_option_id]) ON [PRIMARY] +CREATE INDEX [auth_opt_id] ON [phpbb_acl_groups]([auth_option_id]) GO -CREATE INDEX [auth_role_id] ON [phpbb_acl_groups]([auth_role_id]) ON [PRIMARY] +CREATE INDEX [auth_role_id] ON [phpbb_acl_groups]([auth_role_id]) GO @@ -82,17 +91,16 @@ CREATE TABLE [phpbb_acl_options] ( [is_global] [int] DEFAULT (0) NOT NULL , [is_local] [int] DEFAULT (0) NOT NULL , [founder_only] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_acl_options] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_acl_options] PRIMARY KEY CLUSTERED ( [auth_option_id] - ) ON [PRIMARY] + ) GO -CREATE UNIQUE INDEX [auth_option] ON [phpbb_acl_options]([auth_option]) ON [PRIMARY] +CREATE UNIQUE INDEX [auth_option] ON [phpbb_acl_options]([auth_option]) GO @@ -105,20 +113,19 @@ CREATE TABLE [phpbb_acl_roles] ( [role_description] [varchar] (4000) DEFAULT ('') NOT NULL , [role_type] [varchar] (10) DEFAULT ('') NOT NULL , [role_order] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_acl_roles] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_acl_roles] PRIMARY KEY CLUSTERED ( [role_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [role_type] ON [phpbb_acl_roles]([role_type]) ON [PRIMARY] +CREATE INDEX [role_type] ON [phpbb_acl_roles]([role_type]) GO -CREATE INDEX [role_order] ON [phpbb_acl_roles]([role_order]) ON [PRIMARY] +CREATE INDEX [role_order] ON [phpbb_acl_roles]([role_order]) GO @@ -129,18 +136,17 @@ CREATE TABLE [phpbb_acl_roles_data] ( [role_id] [int] DEFAULT (0) NOT NULL , [auth_option_id] [int] DEFAULT (0) NOT NULL , [auth_setting] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_acl_roles_data] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_acl_roles_data] PRIMARY KEY CLUSTERED ( [role_id], [auth_option_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [ath_op_id] ON [phpbb_acl_roles_data]([auth_option_id]) ON [PRIMARY] +CREATE INDEX [ath_op_id] ON [phpbb_acl_roles_data]([auth_option_id]) GO @@ -153,16 +159,26 @@ CREATE TABLE [phpbb_acl_users] ( [auth_option_id] [int] DEFAULT (0) NOT NULL , [auth_role_id] [int] DEFAULT (0) NOT NULL , [auth_setting] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] +)GO + +ALTER TABLE [phpbb_acl_users] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_acl_users] PRIMARY KEY CLUSTERED + ( + [user_id], + [forum_id], + [auth_option_id], + [auth_role_id], + [auth_setting] + ) GO -CREATE INDEX [user_id] ON [phpbb_acl_users]([user_id]) ON [PRIMARY] +CREATE INDEX [user_id] ON [phpbb_acl_users]([user_id]) GO -CREATE INDEX [auth_option_id] ON [phpbb_acl_users]([auth_option_id]) ON [PRIMARY] +CREATE INDEX [auth_option_id] ON [phpbb_acl_users]([auth_option_id]) GO -CREATE INDEX [auth_role_id] ON [phpbb_acl_users]([auth_role_id]) ON [PRIMARY] +CREATE INDEX [auth_role_id] ON [phpbb_acl_users]([auth_role_id]) GO @@ -179,26 +195,25 @@ CREATE TABLE [phpbb_banlist] ( [ban_exclude] [int] DEFAULT (0) NOT NULL , [ban_reason] [varchar] (255) DEFAULT ('') NOT NULL , [ban_give_reason] [varchar] (255) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_banlist] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_banlist] PRIMARY KEY CLUSTERED ( [ban_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [ban_end] ON [phpbb_banlist]([ban_end]) ON [PRIMARY] +CREATE INDEX [ban_end] ON [phpbb_banlist]([ban_end]) GO -CREATE INDEX [ban_user] ON [phpbb_banlist]([ban_userid], [ban_exclude]) ON [PRIMARY] +CREATE INDEX [ban_user] ON [phpbb_banlist]([ban_userid], [ban_exclude]) GO -CREATE INDEX [ban_email] ON [phpbb_banlist]([ban_email], [ban_exclude]) ON [PRIMARY] +CREATE INDEX [ban_email] ON [phpbb_banlist]([ban_email], [ban_exclude]) GO -CREATE INDEX [ban_ip] ON [phpbb_banlist]([ban_ip], [ban_exclude]) ON [PRIMARY] +CREATE INDEX [ban_ip] ON [phpbb_banlist]([ban_ip], [ban_exclude]) GO @@ -216,17 +231,16 @@ CREATE TABLE [phpbb_bbcodes] ( [first_pass_replace] [text] DEFAULT ('') NOT NULL , [second_pass_match] [text] DEFAULT ('') NOT NULL , [second_pass_replace] [text] DEFAULT ('') NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_bbcodes] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_bbcodes] PRIMARY KEY CLUSTERED ( [bbcode_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [display_on_post] ON [phpbb_bbcodes]([display_on_posting]) ON [PRIMARY] +CREATE INDEX [display_on_post] ON [phpbb_bbcodes]([display_on_posting]) GO @@ -236,15 +250,14 @@ GO CREATE TABLE [phpbb_bookmarks] ( [topic_id] [int] DEFAULT (0) NOT NULL , [user_id] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_bookmarks] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_bookmarks] PRIMARY KEY CLUSTERED ( [topic_id], [user_id] - ) ON [PRIMARY] + ) GO @@ -258,17 +271,16 @@ CREATE TABLE [phpbb_bots] ( [user_id] [int] DEFAULT (0) NOT NULL , [bot_agent] [varchar] (255) DEFAULT ('') NOT NULL , [bot_ip] [varchar] (255) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_bots] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_bots] PRIMARY KEY CLUSTERED ( [bot_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [bot_active] ON [phpbb_bots]([bot_active]) ON [PRIMARY] +CREATE INDEX [bot_active] ON [phpbb_bots]([bot_active]) GO @@ -279,17 +291,16 @@ CREATE TABLE [phpbb_config] ( [config_name] [varchar] (255) DEFAULT ('') NOT NULL , [config_value] [varchar] (255) DEFAULT ('') NOT NULL , [is_dynamic] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_config] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_config] PRIMARY KEY CLUSTERED ( [config_name] - ) ON [PRIMARY] + ) GO -CREATE INDEX [is_dynamic] ON [phpbb_config]([is_dynamic]) ON [PRIMARY] +CREATE INDEX [is_dynamic] ON [phpbb_config]([is_dynamic]) GO @@ -303,18 +314,17 @@ CREATE TABLE [phpbb_confirm] ( [code] [varchar] (8) DEFAULT ('') NOT NULL , [seed] [int] DEFAULT (0) NOT NULL , [attempts] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_confirm] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_confirm] PRIMARY KEY CLUSTERED ( [session_id], [confirm_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [confirm_type] ON [phpbb_confirm]([confirm_type]) ON [PRIMARY] +CREATE INDEX [confirm_type] ON [phpbb_confirm]([confirm_type]) GO @@ -324,14 +334,13 @@ GO CREATE TABLE [phpbb_disallow] ( [disallow_id] [int] IDENTITY (1, 1) NOT NULL , [disallow_username] [varchar] (255) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_disallow] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_disallow] PRIMARY KEY CLUSTERED ( [disallow_id] - ) ON [PRIMARY] + ) GO @@ -346,17 +355,16 @@ CREATE TABLE [phpbb_drafts] ( [save_time] [int] DEFAULT (0) NOT NULL , [draft_subject] [varchar] (255) DEFAULT ('') NOT NULL , [draft_message] [text] DEFAULT ('') NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_drafts] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_drafts] PRIMARY KEY CLUSTERED ( [draft_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [save_time] ON [phpbb_drafts]([save_time]) ON [PRIMARY] +CREATE INDEX [save_time] ON [phpbb_drafts]([save_time]) GO @@ -367,14 +375,13 @@ CREATE TABLE [phpbb_extensions] ( [extension_id] [int] IDENTITY (1, 1) NOT NULL , [group_id] [int] DEFAULT (0) NOT NULL , [extension] [varchar] (100) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_extensions] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_extensions] PRIMARY KEY CLUSTERED ( [extension_id] - ) ON [PRIMARY] + ) GO @@ -391,14 +398,13 @@ CREATE TABLE [phpbb_extension_groups] ( [max_filesize] [int] DEFAULT (0) NOT NULL , [allowed_forums] [varchar] (8000) DEFAULT ('') NOT NULL , [allow_in_pm] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_extension_groups] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_extension_groups] PRIMARY KEY CLUSTERED ( [group_id] - ) ON [PRIMARY] + ) GO @@ -448,20 +454,19 @@ CREATE TABLE [phpbb_forums] ( [prune_days] [int] DEFAULT (0) NOT NULL , [prune_viewed] [int] DEFAULT (0) NOT NULL , [prune_freq] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_forums] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_forums] PRIMARY KEY CLUSTERED ( [forum_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [left_right_id] ON [phpbb_forums]([left_id], [right_id]) ON [PRIMARY] +CREATE INDEX [left_right_id] ON [phpbb_forums]([left_id], [right_id]) GO -CREATE INDEX [forum_lastpost_id] ON [phpbb_forums]([forum_last_post_id]) ON [PRIMARY] +CREATE INDEX [forum_lastpost_id] ON [phpbb_forums]([forum_last_post_id]) GO @@ -472,8 +477,7 @@ CREATE TABLE [phpbb_forums_access] ( [forum_id] [int] DEFAULT (0) NOT NULL , [user_id] [int] DEFAULT (0) NOT NULL , [session_id] [char] (32) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_forums_access] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_forums_access] PRIMARY KEY CLUSTERED @@ -481,7 +485,7 @@ ALTER TABLE [phpbb_forums_access] WITH NOCHECK ADD [forum_id], [user_id], [session_id] - ) ON [PRIMARY] + ) GO @@ -492,15 +496,14 @@ CREATE TABLE [phpbb_forums_track] ( [user_id] [int] DEFAULT (0) NOT NULL , [forum_id] [int] DEFAULT (0) NOT NULL , [mark_time] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_forums_track] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_forums_track] PRIMARY KEY CLUSTERED ( [user_id], [forum_id] - ) ON [PRIMARY] + ) GO @@ -511,16 +514,23 @@ CREATE TABLE [phpbb_forums_watch] ( [forum_id] [int] DEFAULT (0) NOT NULL , [user_id] [int] DEFAULT (0) NOT NULL , [notify_status] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] +)GO + +ALTER TABLE [phpbb_forums_watch] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_forums_watch] PRIMARY KEY CLUSTERED + ( + [forum_id], + [user_id] + ) GO -CREATE INDEX [forum_id] ON [phpbb_forums_watch]([forum_id]) ON [PRIMARY] +CREATE INDEX [forum_id] ON [phpbb_forums_watch]([forum_id]) GO -CREATE INDEX [user_id] ON [phpbb_forums_watch]([user_id]) ON [PRIMARY] +CREATE INDEX [user_id] ON [phpbb_forums_watch]([user_id]) GO -CREATE INDEX [notify_stat] ON [phpbb_forums_watch]([notify_status]) ON [PRIMARY] +CREATE INDEX [notify_stat] ON [phpbb_forums_watch]([notify_status]) GO @@ -549,17 +559,16 @@ CREATE TABLE [phpbb_groups] ( [group_message_limit] [int] DEFAULT (0) NOT NULL , [group_max_recipients] [int] DEFAULT (0) NOT NULL , [group_legend] [int] DEFAULT (1) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_groups] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_groups] PRIMARY KEY CLUSTERED ( [group_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [group_legend_name] ON [phpbb_groups]([group_legend], [group_name]) ON [PRIMARY] +CREATE INDEX [group_legend_name] ON [phpbb_groups]([group_legend], [group_name]) GO @@ -573,17 +582,16 @@ CREATE TABLE [phpbb_icons] ( [icons_height] [int] DEFAULT (0) NOT NULL , [icons_order] [int] DEFAULT (0) NOT NULL , [display_on_posting] [int] DEFAULT (1) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_icons] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_icons] PRIMARY KEY CLUSTERED ( [icons_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [display_on_posting] ON [phpbb_icons]([display_on_posting]) ON [PRIMARY] +CREATE INDEX [display_on_posting] ON [phpbb_icons]([display_on_posting]) GO @@ -597,17 +605,16 @@ CREATE TABLE [phpbb_lang] ( [lang_english_name] [varchar] (100) DEFAULT ('') NOT NULL , [lang_local_name] [varchar] (255) DEFAULT ('') NOT NULL , [lang_author] [varchar] (255) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_lang] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_lang] PRIMARY KEY CLUSTERED ( [lang_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [lang_iso] ON [phpbb_lang]([lang_iso]) ON [PRIMARY] +CREATE INDEX [lang_iso] ON [phpbb_lang]([lang_iso]) GO @@ -625,29 +632,28 @@ CREATE TABLE [phpbb_log] ( [log_time] [int] DEFAULT (0) NOT NULL , [log_operation] [varchar] (4000) DEFAULT ('') NOT NULL , [log_data] [text] DEFAULT ('') NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_log] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_log] PRIMARY KEY CLUSTERED ( [log_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [log_type] ON [phpbb_log]([log_type]) ON [PRIMARY] +CREATE INDEX [log_type] ON [phpbb_log]([log_type]) GO -CREATE INDEX [forum_id] ON [phpbb_log]([forum_id]) ON [PRIMARY] +CREATE INDEX [forum_id] ON [phpbb_log]([forum_id]) GO -CREATE INDEX [topic_id] ON [phpbb_log]([topic_id]) ON [PRIMARY] +CREATE INDEX [topic_id] ON [phpbb_log]([topic_id]) GO -CREATE INDEX [reportee_id] ON [phpbb_log]([reportee_id]) ON [PRIMARY] +CREATE INDEX [reportee_id] ON [phpbb_log]([reportee_id]) GO -CREATE INDEX [user_id] ON [phpbb_log]([user_id]) ON [PRIMARY] +CREATE INDEX [user_id] ON [phpbb_log]([user_id]) GO @@ -662,19 +668,18 @@ CREATE TABLE [phpbb_login_attempts] ( [user_id] [int] DEFAULT (0) NOT NULL , [username] [varchar] (255) DEFAULT (0) NOT NULL , [username_clean] [varchar] (255) DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO -CREATE INDEX [att_ip] ON [phpbb_login_attempts]([attempt_ip], [attempt_time]) ON [PRIMARY] +CREATE INDEX [att_ip] ON [phpbb_login_attempts]([attempt_ip], [attempt_time]) GO -CREATE INDEX [att_for] ON [phpbb_login_attempts]([attempt_forwarded_for], [attempt_time]) ON [PRIMARY] +CREATE INDEX [att_for] ON [phpbb_login_attempts]([attempt_forwarded_for], [attempt_time]) GO -CREATE INDEX [att_time] ON [phpbb_login_attempts]([attempt_time]) ON [PRIMARY] +CREATE INDEX [att_time] ON [phpbb_login_attempts]([attempt_time]) GO -CREATE INDEX [user_id] ON [phpbb_login_attempts]([user_id]) ON [PRIMARY] +CREATE INDEX [user_id] ON [phpbb_login_attempts]([user_id]) GO @@ -688,13 +693,21 @@ CREATE TABLE [phpbb_moderator_cache] ( [group_id] [int] DEFAULT (0) NOT NULL , [group_name] [varchar] (255) DEFAULT ('') NOT NULL , [display_on_index] [int] DEFAULT (1) NOT NULL -) ON [PRIMARY] +)GO + +ALTER TABLE [phpbb_moderator_cache] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_moderator_cache] PRIMARY KEY CLUSTERED + ( + [forum_id], + [user_id], + [group_id] + ) GO -CREATE INDEX [disp_idx] ON [phpbb_moderator_cache]([display_on_index]) ON [PRIMARY] +CREATE INDEX [disp_idx] ON [phpbb_moderator_cache]([display_on_index]) GO -CREATE INDEX [forum_id] ON [phpbb_moderator_cache]([forum_id]) ON [PRIMARY] +CREATE INDEX [forum_id] ON [phpbb_moderator_cache]([forum_id]) GO @@ -713,23 +726,22 @@ CREATE TABLE [phpbb_modules] ( [module_langname] [varchar] (255) DEFAULT ('') NOT NULL , [module_mode] [varchar] (255) DEFAULT ('') NOT NULL , [module_auth] [varchar] (255) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_modules] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_modules] PRIMARY KEY CLUSTERED ( [module_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [left_right_id] ON [phpbb_modules]([left_id], [right_id]) ON [PRIMARY] +CREATE INDEX [left_right_id] ON [phpbb_modules]([left_id], [right_id]) GO -CREATE INDEX [module_enabled] ON [phpbb_modules]([module_enabled]) ON [PRIMARY] +CREATE INDEX [module_enabled] ON [phpbb_modules]([module_enabled]) GO -CREATE INDEX [class_left_id] ON [phpbb_modules]([module_class], [left_id]) ON [PRIMARY] +CREATE INDEX [class_left_id] ON [phpbb_modules]([module_class], [left_id]) GO @@ -741,13 +753,20 @@ CREATE TABLE [phpbb_poll_options] ( [topic_id] [int] DEFAULT (0) NOT NULL , [poll_option_text] [varchar] (4000) DEFAULT ('') NOT NULL , [poll_option_total] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] +)GO + +ALTER TABLE [phpbb_poll_options] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_poll_options] PRIMARY KEY CLUSTERED + ( + [topic_id], + [poll_option_id] + ) GO -CREATE INDEX [poll_opt_id] ON [phpbb_poll_options]([poll_option_id]) ON [PRIMARY] +CREATE INDEX [poll_opt_id] ON [phpbb_poll_options]([poll_option_id]) GO -CREATE INDEX [topic_id] ON [phpbb_poll_options]([topic_id]) ON [PRIMARY] +CREATE INDEX [topic_id] ON [phpbb_poll_options]([topic_id]) GO @@ -759,16 +778,24 @@ CREATE TABLE [phpbb_poll_votes] ( [poll_option_id] [int] DEFAULT (0) NOT NULL , [vote_user_id] [int] DEFAULT (0) NOT NULL , [vote_user_ip] [varchar] (40) DEFAULT ('') NOT NULL -) ON [PRIMARY] +)GO + +ALTER TABLE [phpbb_poll_votes] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_poll_votes] PRIMARY KEY CLUSTERED + ( + [topic_id], + [poll_option_id], + [vote_user_id] + ) GO -CREATE INDEX [topic_id] ON [phpbb_poll_votes]([topic_id]) ON [PRIMARY] +CREATE INDEX [topic_id] ON [phpbb_poll_votes]([topic_id]) GO -CREATE INDEX [vote_user_id] ON [phpbb_poll_votes]([vote_user_id]) ON [PRIMARY] +CREATE INDEX [vote_user_id] ON [phpbb_poll_votes]([vote_user_id]) GO -CREATE INDEX [vote_user_ip] ON [phpbb_poll_votes]([vote_user_ip]) ON [PRIMARY] +CREATE INDEX [vote_user_ip] ON [phpbb_poll_votes]([vote_user_ip]) GO @@ -802,35 +829,34 @@ CREATE TABLE [phpbb_posts] ( [post_edit_user] [int] DEFAULT (0) NOT NULL , [post_edit_count] [int] DEFAULT (0) NOT NULL , [post_edit_locked] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_posts] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_posts] PRIMARY KEY CLUSTERED ( [post_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [forum_id] ON [phpbb_posts]([forum_id]) ON [PRIMARY] +CREATE INDEX [forum_id] ON [phpbb_posts]([forum_id]) GO -CREATE INDEX [topic_id] ON [phpbb_posts]([topic_id]) ON [PRIMARY] +CREATE INDEX [topic_id] ON [phpbb_posts]([topic_id]) GO -CREATE INDEX [poster_ip] ON [phpbb_posts]([poster_ip]) ON [PRIMARY] +CREATE INDEX [poster_ip] ON [phpbb_posts]([poster_ip]) GO -CREATE INDEX [poster_id] ON [phpbb_posts]([poster_id]) ON [PRIMARY] +CREATE INDEX [poster_id] ON [phpbb_posts]([poster_id]) GO -CREATE INDEX [post_approved] ON [phpbb_posts]([post_approved]) ON [PRIMARY] +CREATE INDEX [post_approved] ON [phpbb_posts]([post_approved]) GO -CREATE INDEX [post_username] ON [phpbb_posts]([post_username]) ON [PRIMARY] +CREATE INDEX [post_username] ON [phpbb_posts]([post_username]) GO -CREATE INDEX [tid_post_time] ON [phpbb_posts]([topic_id], [post_time]) ON [PRIMARY] +CREATE INDEX [tid_post_time] ON [phpbb_posts]([topic_id], [post_time]) GO @@ -860,26 +886,25 @@ CREATE TABLE [phpbb_privmsgs] ( [to_address] [varchar] (4000) DEFAULT ('') NOT NULL , [bcc_address] [varchar] (4000) DEFAULT ('') NOT NULL , [message_reported] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_privmsgs] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_privmsgs] PRIMARY KEY CLUSTERED ( [msg_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [author_ip] ON [phpbb_privmsgs]([author_ip]) ON [PRIMARY] +CREATE INDEX [author_ip] ON [phpbb_privmsgs]([author_ip]) GO -CREATE INDEX [message_time] ON [phpbb_privmsgs]([message_time]) ON [PRIMARY] +CREATE INDEX [message_time] ON [phpbb_privmsgs]([message_time]) GO -CREATE INDEX [author_id] ON [phpbb_privmsgs]([author_id]) ON [PRIMARY] +CREATE INDEX [author_id] ON [phpbb_privmsgs]([author_id]) GO -CREATE INDEX [root_level] ON [phpbb_privmsgs]([root_level]) ON [PRIMARY] +CREATE INDEX [root_level] ON [phpbb_privmsgs]([root_level]) GO @@ -891,17 +916,16 @@ CREATE TABLE [phpbb_privmsgs_folder] ( [user_id] [int] DEFAULT (0) NOT NULL , [folder_name] [varchar] (255) DEFAULT ('') NOT NULL , [pm_count] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_privmsgs_folder] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_privmsgs_folder] PRIMARY KEY CLUSTERED ( [folder_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [user_id] ON [phpbb_privmsgs_folder]([user_id]) ON [PRIMARY] +CREATE INDEX [user_id] ON [phpbb_privmsgs_folder]([user_id]) GO @@ -918,17 +942,16 @@ CREATE TABLE [phpbb_privmsgs_rules] ( [rule_group_id] [int] DEFAULT (0) NOT NULL , [rule_action] [int] DEFAULT (0) NOT NULL , [rule_folder_id] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_privmsgs_rules] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_privmsgs_rules] PRIMARY KEY CLUSTERED ( [rule_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [user_id] ON [phpbb_privmsgs_rules]([user_id]) ON [PRIMARY] +CREATE INDEX [user_id] ON [phpbb_privmsgs_rules]([user_id]) GO @@ -946,16 +969,24 @@ CREATE TABLE [phpbb_privmsgs_to] ( [pm_marked] [int] DEFAULT (0) NOT NULL , [pm_forwarded] [int] DEFAULT (0) NOT NULL , [folder_id] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] +)GO + +ALTER TABLE [phpbb_privmsgs_to] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_privmsgs_to] PRIMARY KEY CLUSTERED + ( + [msg_id], + [user_id], + [author_id] + ) GO -CREATE INDEX [msg_id] ON [phpbb_privmsgs_to]([msg_id]) ON [PRIMARY] +CREATE INDEX [msg_id] ON [phpbb_privmsgs_to]([msg_id]) GO -CREATE INDEX [author_id] ON [phpbb_privmsgs_to]([author_id]) ON [PRIMARY] +CREATE INDEX [author_id] ON [phpbb_privmsgs_to]([author_id]) GO -CREATE INDEX [usr_flder_id] ON [phpbb_privmsgs_to]([user_id], [folder_id]) ON [PRIMARY] +CREATE INDEX [usr_flder_id] ON [phpbb_privmsgs_to]([user_id], [folder_id]) GO @@ -982,20 +1013,19 @@ CREATE TABLE [phpbb_profile_fields] ( [field_no_view] [int] DEFAULT (0) NOT NULL , [field_active] [int] DEFAULT (0) NOT NULL , [field_order] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_profile_fields] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_profile_fields] PRIMARY KEY CLUSTERED ( [field_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [fld_type] ON [phpbb_profile_fields]([field_type]) ON [PRIMARY] +CREATE INDEX [fld_type] ON [phpbb_profile_fields]([field_type]) GO -CREATE INDEX [fld_ordr] ON [phpbb_profile_fields]([field_order]) ON [PRIMARY] +CREATE INDEX [fld_ordr] ON [phpbb_profile_fields]([field_order]) GO @@ -1004,14 +1034,13 @@ GO */ CREATE TABLE [phpbb_profile_fields_data] ( [user_id] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_profile_fields_data] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_profile_fields_data] PRIMARY KEY CLUSTERED ( [user_id] - ) ON [PRIMARY] + ) GO @@ -1024,8 +1053,7 @@ CREATE TABLE [phpbb_profile_fields_lang] ( [option_id] [int] DEFAULT (0) NOT NULL , [field_type] [int] DEFAULT (0) NOT NULL , [lang_value] [varchar] (255) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_profile_fields_lang] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_profile_fields_lang] PRIMARY KEY CLUSTERED @@ -1033,7 +1061,7 @@ ALTER TABLE [phpbb_profile_fields_lang] WITH NOCHECK ADD [field_id], [lang_id], [option_id] - ) ON [PRIMARY] + ) GO @@ -1046,15 +1074,14 @@ CREATE TABLE [phpbb_profile_lang] ( [lang_name] [varchar] (255) DEFAULT ('') NOT NULL , [lang_explain] [varchar] (4000) DEFAULT ('') NOT NULL , [lang_default_value] [varchar] (255) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_profile_lang] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_profile_lang] PRIMARY KEY CLUSTERED ( [field_id], [lang_id] - ) ON [PRIMARY] + ) GO @@ -1067,14 +1094,13 @@ CREATE TABLE [phpbb_ranks] ( [rank_min] [int] DEFAULT (0) NOT NULL , [rank_special] [int] DEFAULT (0) NOT NULL , [rank_image] [varchar] (255) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_ranks] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_ranks] PRIMARY KEY CLUSTERED ( [rank_id] - ) ON [PRIMARY] + ) GO @@ -1091,20 +1117,19 @@ CREATE TABLE [phpbb_reports] ( [report_closed] [int] DEFAULT (0) NOT NULL , [report_time] [int] DEFAULT (0) NOT NULL , [report_text] [text] DEFAULT ('') NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_reports] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_reports] PRIMARY KEY CLUSTERED ( [report_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [post_id] ON [phpbb_reports]([post_id]) ON [PRIMARY] +CREATE INDEX [post_id] ON [phpbb_reports]([post_id]) GO -CREATE INDEX [pm_id] ON [phpbb_reports]([pm_id]) ON [PRIMARY] +CREATE INDEX [pm_id] ON [phpbb_reports]([pm_id]) GO @@ -1116,14 +1141,13 @@ CREATE TABLE [phpbb_reports_reasons] ( [reason_title] [varchar] (255) DEFAULT ('') NOT NULL , [reason_description] [text] DEFAULT ('') NOT NULL , [reason_order] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_reports_reasons] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_reports_reasons] PRIMARY KEY CLUSTERED ( [reason_id] - ) ON [PRIMARY] + ) GO @@ -1135,14 +1159,13 @@ CREATE TABLE [phpbb_search_results] ( [search_time] [int] DEFAULT (0) NOT NULL , [search_keywords] [text] DEFAULT ('') NOT NULL , [search_authors] [text] DEFAULT ('') NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_search_results] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_search_results] PRIMARY KEY CLUSTERED ( [search_key] - ) ON [PRIMARY] + ) GO @@ -1154,20 +1177,19 @@ CREATE TABLE [phpbb_search_wordlist] ( [word_text] [varchar] (255) DEFAULT ('') NOT NULL , [word_common] [int] DEFAULT (0) NOT NULL , [word_count] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_search_wordlist] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_search_wordlist] PRIMARY KEY CLUSTERED ( [word_id] - ) ON [PRIMARY] + ) GO -CREATE UNIQUE INDEX [wrd_txt] ON [phpbb_search_wordlist]([word_text]) ON [PRIMARY] +CREATE UNIQUE INDEX [wrd_txt] ON [phpbb_search_wordlist]([word_text]) GO -CREATE INDEX [wrd_cnt] ON [phpbb_search_wordlist]([word_count]) ON [PRIMARY] +CREATE INDEX [wrd_cnt] ON [phpbb_search_wordlist]([word_count]) GO @@ -1178,16 +1200,23 @@ CREATE TABLE [phpbb_search_wordmatch] ( [post_id] [int] DEFAULT (0) NOT NULL , [word_id] [int] DEFAULT (0) NOT NULL , [title_match] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] +)GO + +ALTER TABLE [phpbb_search_wordmatch] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_search_wordmatch] PRIMARY KEY CLUSTERED + ( + [post_id], + [word_id] + ) GO -CREATE UNIQUE INDEX [unq_mtch] ON [phpbb_search_wordmatch]([word_id], [post_id], [title_match]) ON [PRIMARY] +CREATE UNIQUE INDEX [unq_mtch] ON [phpbb_search_wordmatch]([word_id], [post_id], [title_match]) GO -CREATE INDEX [word_id] ON [phpbb_search_wordmatch]([word_id]) ON [PRIMARY] +CREATE INDEX [word_id] ON [phpbb_search_wordmatch]([word_id]) GO -CREATE INDEX [post_id] ON [phpbb_search_wordmatch]([post_id]) ON [PRIMARY] +CREATE INDEX [post_id] ON [phpbb_search_wordmatch]([post_id]) GO @@ -1208,23 +1237,22 @@ CREATE TABLE [phpbb_sessions] ( [session_viewonline] [int] DEFAULT (1) NOT NULL , [session_autologin] [int] DEFAULT (0) NOT NULL , [session_admin] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_sessions] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_sessions] PRIMARY KEY CLUSTERED ( [session_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [session_time] ON [phpbb_sessions]([session_time]) ON [PRIMARY] +CREATE INDEX [session_time] ON [phpbb_sessions]([session_time]) GO -CREATE INDEX [session_user_id] ON [phpbb_sessions]([session_user_id]) ON [PRIMARY] +CREATE INDEX [session_user_id] ON [phpbb_sessions]([session_user_id]) GO -CREATE INDEX [session_fid] ON [phpbb_sessions]([session_forum_id]) ON [PRIMARY] +CREATE INDEX [session_fid] ON [phpbb_sessions]([session_forum_id]) GO @@ -1236,18 +1264,17 @@ CREATE TABLE [phpbb_sessions_keys] ( [user_id] [int] DEFAULT (0) NOT NULL , [last_ip] [varchar] (40) DEFAULT ('') NOT NULL , [last_login] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_sessions_keys] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_sessions_keys] PRIMARY KEY CLUSTERED ( [key_id], [user_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [last_login] ON [phpbb_sessions_keys]([last_login]) ON [PRIMARY] +CREATE INDEX [last_login] ON [phpbb_sessions_keys]([last_login]) GO @@ -1259,14 +1286,13 @@ CREATE TABLE [phpbb_sitelist] ( [site_ip] [varchar] (40) DEFAULT ('') NOT NULL , [site_hostname] [varchar] (255) DEFAULT ('') NOT NULL , [ip_exclude] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_sitelist] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_sitelist] PRIMARY KEY CLUSTERED ( [site_id] - ) ON [PRIMARY] + ) GO @@ -1282,17 +1308,16 @@ CREATE TABLE [phpbb_smilies] ( [smiley_height] [int] DEFAULT (0) NOT NULL , [smiley_order] [int] DEFAULT (0) NOT NULL , [display_on_posting] [int] DEFAULT (1) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_smilies] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_smilies] PRIMARY KEY CLUSTERED ( [smiley_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [display_on_post] ON [phpbb_smilies]([display_on_posting]) ON [PRIMARY] +CREATE INDEX [display_on_post] ON [phpbb_smilies]([display_on_posting]) GO @@ -1307,26 +1332,25 @@ CREATE TABLE [phpbb_styles] ( [template_id] [int] DEFAULT (0) NOT NULL , [theme_id] [int] DEFAULT (0) NOT NULL , [imageset_id] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_styles] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_styles] PRIMARY KEY CLUSTERED ( [style_id] - ) ON [PRIMARY] + ) GO -CREATE UNIQUE INDEX [style_name] ON [phpbb_styles]([style_name]) ON [PRIMARY] +CREATE UNIQUE INDEX [style_name] ON [phpbb_styles]([style_name]) GO -CREATE INDEX [template_id] ON [phpbb_styles]([template_id]) ON [PRIMARY] +CREATE INDEX [template_id] ON [phpbb_styles]([template_id]) GO -CREATE INDEX [theme_id] ON [phpbb_styles]([theme_id]) ON [PRIMARY] +CREATE INDEX [theme_id] ON [phpbb_styles]([theme_id]) GO -CREATE INDEX [imageset_id] ON [phpbb_styles]([imageset_id]) ON [PRIMARY] +CREATE INDEX [imageset_id] ON [phpbb_styles]([imageset_id]) GO @@ -1342,17 +1366,16 @@ CREATE TABLE [phpbb_styles_template] ( [template_storedb] [int] DEFAULT (0) NOT NULL , [template_inherits_id] [int] DEFAULT (0) NOT NULL , [template_inherit_path] [varchar] (255) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_styles_template] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_styles_template] PRIMARY KEY CLUSTERED ( [template_id] - ) ON [PRIMARY] + ) GO -CREATE UNIQUE INDEX [tmplte_nm] ON [phpbb_styles_template]([template_name]) ON [PRIMARY] +CREATE UNIQUE INDEX [tmplte_nm] ON [phpbb_styles_template]([template_name]) GO @@ -1365,13 +1388,20 @@ CREATE TABLE [phpbb_styles_template_data] ( [template_included] [varchar] (8000) DEFAULT ('') NOT NULL , [template_mtime] [int] DEFAULT (0) NOT NULL , [template_data] [text] DEFAULT ('') NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] +)GO + +ALTER TABLE [phpbb_styles_template_data] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_styles_template_data] PRIMARY KEY CLUSTERED + ( + [template_id], + [template_filename] + ) GO -CREATE INDEX [tid] ON [phpbb_styles_template_data]([template_id]) ON [PRIMARY] +CREATE INDEX [tid] ON [phpbb_styles_template_data]([template_id]) GO -CREATE INDEX [tfn] ON [phpbb_styles_template_data]([template_filename]) ON [PRIMARY] +CREATE INDEX [tfn] ON [phpbb_styles_template_data]([template_filename]) GO @@ -1386,17 +1416,16 @@ CREATE TABLE [phpbb_styles_theme] ( [theme_storedb] [int] DEFAULT (0) NOT NULL , [theme_mtime] [int] DEFAULT (0) NOT NULL , [theme_data] [text] DEFAULT ('') NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_styles_theme] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_styles_theme] PRIMARY KEY CLUSTERED ( [theme_id] - ) ON [PRIMARY] + ) GO -CREATE UNIQUE INDEX [theme_name] ON [phpbb_styles_theme]([theme_name]) ON [PRIMARY] +CREATE UNIQUE INDEX [theme_name] ON [phpbb_styles_theme]([theme_name]) GO @@ -1408,17 +1437,16 @@ CREATE TABLE [phpbb_styles_imageset] ( [imageset_name] [varchar] (255) DEFAULT ('') NOT NULL , [imageset_copyright] [varchar] (255) DEFAULT ('') NOT NULL , [imageset_path] [varchar] (100) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_styles_imageset] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_styles_imageset] PRIMARY KEY CLUSTERED ( [imageset_id] - ) ON [PRIMARY] + ) GO -CREATE UNIQUE INDEX [imgset_nm] ON [phpbb_styles_imageset]([imageset_name]) ON [PRIMARY] +CREATE UNIQUE INDEX [imgset_nm] ON [phpbb_styles_imageset]([imageset_name]) GO @@ -1433,17 +1461,16 @@ CREATE TABLE [phpbb_styles_imageset_data] ( [image_height] [int] DEFAULT (0) NOT NULL , [image_width] [int] DEFAULT (0) NOT NULL , [imageset_id] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_styles_imageset_data] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_styles_imageset_data] PRIMARY KEY CLUSTERED ( [image_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [i_d] ON [phpbb_styles_imageset_data]([imageset_id]) ON [PRIMARY] +CREATE INDEX [i_d] ON [phpbb_styles_imageset_data]([imageset_id]) GO @@ -1485,32 +1512,31 @@ CREATE TABLE [phpbb_topics] ( [poll_max_options] [int] DEFAULT (1) NOT NULL , [poll_last_vote] [int] DEFAULT (0) NOT NULL , [poll_vote_change] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_topics] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_topics] PRIMARY KEY CLUSTERED ( [topic_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [forum_id] ON [phpbb_topics]([forum_id]) ON [PRIMARY] +CREATE INDEX [forum_id] ON [phpbb_topics]([forum_id]) GO -CREATE INDEX [forum_id_type] ON [phpbb_topics]([forum_id], [topic_type]) ON [PRIMARY] +CREATE INDEX [forum_id_type] ON [phpbb_topics]([forum_id], [topic_type]) GO -CREATE INDEX [last_post_time] ON [phpbb_topics]([topic_last_post_time]) ON [PRIMARY] +CREATE INDEX [last_post_time] ON [phpbb_topics]([topic_last_post_time]) GO -CREATE INDEX [topic_approved] ON [phpbb_topics]([topic_approved]) ON [PRIMARY] +CREATE INDEX [topic_approved] ON [phpbb_topics]([topic_approved]) GO -CREATE INDEX [forum_appr_last] ON [phpbb_topics]([forum_id], [topic_approved], [topic_last_post_id]) ON [PRIMARY] +CREATE INDEX [forum_appr_last] ON [phpbb_topics]([forum_id], [topic_approved], [topic_last_post_id]) GO -CREATE INDEX [fid_time_moved] ON [phpbb_topics]([forum_id], [topic_last_post_time], [topic_moved_id]) ON [PRIMARY] +CREATE INDEX [fid_time_moved] ON [phpbb_topics]([forum_id], [topic_last_post_time], [topic_moved_id]) GO @@ -1522,21 +1548,20 @@ CREATE TABLE [phpbb_topics_track] ( [topic_id] [int] DEFAULT (0) NOT NULL , [forum_id] [int] DEFAULT (0) NOT NULL , [mark_time] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_topics_track] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_topics_track] PRIMARY KEY CLUSTERED ( [user_id], [topic_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [topic_id] ON [phpbb_topics_track]([topic_id]) ON [PRIMARY] +CREATE INDEX [topic_id] ON [phpbb_topics_track]([topic_id]) GO -CREATE INDEX [forum_id] ON [phpbb_topics_track]([forum_id]) ON [PRIMARY] +CREATE INDEX [forum_id] ON [phpbb_topics_track]([forum_id]) GO @@ -1547,15 +1572,14 @@ CREATE TABLE [phpbb_topics_posted] ( [user_id] [int] DEFAULT (0) NOT NULL , [topic_id] [int] DEFAULT (0) NOT NULL , [topic_posted] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_topics_posted] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_topics_posted] PRIMARY KEY CLUSTERED ( [user_id], [topic_id] - ) ON [PRIMARY] + ) GO @@ -1566,16 +1590,23 @@ CREATE TABLE [phpbb_topics_watch] ( [topic_id] [int] DEFAULT (0) NOT NULL , [user_id] [int] DEFAULT (0) NOT NULL , [notify_status] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] +)GO + +ALTER TABLE [phpbb_topics_watch] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_topics_watch] PRIMARY KEY CLUSTERED + ( + [topic_id], + [user_id] + ) GO -CREATE INDEX [topic_id] ON [phpbb_topics_watch]([topic_id]) ON [PRIMARY] +CREATE INDEX [topic_id] ON [phpbb_topics_watch]([topic_id]) GO -CREATE INDEX [user_id] ON [phpbb_topics_watch]([user_id]) ON [PRIMARY] +CREATE INDEX [user_id] ON [phpbb_topics_watch]([user_id]) GO -CREATE INDEX [notify_stat] ON [phpbb_topics_watch]([notify_status]) ON [PRIMARY] +CREATE INDEX [notify_stat] ON [phpbb_topics_watch]([notify_status]) GO @@ -1587,16 +1618,23 @@ CREATE TABLE [phpbb_user_group] ( [user_id] [int] DEFAULT (0) NOT NULL , [group_leader] [int] DEFAULT (0) NOT NULL , [user_pending] [int] DEFAULT (1) NOT NULL -) ON [PRIMARY] +)GO + +ALTER TABLE [phpbb_user_group] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_user_group] PRIMARY KEY CLUSTERED + ( + [group_id], + [user_id] + ) GO -CREATE INDEX [group_id] ON [phpbb_user_group]([group_id]) ON [PRIMARY] +CREATE INDEX [group_id] ON [phpbb_user_group]([group_id]) GO -CREATE INDEX [user_id] ON [phpbb_user_group]([user_id]) ON [PRIMARY] +CREATE INDEX [user_id] ON [phpbb_user_group]([user_id]) GO -CREATE INDEX [group_leader] ON [phpbb_user_group]([group_leader]) ON [PRIMARY] +CREATE INDEX [group_leader] ON [phpbb_user_group]([group_leader]) GO @@ -1680,26 +1718,25 @@ CREATE TABLE [phpbb_users] ( [user_new] [int] DEFAULT (1) NOT NULL , [user_reminded] [int] DEFAULT (0) NOT NULL , [user_reminded_time] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_users] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_users] PRIMARY KEY CLUSTERED ( [user_id] - ) ON [PRIMARY] + ) GO -CREATE INDEX [user_birthday] ON [phpbb_users]([user_birthday]) ON [PRIMARY] +CREATE INDEX [user_birthday] ON [phpbb_users]([user_birthday]) GO -CREATE INDEX [user_email_hash] ON [phpbb_users]([user_email_hash]) ON [PRIMARY] +CREATE INDEX [user_email_hash] ON [phpbb_users]([user_email_hash]) GO -CREATE INDEX [user_type] ON [phpbb_users]([user_type]) ON [PRIMARY] +CREATE INDEX [user_type] ON [phpbb_users]([user_type]) GO -CREATE UNIQUE INDEX [username_clean] ON [phpbb_users]([username_clean]) ON [PRIMARY] +CREATE UNIQUE INDEX [username_clean] ON [phpbb_users]([username_clean]) GO @@ -1712,14 +1749,13 @@ CREATE TABLE [phpbb_warnings] ( [post_id] [int] DEFAULT (0) NOT NULL , [log_id] [int] DEFAULT (0) NOT NULL , [warning_time] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_warnings] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_warnings] PRIMARY KEY CLUSTERED ( [warning_id] - ) ON [PRIMARY] + ) GO @@ -1730,14 +1766,13 @@ CREATE TABLE [phpbb_words] ( [word_id] [int] IDENTITY (1, 1) NOT NULL , [word] [varchar] (255) DEFAULT ('') NOT NULL , [replacement] [varchar] (255) DEFAULT ('') NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_words] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_words] PRIMARY KEY CLUSTERED ( [word_id] - ) ON [PRIMARY] + ) GO @@ -1749,15 +1784,14 @@ CREATE TABLE [phpbb_zebra] ( [zebra_id] [int] DEFAULT (0) NOT NULL , [friend] [int] DEFAULT (0) NOT NULL , [foe] [int] DEFAULT (0) NOT NULL -) ON [PRIMARY] -GO +)GO ALTER TABLE [phpbb_zebra] WITH NOCHECK ADD CONSTRAINT [PK_phpbb_zebra] PRIMARY KEY CLUSTERED ( [user_id], [zebra_id] - ) ON [PRIMARY] + ) GO -- cgit v1.2.1