1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-31 14:00:31 +02:00

so.... what does this thing do?

well, the super fast, ultra efficient, massively huge BBCode handling system was implemented differently on each DBMS. Although this provided the best performance, the solution was a bit hacky.

So what does this new thing do? We use base64 encoding to make everything nice and shiny, it turns into nice, safe characters that we can just jam into varchars on essentially any database. This has two implications: we must decode every bitfield we get AND we have slightly fewer IDs to work with. It goes down from 2040 BBCodes to 1512. We lose like a quarter of them :P

P.S. I hope nothing broke :P


git-svn-id: file:///svn/phpbb/trunk@6263 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
David M
2006-08-11 21:52:46 +00:00
parent 9086adad3c
commit 86f3d738a0
24 changed files with 61 additions and 242 deletions

View File

@@ -222,7 +222,7 @@ CREATE TABLE phpbb_forums (
forum_parents mediumtext DEFAULT '' NOT NULL,
forum_name text DEFAULT '' NOT NULL,
forum_desc text DEFAULT '' NOT NULL,
forum_desc_bitfield varbinary(255) DEFAULT '' NOT NULL,
forum_desc_bitfield varchar(252) DEFAULT '' NOT NULL,
forum_desc_options int(11) UNSIGNED DEFAULT '0' NOT NULL,
forum_desc_uid varchar(5) DEFAULT '' NOT NULL,
forum_link varchar(255) DEFAULT '' NOT NULL,
@@ -231,7 +231,7 @@ CREATE TABLE phpbb_forums (
forum_image varchar(255) DEFAULT '' NOT NULL,
forum_rules text DEFAULT '' NOT NULL,
forum_rules_link varchar(255) DEFAULT '' NOT NULL,
forum_rules_bitfield varbinary(255) DEFAULT '' NOT NULL,
forum_rules_bitfield varchar(252) DEFAULT '' NOT NULL,
forum_rules_options int(11) UNSIGNED DEFAULT '0' NOT NULL,
forum_rules_uid varchar(5) DEFAULT '' NOT NULL,
forum_topics_per_page tinyint(4) DEFAULT '0' NOT NULL,
@@ -294,7 +294,7 @@ CREATE TABLE phpbb_groups (
group_type tinyint(4) DEFAULT '1' NOT NULL,
group_name varchar(252) DEFAULT '' NOT NULL,
group_desc text DEFAULT '' NOT NULL,
group_desc_bitfield varbinary(255) DEFAULT '' NOT NULL,
group_desc_bitfield varchar(252) DEFAULT '' NOT NULL,
group_desc_options int(11) UNSIGNED DEFAULT '0' NOT NULL,
group_desc_uid varchar(5) DEFAULT '' NOT NULL,
group_display tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
@@ -437,7 +437,7 @@ CREATE TABLE phpbb_posts (
post_checksum varchar(32) DEFAULT '' NOT NULL,
post_encoding varchar(20) DEFAULT 'iso-8859-1' NOT NULL,
post_attachment tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
bbcode_bitfield varbinary(255) DEFAULT '' NOT NULL,
bbcode_bitfield varchar(252) DEFAULT '' NOT NULL,
bbcode_uid varchar(5) DEFAULT '' NOT NULL,
post_postcount tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
post_edit_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
@@ -474,7 +474,7 @@ CREATE TABLE phpbb_privmsgs (
message_edit_user mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
message_encoding varchar(20) DEFAULT 'iso-8859-1' NOT NULL,
message_attachment tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
bbcode_bitfield varbinary(255) DEFAULT '' NOT NULL,
bbcode_bitfield varchar(252) DEFAULT '' NOT NULL,
bbcode_uid varchar(5) DEFAULT '' NOT NULL,
message_edit_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
message_edit_count smallint(4) UNSIGNED DEFAULT '0' NOT NULL,
@@ -729,7 +729,7 @@ CREATE TABLE phpbb_styles_template (
template_name varchar(252) DEFAULT '' NOT NULL,
template_copyright varchar(255) DEFAULT '' NOT NULL,
template_path varchar(100) DEFAULT '' NOT NULL,
bbcode_bitfield varbinary(255) DEFAULT 0x90D8 NOT NULL,
bbcode_bitfield varchar(252) DEFAULT 'kNg=' NOT NULL,
template_storedb tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
PRIMARY KEY (template_id),
UNIQUE tmplte_nm (template_name)
@@ -1010,7 +1010,7 @@ CREATE TABLE phpbb_users (
user_avatar_height tinyint(4) DEFAULT '0' NOT NULL,
user_sig mediumtext DEFAULT '' NOT NULL,
user_sig_bbcode_uid varchar(5) DEFAULT '' NOT NULL,
user_sig_bbcode_bitfield varbinary(255) DEFAULT '' NOT NULL,
user_sig_bbcode_bitfield varchar(252) DEFAULT '' NOT NULL,
user_from varchar(100) DEFAULT '' NOT NULL,
user_icq varchar(15) DEFAULT '' NOT NULL,
user_aim varchar(255) DEFAULT '' NOT NULL,