I see... I didn't know about the bbcode_bitfield. I searched for more information about this bitfield and came up with this page: http://area51.phpbb.com/phpBB/viewtopic ... 26&t=28439
It sounds like the BBCodes used within a post are stored in the bitfield so that when the post is displayed not every BBCode has to be parsed, just the ones that are actually used in the post. This makes sense.
But it also sounds like the BBCodes are stored in the bitfield according to their ID number, not their tag name. Why is this done? Why not store them by bbcode_tag?
Storing by ID seems like it would cause issues. If you deleted a custom BBCode, and then later re-added it, none of the original posts made with that BBCode would parse it correctly because it has a different ID. And that would really blow If you had 1000's of posts using that BBCode.
Also, it would also mean if a custom BBCode was deleted, then a new one was immediate added (such that it now has the ID of the deleted one), all posts that contain the deleted BBCode would get parsed for the new BBCode.
I know there must be some reason for it that I'm not thinking of, as the phpbb3 programmers practically geniuses. Can someone break it down for me?