Oracle porting & db_num_rows patches
Hi all. I'm doing a drupal 5.1 Oracle db experimental port. I have a first core installation more or less working. Next target will be cck and views. One problem was the need to remove the db_num_rows calls (unavailable in Oracle). I've seen here and there an inappropriate use of this function ("select *" and db_num_rows in place of "select count(*)"), and I think my patches can be useful also for performance under other databases. I'll be glad to submit my patches. In case, tell me the best way to do so, I'm new to the drupal project. Best regards, Gabriele Turchi P.S.: I'm sorry, my english il alpha version...
Hi Gabrieli, On 07 Apr 2007, at 10:40, Gabriele Turchi wrote:
Hi all. I'm doing a drupal 5.1 Oracle db experimental port. I have a first core installation more or less working.
Next target will be cck and views.
One problem was the need to remove the db_num_rows calls (unavailable in Oracle). I've seen here and there an inappropriate use of this function ("select *" and db_num_rows in place of "select count(*)"), and I think my patches can be useful also for performance under other databases.
Cool! :) Note that we can't commit your patch to the Drupal 5 branch -- only bugfixes are committed to that branch. You'll want to provide patches for CVS HEAD so that the new functionality can become part of Drupal 6. You'll want to check with Larry Garfield -- he's working on PDO support for Drupal 6, and is also looking into removing db_num_rows (). See this week's thread about "PDO and database limitations" for more information. Hope that helps and looking forward to your contributions, -- Dries Buytaert :: http://www.buytaert.net/
You may be intersted in checking previous work done a while ago. http://drupal.org/node/87073 http://drupal.org/node/39260 http://www.oracle.com/technology/pub/articles/pedros-drupal.html Good to see new hands on it ;) ----- Original Message ----- From: "Dries Buytaert" <dries.buytaert@gmail.com> To: <development@drupal.org> Sent: Saturday, April 07, 2007 4:26 PM Subject: Re: [development] Oracle porting & db_num_rows patches
Hi Gabrieli,
On 07 Apr 2007, at 10:40, Gabriele Turchi wrote:
Hi all. I'm doing a drupal 5.1 Oracle db experimental port. I have a first core installation more or less working.
Cool! :)
On Sat, 7 Apr 2007 23:26:55 +0200, Dries Buytaert <dries.buytaert@gmail.com> wrote:
Hi Gabrieli,
On 07 Apr 2007, at 10:40, Gabriele Turchi wrote:
Hi all. I'm doing a drupal 5.1 Oracle db experimental port. I have a first core installation more or less working.
Next target will be cck and views.
One problem was the need to remove the db_num_rows calls (unavailable in Oracle). I've seen here and there an inappropriate use of this function ("select *" and db_num_rows in place of "select count(*)"), and I think my patches can be useful also for performance under other databases.
Cool! :)
Note that we can't commit your patch to the Drupal 5 branch -- only bugfixes are committed to that branch. You'll want to provide patches for CVS HEAD so that the new functionality can become part of Drupal 6.
You'll want to check with Larry Garfield -- he's working on PDO support for Drupal 6, and is also looking into removing db_num_rows (). See this week's thread about "PDO and database limitations" for more information.
@Gabrieli: Greetings! Hopefully what I'm working on will make Oracle support easier, too. @Dries: Since it looks like db_num_rows() is going to be an issue for more than just PDO, would you be open to separate patches that just do "SQL cleanup" to eliminate db_num_rows(), clean up tablename-in-prepared-statement problems, etc, either as lots of little patches (my preference, easier to test/debug) or a big cleanup patch? I believe that will be the largest remaining part of PDO anyway, but valuable to native-Oracle efforts etc. as well. --Larry Garfield
Il giorno lun, 09/04/2007 alle 12.31 -0500, Larry Garfield ha scritto:
On Sat, 7 Apr 2007 23:26:55 +0200, Dries Buytaert <dries.buytaert@gmail.com> wrote:
Hi Gabrieli,
On 07 Apr 2007, at 10:40, Gabriele Turchi wrote:
Hi all. I'm doing a drupal 5.1 Oracle db experimental port. I have a first core installation more or less working.
Next target will be cck and views.
One problem was the need to remove the db_num_rows calls (unavailable in Oracle). I've seen here and there an inappropriate use of this function ("select *" and db_num_rows in place of "select count(*)"), and I think my patches can be useful also for performance under other databases.
Cool! :)
Note that we can't commit your patch to the Drupal 5 branch -- only bugfixes are committed to that branch. You'll want to provide patches for CVS HEAD so that the new functionality can become part of Drupal 6.
You'll want to check with Larry Garfield -- he's working on PDO support for Drupal 6, and is also looking into removing db_num_rows (). See this week's thread about "PDO and database limitations" for more information.
@Gabrieli: Greetings! Hopefully what I'm working on will make Oracle support easier, too.
I think that too.
@Dries: Since it looks like db_num_rows() is going to be an issue for more than just PDO, would you be open to separate patches that just do "SQL cleanup" to eliminate db_num_rows(), clean up tablename-in-prepared-statement problems, etc, either as lots of little patches (my preference, easier to test/debug) or a big cleanup patch? I believe that will be the largest remaining part of PDO anyway, but valuable to native-Oracle efforts etc. as well.
To be honest, the big part of my patches about db_num_rows are one-liner... (change the select using "count(*)" where only the record number is needed and turning upside-down a while loop when fetching data). Maybe, creating some sort of "semi-official" patches should be useful to do something like a "beta-test" during the "5." release. About changes, may I also add a "we don't really need a kilometer-long table and index names"? Oracle doesn't like that...
--Larry Garfield
Best regards, Gabriele P.S.: I'm sorry, my english is alpha version...
participants (4)
-
Dries Buytaert -
Gabriele Turchi -
Larry Garfield -
Nicolas Tostin