Core DB layer API gives developers a function which is db_query_temporary(), this function explicitely creates a temporary table. When you use MySQL, if the "CREATE TEMPORARY TABLES" is not set for the database user, this function will fail.
IRC people told me that Drupal core does not uses it, that is not a good point. The fact is Drupal is not only a CMS, but also a full and comprehensive framework for modules and sites building, and as such, it must, either make this works out the box, either tell users in the installation documentation that might be a problem.
Some modules will probably use it, if an end user download one of them, and aptempt to install it using the current INSTALL.mysql.txt file, it will fail, and he will never now why (end users, even some developers won't even understand the "Acces denied for user X" in watchdog message).
Attached a simple patch for the txt file. Feel free to use it. This is a real bug, please fix this. If I remember well, Drupal 5 documentation told to set this grant (I might be wrong on this statement).
| Comment | File | Size | Author |
|---|---|---|---|
| #6 | INSTALL.mysql_.txt-d6.x-temp_table.patch | 607 bytes | pounard |
| INSTALL.mysql_.txt.patch | 519 bytes | pounard |
Comments
Comment #1
pounardOh, forgot, see:
http://dev.mysql.com/doc/refman/5.0/en/create-table.html
http://dev.mysql.com/doc/refman/5.0/en/privileges-provided.html#priv_cre...
Comment #2
damien tournoud commentedLooks like a nice documentation improvement to me.
Comment #3
damien tournoud commentedThis patch should apply cleanly, but please see http://drupal.org/patch/create for creating proper patches, next time.
Comment #5
pounardHow that comes this patch fails? WTF?!
However, I will next time.
EDIT: Thanks again for your rapid answer, that's nice to see you're active! :)
Comment #6
pounardComment #8
pounardWhat? Test failure messages are just not related to this patch.
Comment #9
pounardLet's go for 6.x.
Comment #10
damien tournoud commentedStill apply just fine.
Comment #11
gábor hojtsyCommitted this, thanks!