Well, I don't wish to decide what's a good or bad practice. Probably this is something I have not enough knowledge to do. However, while working on the parser I figured there are some things that we all have been doing that aren't completely correct. Probably because, instead of looking at all the corresponding SQL manuals, we have just copy/pasted similar sentences from somewhere else thinking that someone with enough knowledge wrote them correctly.
IMHO, this is something the SQL parser should fight against, until we all find (and agree) a reasonable and reliable way to ofter cross SQL engine compatibility. The first SQL parser written by Nuttzy apart, no one tried to normalize the use of SQL before, so this is something we'll see here.
I believe the parser should tend to allow only options that it is able to translate to any SQL engine. If it accepts the AFTER clausule, it might lead to confusion to people not using MySQL, so this is something I would then classify as a bad practice. ...unless there's a reason to do it, that's why I asked -=ET=- "why would you do it?".
We may have a problem with existing MODs if they use such options, but SQL support was added recently to EM, and all MODs should install correctly using EM to be approved, so it seems a good oportunity to normalize things. MOD authors should make sure their MODs install on a plain phpBB board using EM, therefore they have the oportunity to see if their SQL statements work or not, or if they add new tables or columns, whether the column or table names are reserved keywords, etc. they also could check their SQL/DDL statements using the online conversion tool
. The current implementation of the SQL parser tries to digest all pieces of the SQL/DDL statements, if something doesn't look ok, it reports warnings or errors, depending on the severity. Ideally, MOD authors should get no warnings. There might be bugs in the parser, and there are still some options to be implemented though.