Many discount web hosts (like Dreamhost) support InnoDB but don't configure it as a default. What do people think about using InnoDB as the default, or at least an option during installation? The only way I know to install Drupal with InnoDB is by modifying my.cnf, which requires root access.
On 6/3/07, David Strauss <david@fourkitchens.com> wrote:
Many discount web hosts (like Dreamhost) support InnoDB but don't configure it as a default.
Most shared hosts support it recently. What do people think about using InnoDB as the default, Big -1 from me. We used to have Engine=MyISAM everywhere in the CREATE statements. We went thru an exercise to purge them all so that we are engine agnostic. Defaulting back to a specific engine is a step back. or at least an option during installation? That I can live with. The only way I know to install Drupal with InnoDB is by modifying
my.cnf, which requires root access.
An option at install time, such as a drop down list of engines that are supported on the server, and selecting one is more appropriate. It will require preg stuff to change the engine. Or using the new schema, we can add that more elegantly (not sure how hard would it be, but can't be that hard). -- 2bits.com http://2bits.com Drupal development, customization and consulting.
Khalid Baheyeldin wrote:
What do people think about using InnoDB as the default,
Big -1 from me.
We used to have Engine=MyISAM everywhere in the CREATE statements. We went thru an exercise to purge them all so that we are engine agnostic.
Yeah, but we didn't have a schema API then. Now, becaue we generate the CREATE statements, we can do whatever we want. :-)
An option at install time, such as a drop down list of engines that are supported on the server, and selecting one is more appropriate. It will require preg stuff to change the engine. Or using the new schema, we can add that more elegantly (not sure how hard would it be, but can't be that hard).
It would be quite elegant because we generate all the CREATE statements from scratch with schema API. No preg_replace required.
Hi, I like the idea, but I do not like forcing it onto everyone. What would be good is during the install process we can select which type of table we want to use if it is mysql. Maybe even have a page with a config of the default value to use. I don't think this will be too hard esp since we have the schema api now. Gordon. Khalid Baheyeldin wrote:
On 6/3/07, *David Strauss* <david@fourkitchens.com <mailto:david@fourkitchens.com>> wrote:
Many discount web hosts (like Dreamhost) support InnoDB but don't configure it as a default.
Most shared hosts support it recently.
What do people think about using InnoDB as the default,
Big -1 from me.
We used to have Engine=MyISAM everywhere in the CREATE statements. We went thru an exercise to purge them all so that we are engine agnostic.
Defaulting back to a specific engine is a step back.
or at least an option during installation?
That I can live with.
The only way I know to install Drupal with InnoDB is by modifying my.cnf, which requires root access.
An option at install time, such as a drop down list of engines that are supported on the server, and selecting one is more appropriate. It will require preg stuff to change the engine. Or using the new schema, we can add that more elegantly (not sure how hard would it be, but can't be that hard). -- 2bits.com <http://2bits.com> http://2bits.com Drupal development, customization and consulting. !DSPAM:1000,466388ec73754881810528!
On 04 Jun 2007, at 05:11, Khalid Baheyeldin wrote:
An option at install time, such as a drop down list of engines that are supported on the server, and selecting one is more appropriate. It will require preg stuff to change the engine. Or using the new schema, we can add that more elegantly (not sure how hard would it be, but can't be that hard).
I agree with this. Make it an option in the 'advanced settings' fieldset on step 3 of the installer (setup database). -- Dries Buytaert :: http://www.buytaert.net/
On 6/4/07 5:36 AM, Dries Buytaert wrote:
On 04 Jun 2007, at 05:11, Khalid Baheyeldin wrote:
An option at install time, such as a drop down list of engines that are supported on the server, and selecting one is more appropriate. It will require preg stuff to change the engine. Or using the new schema, we can add that more elegantly (not sure how hard would it be, but can't be that hard).
I agree with this. Make it an option in the 'advanced settings' fieldset on step 3 of the installer (setup database).
+1 - Yeah, drop down should only include available engines, and it should be fairly simple to add thanks to schema. -- James Walker :: http://walkah.net/ :: xmpp:walkah@walkah.net
The other place that could benefit from checking which engines are available is the temporary table query in db_query_temporary() It now has: $query = preg_replace('/^SELECT/i', 'CREATE TEMPORARY TABLE '. $tablename .' Engine=HEAP SELECT', Would be great to check if HEAP (Memory) exists first before doing so. So common code for engine checking can be reused. On 6/5/07, James Walker <walkah@walkah.net> wrote:
On 6/4/07 5:36 AM, Dries Buytaert wrote:
On 04 Jun 2007, at 05:11, Khalid Baheyeldin wrote:
An option at install time, such as a drop down list of engines that are supported on the server, and selecting one is more appropriate. It will require preg stuff to change the engine. Or using the new schema, we can add that more elegantly (not sure how hard would it be, but can't be that hard).
I agree with this. Make it an option in the 'advanced settings' fieldset on step 3 of the installer (setup database).
+1 - Yeah, drop down should only include available engines, and it should be fairly simple to add thanks to schema.
-- James Walker :: http://walkah.net/ :: xmpp:walkah@walkah.net
-- 2bits.com http://2bits.com Drupal development, customization and consulting.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Khalid Baheyeldin schrieb:
The other place that could benefit from checking which engines are available is the temporary table query in db_query_temporary()
It now has:
$query = preg_replace('/^SELECT/i', 'CREATE TEMPORARY TABLE '. $tablename .' Engine=HEAP SELECT',
Would be great to check if HEAP (Memory) exists first before doing so.
According to the docs this is not neccessary as it will fall back to MyISAM if HEAP (aka MEMORY) does not exist. Offering _all_ MySQL db drivers for selection on install time is probably not a good idea. Chosing HEAP will probably make your install a very short lived one... Cheers, Gerhard -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFGZXoQfg6TFvELooQRAgNzAJ9GOn9ZEQgpKiLT24WOWFLFZXCbVgCgy5bX JNSZAfv8yfOpQKol4RezFfU= =Hvh4 -----END PGP SIGNATURE-----
participants (6)
-
David Strauss -
Dries Buytaert -
Gerhard Killesreiter -
Gordon Heydon -
James Walker -
Khalid Baheyeldin