Thread: [PHPOpenChat-Users] "database independant" is a crock
Brought to you by:
letreo
From: Justin C. <ju...@po...> - 2005-03-16 10:02:49
|
Hi, After seeing the PHP Open Chat website say that it's "database independant", I decided to test it. For the past several hours I've been attempting to make it work with PostgreSQL (any version), and have running into many, many, many, many obstacles. This product is _so_ MySQL dependant I'm amazed. Please _remove_ the claim of "database independance" from the website, as you're wasting people's time. If you wanted people to assist in _making it database independant_ that should have been said, not outright lies. Very pissed off. Justin Clift PostgreSQL Global Development Group |
From: Michael O. <mi...@or...> - 2005-03-16 10:12:51
Attachments:
smime.p7s
|
Justin Clift wrote: > Hi, > > After seeing the PHP Open Chat website say that it's "database > independant", I decided to test it. > > For the past several hours I've been attempting to make it work with > PostgreSQL (any version), and have running into many, many, many, many > obstacles. > > This product is _so_ MySQL dependant I'm amazed. > > Please _remove_ the claim of "database independance" from the website, > as you're wasting people's time. > > If you wanted people to assist in _making it database independant_ that > should have been said, not outright lies. > > Very pissed off. Ooops, sorry, I know about an installation using oracle, the worst case so to say, but it's working fine. So, I'll add (but developed using MySQL, be warned :) If there any help you can offer, our ears are open. Sorry, -michael -- Michael Oertel ICQ: 8057112 Maintainer of the PHPOpenChat-Project http://phpopenchat.org/ Co-Founder of SchulWeb http://www.schulweb.de/ MD5 Fingerprint: F6:6B:D3:E5:98:B8:97:20:30:12:DD:F2:9B:9F:8D:1B |
From: Justin C. <ju...@po...> - 2005-03-16 10:37:15
|
Michael Oertel wrote: > Justin Clift wrote: <snip> >> If you wanted people to assist in _making it database independant_ >> that should have been said, not outright lies. >> >> Very pissed off. > > Ooops, sorry, I know about an installation using oracle, the worst case > so to say, but it's working fine. So, I'll add (but developed using > MySQL, be warned :) > > If there any help you can offer, our ears are open. Sure. I _strongly_ suggest amending the website to mention "known good" databases that work out of the box, and also mention what it will take to get others working. For example, would you call this good "database independant" code? *********** 'SELECT c.NAME AS NAME, c.INVITED AS INVITED, c.TYPE AS TYPE, COUNT(c.NAME) AS COUNT FROM '.DATABASE_TABLE_PREFIX.'user_data d, '.DATABASE_TABLE_PREFIX.'channels c WHERE ONLINE = \'1\' AND LAST_CHANNEL = c.NAME GROUP BY c.NAME ORDER BY ORDER_IDX' *********** Here's why I'm pissed off. I get paid hourly in one of my SysAdmin jobs. I'm good at PostgreSQL, so I charge accordingly. Because PHP Open Chat said it was database independant using ADOdb (which I've used a fair amount), I thought it worth trying with PostgreSQL. Ha! So, several hours later, it's damn clear that PHP Open Chat needs a lot of work to _become_ database independant. No thanks for just costing me about 1/2 grand in un-billable wasted time. You expect I want to help you guys now? After blatently lying about capabilities? Like hell. + Justin Clift > Sorry, > -michael |
From: Michael O. <mi...@or...> - 2005-03-16 11:58:39
Attachments:
smime.p7s
|
Justin Clift wrote: > Michael Oertel wrote: > > Justin Clift wrote: > <snip> > >> If you wanted people to assist in _making it database independant_ > >> that should have been said, not outright lies. > >> > >> Very pissed off. > > > > Ooops, sorry, I know about an installation using oracle, the worst case > > so to say, but it's working fine. So, I'll add (but developed using > > MySQL, be warned :) > > > > If there any help you can offer, our ears are open. > > Sure. I _strongly_ suggest amending the website to mention "known good" > databases that work out of the box, and also mention what it will take > to get others working. > > For example, would you call this good "database independant" code? > > *********** > > 'SELECT c.NAME AS NAME, > c.INVITED AS INVITED, > c.TYPE AS TYPE, > COUNT(c.NAME) AS COUNT > FROM '.DATABASE_TABLE_PREFIX.'user_data d, > '.DATABASE_TABLE_PREFIX.'channels c > WHERE ONLINE = \'1\' > AND LAST_CHANNEL = c.NAME > GROUP BY c.NAME > ORDER BY ORDER_IDX' > > *********** *hmm* not really. I know, MySQL is far away from ANSI SQL 92 standards, and unfortunetally MySQL doesn't support some JOIN syntax. Any way, a better SQL should be using a NATURAL JOIN. 'SELECT c.NAME AS NAME, c.INVITED AS INVITED, c.TYPE AS TYPE, COUNT(c.NAME) AS COUNT FROM '.DATABASE_TABLE_PREFIX.'user_data d JOIN '.DATABASE_TABLE_PREFIX.'channels c ON(d.LAST_CHANNEL=c.NAME) WHERE ONLINE = \'1\' GROUP BY c.NAME ORDER BY ORDER_IDX' to speed-up da thingy, play around with: - explain, - create unique index idx_usr_last_channel on user_data using btree(LAST_CHANNEL); dont forget to 'analyse' it.... <snip> > So, several hours later, it's damn clear that PHP Open Chat needs a lot > of work to _become_ database independant. No thanks for just costing me > about 1/2 grand in un-billable wasted time. Just for you to know, all the time programming OSS is un-billable. So don't be soooo sad, Justin, keep in mind nobody makes mistakes willfully and you are not alone. > You expect I want to help you guys now? After blatently lying about > capabilities? Geez! By the way 'blatantly', you see... ;) > Like hell. I see, I see. cheers and greetings from germany, -michael -- Michael Oertel ICQ: 8057112 Maintainer of the PHPOpenChat-Project http://phpopenchat.org/ Co-Founder of SchulWeb http://www.schulweb.de/ MD5 Fingerprint: F6:6B:D3:E5:98:B8:97:20:30:12:DD:F2:9B:9F:8D:1B |
From: Justin C. <ju...@po...> - 2005-03-16 14:04:24
|
Michael Oertel wrote: <snip> > *hmm* not really. I know, MySQL is far away from ANSI SQL 92 standards, > and unfortunetally MySQL doesn't support some JOIN syntax. Any way, a > better SQL should be using a NATURAL JOIN. It was just one _very easy to find_ example of why PHP Open Chat is *not* database independent, not even close. Embedding database specific code into ADOdb does not magically mean that code has become database independent. Another *brilliant* example of just what kind of "database independent" support that PHP Open Chat has, is in the choice of column names themselves. Does anyone on the PHP Open Chat team even know that "USER" is a reserved word in the various SQL standards and *has been that way* since at least 1992? For *more than a decade*! And yet, here it is, used in PHP Open Chat for column names! Why the hell are you guys claiming database independence when the _fundamental foundations_ of your database structure are wrong? Perhaps that needs to be re-worded for your developers. How's this... *don't use SQL standard reserved words for your object names nor their attributes*. They'd have to be *brain damaged* to do so. It doesn't matter if MySQL allows people to break that or not, a "database independent" project can't. Until this stuff is fixed, you're _not_ database independent. <snip> > Just for you to know, all the time programming OSS is un-billable. That's your choice. Don't assume _any_ of the people using your product work on the same model. Possibly like you, I've spent countless tens of thousands of hours working on OSS products making them better. Coming across an OSS project that _says_ it does XYZ thing in many places, then clearly does not, is just bullshit coming from the people running that project and will just generate bad will for you. > So don't be soooo sad, Justin, keep in mind nobody makes mistakes > willfully and you are not alone. Sad? I'm angry, not sad. Imagine some project claiming to support "Java, Python, PHP" but only supporting Javascript as they say it? Don't you reckon they'd be wasting the time of the people who go and try to make it work with Java, Python or PHP? If you want to avoid pissing off further people who may otherwise have assisted your project, you might also like to fix this statement in the PHP Open Chat manual where it says: "In the database access layer there is no requirement for a particular database. Instead you may use any database system supported by ADOdb." http://phpopenchat.org/manual_en.html Which is, yet again, complete crap. I hope you don't wonder why I'm calling your project dishonest. >> You expect I want to help you guys now? After blatently lying about >> capabilities? > > Geez! > By the way 'blatantly', you see... Yes. 'Blatantly'. As in "on purpose". No project could repeatedly claim something like this and be so wrong "by accident". Whoever made the decision to propagate this falsehood should be removed from the projects decision making process, as they they lack integrity. You might also like to get someone to fix the various remote security vulnerabilities in PHP Open Chat that were announced today. I've CC'd their reporter on this email, so he knows he's not being ignored by you guys (just in case). http://www.albanianhaxorz.org/advisory/phpopenchaten.txt Mafia_Boy, I hope you also posted the details of these to Bugtraq so they're widely circulated. These vulnerabilities work in well with my thoughts to sum up just how much faith should be put in PHP Open Chat as it stands. Very little. Danger. Do not use. Justin Clift PostgreSQL Global Development Group |
From: Harry S. <mi...@ha...> - 2005-03-25 07:21:34
|
Justin Clift wrote: > Here's why I'm pissed off. I get paid hourly in one of my SysAdmin > jobs. I'm good at PostgreSQL, so I charge accordingly. And Michael is working on this without getting paid at all. :-) So if he made mistakes, be considerate, will you ? No one's perfect. I suspect that Michael assumed that by using ADODB, automatically the queries will work with all the databases. Which now we have found out to be false. And I think Michael referred to me when he mentioned about phpOpenChat working with Oracle. Let me tell you something - it didn't work straight away, as I expected. But I didn't fret, instead I investigated the work required to get it to run, with help from my friend who is an Oracle DBA. Surprisingly, it's very little work. POC now runs on Solaris, using Oracle DB, with no problem. Kind words can help to motivate people to mend their mistake(s) - not rude ones. Regards, Harry |