1
msnomer
Why Not PEAR?
  • 2005/2/25 23:28

  • msnomer

  • Just popping in

  • Posts: 1

  • Since: 2005/2/23


Maybe this is something that's been hashed out before, but a search didn't turn up anything. Why aren't PEAR modules being used where appropriate, such as the database area? I assume it's not NIH syndrome, so I'm just curious why.

2
Tremor
Re: Why Not PEAR?
  • 2005/3/11 9:08

  • Tremor

  • Just popping in

  • Posts: 4

  • Since: 2005/3/11


I had a similar thought, though I personally am not very fond of the PEAR libraries. I am, however, EXTREMELY fond of ADODB - not only does it support countless datases, but it has a compiled plugin to speed up database access, it offers caching, DB sessions, automated update/insert generation, AND it has a performance monitor that identifies queries that need optimization and links to EXPLAIN SELECT... for those queries. It also provides all sorts of helpful DB statistics for server optimization. The ADODB PerfMonitor could be easily integrated into an admin page.

And aside from all that, ADODB is EXTREMELY easy to use and implement - I was used to phpLib's DBAL and the phpBB DBAL for a long time, which made getting used to ADODB a little difficult, but once I got the hang of it, I was hooked. I even went so far as to build a XOOPS-compatible wrapper for ADODB so that I could use ADODB & PerfMonitor on my XOOPS site. I highly recomment checking it out for future versions - it's a fantastic open-source PHP DBAL.

ADOdb Database Abstraction Library for PHP

3
Mithrandir
Re: Why Not PEAR?

Quote:
I even went so far as to build a XOOPS-compatible wrapper for ADODB so that I could use ADODB & PerfMonitor on my XOOPS site

Can we see that?

4
aemsonis
Re: Why Not PEAR?
  • 2005/3/11 10:28

  • aemsonis

  • Just popping in

  • Posts: 3

  • Since: 2004/12/2


even perf monitor ? wow !
it would be useful for a big site !

5
Tremor
Re: Why Not PEAR?
  • 2005/3/11 10:53

  • Tremor

  • Just popping in

  • Posts: 4

  • Since: 2005/3/11


Of course, Mith, as soon as I've got it finished. I'm still working the kinks out of it - I just started with XOOPS recently, so I'm still getting the hang of the coding style and all. Once the wrapper is done I will put up a link.

Note that because of limitations in the XOOPS DBAL, not all ADODB functions are directly available, so the wrapper only serves as backward compatibility for the existing XOOPS core & modules. The development I'm doing myself utilizes ADODB directly to make use of all the handy features.

6
Tremor
Re: Why Not PEAR?
  • 2005/3/13 0:00

  • Tremor

  • Just popping in

  • Posts: 4

  • Since: 2005/3/11


The "kink" I'm working on right now really has me stumped... no PHP errors, no MySQL errors, it looks like it's hit an infinite loop somewhere. I've choked out all the ADODB functions with breakpoints and eliminated all ADODB functions as the cause. When I load it up, it chokes up completely, doesn't display a thing; CPU use for Apache runs at 100% and FireFox just sits there, until I close XSAS. I tested it without modifications and it runs fine, which it's what's most confusing.

I put breakpoints in each of the fetch functions, immediately preceeding the return. The one that chokes (or chokes first, at least) is fetchArray. I've ruled out all other functions using breakpoints.

This:

function fetchArray($result)
    {
        
$row $result->GetRowAssoc(2);
        
$result->MoveNext();
        die(
"Works at " __FILE__ ", line " __LINE__);
        return 
$row;
    }


chokes up, eventually giving "Fatal error: Maximum execution time of 90 seconds exceeded in W:\www\xoops2\kernel\object.php on line 188", while this:

function fetchArray($result)
    {
        
$row $result->GetRowAssoc(2);
        
$result->MoveNext();
//        die("Works at " . __FILE__ . ", line " . __LINE__);
        
return $row;
    }


gives the expected "Works at W:\www\xoops2\class\database\mysqldatabase.php, line 139".

Line 188 of kernel/object.php is:

$this->vars[$key]['value'] =& $value;


Which shouldn't lock up under any circumstance. If I drop the old DB class in in place of the new one, it works fine.

Fixing errors is one thing - fixing miscellaneous "it don't work" with no useful error message is quite another. Any thoughts would be greatly appreciated...

I'm running XSAS 1.1 (the latest stable version) with ADODB 4.61 (again, latest stable version.) The ADODB install works for sure - I've used it on the same PC with WAMP with a different project and it works perfectly, and it's pulled from the same zipfile as the one I'm using with XSAS. Neither ADODB install has been modified, and I'm testing this on a clean XOOPS install with no modification other than the DBAL.

Login

Who's Online

431 user(s) are online (332 user(s) are browsing Support Forums)


Members: 0


Guests: 431


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Nov 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits