[PHP] Re: [PHP-DB] Re: [PHP] Re: Cross DB application
Hello, Richard Ellerbrock wrote: > >> I have done MySQL (MyISAM, INNODB), PostgreSQL and Oracle 9i with AdoDB > >> - see http://iptrack.sourceforge.net. Works just fine for me. The > >> hardest part was to get around limitations of certain databases - like > >> Oracle does no support record count. This is not impossible to get > >> around, but > > > > If you would have used Metabase you would not have that problem because > > Metabase has a function that you may call any time after you execute a > > select query that returns the number of rows contained in the result > > set. That is a standard feature of Metabase that works with every > > database including Oracle. > > Please take a moment to also discuss the limitations in between the > marketing hype - this "feature" is also not unique to your class. The There is absolutely no commercial interests behind Metabase. So there is no marketing statement and even less hype. Metabase does exactly what is described because I needed it to do that for my own applications, especially in the beginning 3 years ago because I wanted to provide smooth transition between MySQL applications that rely on these features and databases like Oracle for which these features can be emulated. > Oracle driver does not support native record count (as do many other > drivers, I forget which ones), so this needs to be emulated. The only way > is to read in the entire result set and emulate record count. This fails > for large result sets - please tell me how you intend doing this with a > couple of million records? This method is also not optimal as you always Please tell me when in a Web application you need to read a whole result set with million rows? > land up reading the entire result set even if you do not wish to do so - a > record paging application comes to mind. If you want to just to read a range of rows of a whole an arbitrary sized result set, you can use a feature of Metabase that with a single call made before executing any SELECT query it tells to restrict to a specified range of rows. It is like MySQL LIMIT except that it works with all supported databases, including Oracle. You know, Metabase was specifically though to address Web development needs. If you look around in other platforms you see that Metabase provides features that are not provided anywhere else, not even for Java. Think for instance about sequences... > The only logical way is to do a select count(*) from table where ..., but > this is not transaction safe. Other alternatives would be to modify your > code not to depend on record count at all - this is what I did. Yes, that is the recommended way to do it. That is extensively recommended in Metabase manual and tutorial. Still Metabase provides that feature because the large majority of PHP users comes from a low end database background like MySQL. Regards, Manuel Lemos -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: [PHP-DB] Re: [PHP] Re: Cross DB application
On Sun, 21 Apr 2002 00:54:39 +0200, Manuel Lemos wrote: > Hello, > > Richard Ellerbrock wrote: >> > If you want to hear experiences of people that tried Metabase, try >> > asking in Metabase mailing list ( >> > http://groups.yahoo.com/group/metabase-dev/ ) or BinaryCloud mailing >> > lists ( http://binarycloud.tigris.org/servlets/ProjectMailingListList >> > ). I think Alex Black (BinaryCloud project leader) has tried both >> > MySQL and Oracle with Metabase. >> >> I have done MySQL (MyISAM, INNODB), PostgreSQL and Oracle 9i with AdoDB >> - see http://iptrack.sourceforge.net. Works just fine for me. The >> hardest part was to get around limitations of certain databases - like >> Oracle does no support record count. This is not impossible to get >> around, but > > If you would have used Metabase you would not have that problem because > Metabase has a function that you may call any time after you execute a > select query that returns the number of rows contained in the result > set. That is a standard feature of Metabase that works with every > database including Oracle. Please take a moment to also discuss the limitations in between the marketing hype - this "feature" is also not unique to your class. The Oracle driver does not support native record count (as do many other drivers, I forget which ones), so this needs to be emulated. The only way is to read in the entire result set and emulate record count. This fails for large result sets - please tell me how you intend doing this with a couple of million records? This method is also not optimal as you always land up reading the entire result set even if you do not wish to do so - a record paging application comes to mind. The only logical way is to do a select count(*) from table where ..., but this is not transaction safe. Other alternatives would be to modify your code not to depend on record count at all - this is what I did. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: [PHP-DB] Re: [PHP] Re: Cross DB application
Hello, Richard Ellerbrock wrote: > > If you want to hear experiences of people that tried Metabase, try > > asking in Metabase mailing list ( > > http://groups.yahoo.com/group/metabase-dev/ ) or BinaryCloud mailing > > lists ( http://binarycloud.tigris.org/servlets/ProjectMailingListList ). > > I think Alex Black (BinaryCloud project leader) has tried both MySQL and > > Oracle with Metabase. > > I have done MySQL (MyISAM, INNODB), PostgreSQL and Oracle 9i with AdoDB - > see http://iptrack.sourceforge.net. Works just fine for me. The hardest > part was to get around limitations of certain databases - like Oracle > does no support record count. This is not impossible to get around, but If you would have used Metabase you would not have that problem because Metabase has a function that you may call any time after you execute a select query that returns the number of rows contained in the result set. That is a standard feature of Metabase that works with every database including Oracle. Regards, Manuel Lemos -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Re: [PHP-DB] Re: [PHP] Re: Cross DB application
Thanks Richard, just starting out but keeping portability in the back of my mind. I've been keeping the sql statements standard and doing everything through php so I don't get caught when moving to another database. -Original Message- From: Richard Ellerbrock [mailto:[EMAIL PROTECTED]] Sent: April 20, 2002 8:18 AM To: [EMAIL PROTECTED] Subject: [PHP] Re: [PHP-DB] Re: [PHP] Re: Cross DB application On Thu, 18 Apr 2002 16:05:13 +0200, Manuel Lemos wrote: > Hello, > > Sp wrote: >> >> Hi Manuel, I still don't see a problem in others telling their >> experiences with certain packages. If someone has just used metabase >> or has just used adodb then I would like to hear how easy/hard it was >> to port to another database. > > Sure, but what I meant is that since most people only have experienced > one or the other, you only hear from people that can't compare both. > > If you want to hear experiences of people that tried Metabase, try > asking in Metabase mailing list ( > http://groups.yahoo.com/group/metabase-dev/ ) or BinaryCloud mailing > lists ( http://binarycloud.tigris.org/servlets/ProjectMailingListList ). > I think Alex Black (BinaryCloud project leader) has tried both MySQL and > Oracle with Metabase. I have done MySQL (MyISAM, INNODB), PostgreSQL and Oracle 9i with AdoDB - see http://iptrack.sourceforge.net. Works just fine for me. The hardest part was to get around limitations of certain databases - like Oracle does no support record count. This is not impossible to get around, but when you are used to making use of these standard features of other databases, it takes a bit of getting used to. Other issues are syntax issues - you cannot use any funky functions which are unique to your dbf. Also, you must write very standard SQL - no shortcuts. For example, with Oracle you MUST specify the table name throughout your query when doing joins, even if the column is unambiguos. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: [PHP-DB] Re: [PHP] Re: Cross DB application
On Thu, 18 Apr 2002 16:05:13 +0200, Manuel Lemos wrote: > Hello, > > Sp wrote: >> >> Hi Manuel, I still don't see a problem in others telling their >> experiences with certain packages. If someone has just used metabase >> or has just used adodb then I would like to hear how easy/hard it was >> to port to another database. > > Sure, but what I meant is that since most people only have experienced > one or the other, you only hear from people that can't compare both. > > If you want to hear experiences of people that tried Metabase, try > asking in Metabase mailing list ( > http://groups.yahoo.com/group/metabase-dev/ ) or BinaryCloud mailing > lists ( http://binarycloud.tigris.org/servlets/ProjectMailingListList ). > I think Alex Black (BinaryCloud project leader) has tried both MySQL and > Oracle with Metabase. I have done MySQL (MyISAM, INNODB), PostgreSQL and Oracle 9i with AdoDB - see http://iptrack.sourceforge.net. Works just fine for me. The hardest part was to get around limitations of certain databases - like Oracle does no support record count. This is not impossible to get around, but when you are used to making use of these standard features of other databases, it takes a bit of getting used to. Other issues are syntax issues - you cannot use any funky functions which are unique to your dbf. Also, you must write very standard SQL - no shortcuts. For example, with Oracle you MUST specify the table name throughout your query when doing joins, even if the column is unambiguos. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: [PHP-DB] Re: [PHP] Re: Cross DB application
Hello, Sp wrote: > > Hi Manuel, I still don't see a problem in others telling their experiences > with certain packages. If someone has just used metabase or has just used > adodb then I would like to hear how easy/hard it was to port to another > database. Sure, but what I meant is that since most people only have experienced one or the other, you only hear from people that can't compare both. If you want to hear experiences of people that tried Metabase, try asking in Metabase mailing list ( http://groups.yahoo.com/group/metabase-dev/ ) or BinaryCloud mailing lists ( http://binarycloud.tigris.org/servlets/ProjectMailingListList ). I think Alex Black (BinaryCloud project leader) has tried both MySQL and Oracle with Metabase. Regards, Manuel Lemos -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] RE: [PHP-DB] Re: [PHP] Re: Cross DB application
Hi Manuel, I still don't see a problem in others telling their experiences with certain packages. If someone has just used metabase or has just used adodb then I would like to hear how easy/hard it was to port to another database. -Original Message- From: Manuel Lemos [mailto:[EMAIL PROTECTED]] Sent: April 18, 2002 9:37 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED]; Sp Subject: Re: [PHP-DB] Re: [PHP] Re: Cross DB application Hello, Sp wrote: > > Can someone with database expertise who has used metabase and adodb cut > through this rhetoric and give an objective view of these two packages. > From what I got from this convo is that metabase is slower but more portable > but adodb is faster but not as portable. No, Metabase does much more than ADODB. When you do more, eventually things may take a little longer when you do less. This should be obvious. Anyway, if you really care about portability, you're only way out is Metabase. Other abstraction packages were not meant for portability but rather for interface makeup. I think you will be the better judge of that if you try looking at least at each package documentation. It is pointless to ask to people here when most of them only know one or the other package. Regards, Manuel Lemos -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: [PHP-DB] Re: [PHP] Re: Cross DB application
Hello, Sp wrote: > > Can someone with database expertise who has used metabase and adodb cut > through this rhetoric and give an objective view of these two packages. > From what I got from this convo is that metabase is slower but more portable > but adodb is faster but not as portable. No, Metabase does much more than ADODB. When you do more, eventually things may take a little longer when you do less. This should be obvious. Anyway, if you really care about portability, you're only way out is Metabase. If you are in doubt about the features, think at least about what you can do with each package to migrate your data when you decide to switch databases. Metabase is the only package that offer painless and failure proof method of migrating data using the XML schema support. With the other package you need to write custom scripts for migration which is a real pain and prone to error due to eventual bugs of software that you need to write on your own. Other abstraction packages were not meant for true portability but rather for interface makeup. I think you will be the better judge of that if you try looking at least at each package documentation. It is pointless to ask to people here when most of them only know one or the other package. You may also want to take a look at BinaryCloud which is a well designed and mature PHP application development framework. It works with Metabase and will save you countless hours of developing your applications from scratch. BinaryCloud http://binarycloud.tigris.org/ Metabase http://www.phpclasses.org/metabase Regards, Manuel Lemos -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: [PHP-DB] Re: [PHP] Re: Cross DB application
Hello, Sp wrote: > > Can someone with database expertise who has used metabase and adodb cut > through this rhetoric and give an objective view of these two packages. > From what I got from this convo is that metabase is slower but more portable > but adodb is faster but not as portable. No, Metabase does much more than ADODB. When you do more, eventually things may take a little longer when you do less. This should be obvious. Anyway, if you really care about portability, you're only way out is Metabase. Other abstraction packages were not meant for portability but rather for interface makeup. I think you will be the better judge of that if you try looking at least at each package documentation. It is pointless to ask to people here when most of them only know one or the other package. Regards, Manuel Lemos -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] RE: [PHP-DB] Re: [PHP] Re: Cross DB application
There must be people on this list that have ported their web apps from different databases and could share their experiences. mysql <-> postesql mysql <-> ms sql server ms sql server <-> oracle -Original Message- From: John Lim [mailto:[EMAIL PROTECTED]] Sent: April 17, 2002 12:38 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: [PHP-DB] Re: [PHP] Re: Cross DB application Hi Manuel, "Manuel Lemos" <[EMAIL PROTECTED]> wrote > > Most of the popular database abstraction packages support prepared > queries, except for your PHP ADODb. So, think about this before you keep > throwing sand to the eyes of the users that do not know better, may be > you understand the point of catching up on what everybody else is doing > for a long time. If you read the ADOdb source, you would know it is untrue. We support prepared queries, and emulate them if the database does not support it. > The reason for this is that you had the dumb idea to spam all the lists > you could remember with the forged claim that ADODB was faster than > every other database abstraction because your convinient benchmarks > showed that. Tomas Cox rewrote PEAR DB after the benchmarks were published to speed it up. We even worked together to improve bits of PEAR DB. You just moan about how unfair the benchmarks are. > > Since your database abstraction could not beat others on real > abstraction features you used that to drag users to your package to push > them the commercial tool that you sell and requires ADODB to run. > Visit http://php.weblogs.com/adodb-cool-applications for a long list of applications using adodb with multiple databases. None of the apps except the first link use our commercial product, phpLens. I think that pretty much refutes your statement. > That was the lowest Microsoft-like marketing trick - trap them into your > Windows clone database abstraction "OS" to sell them your tool for which > you have no competitor because nobody else is doing anything like that > for your own abstraction later. > I interviewed to work at microsoft in 1989, but as a techie, i would have made microsoft bankrupt if they had let me run their marketing for them :-) > Of course you may claim ADODB is faster than any other abstraction > package, but that's because it does not abstract data type conversion to > make user applications portable. > Actually it does, but only for dates, because I find that most other types can be easily handled because PHP is a very good language. Char and varchar and numbers map easily to string and float/integer, and so forth. I have told you this before. > It is the same as stating that driving a motocycle naked and without > helmet you will drive faster than clothed with the helmet on. It is not > the same thing, but unfortunately for the victim users that have fallen > for your argument they did not notice that your abstraction can only be > faster by doing less, meaning providing less portability support. > Of course. Unneeded portability that is not used by most users is of no interest to me. You disagree. That is fine. The code is there for people to read. Let them judge for themselves. > John, as a marketeer you still have a lot to learn before you realize > that you can't fool everybody! > > Next you will release ADODB XP the one that makes hidden connections to > your site to track what the users are doing! hehehe :-) > > Don't worry, nobody will sue you for the abusing the monopoly of > applications for your PHP ADO DB! :-) > > Manuel Lemos Manuel, you might not believe me, but what you are saying will make people shy away from working with you in the future. Treating people with respect is more productive. I don't really want to spend my time defending myself when I can be doing something else. So I leave this thread to you and to you alone. The floor is yours. Keep it clean. John -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php