Re: Adoption of Metabase (was Re: [PEAR-DEV]Re:ComparingADODB with PEAR DB, Metabase andNative MySQL)

From: Date: Tue, 27 Nov 2001 23:09:23 +0000
Subject: Re: Adoption of Metabase (was Re: [PEAR-DEV]Re:ComparingADODB with PEAR DB, Metabase andNative MySQL)
References: 1 2 3 4 5 6 7 8 9  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-3136@lists.php.net to get a copy of this message
Hello, Yavor Shahpasov wrote: > > On Tue, 2001-11-20 at 08:41, Manuel Lemos wrote: > > Hello, > > > > doesn't scale (try inserting 2GB data in MySQL). As for Oracle you have > > to insert and empty LOB to make it work. PEAR-DB does not do it. It just > > uses bind variables which is good for upto 4Kb VARCHAR fields. Those are > > not large object fields. > > > > OK you got me there :) > This can be easily implemented though, but the need has not arisen, > in fact AFAIK the only one who has ever asked for such a feature in this list was me :) I don't think that is that easy. If you want to send large amounts of data to the database to store in a BLOB, you need to send it in chunks of limited size or else you will blow the memory space that your process will take. As you may know this is the number one reason why Web servers crash the operating systems: memory exhaustion. Unlike Metabase, PEAR-DB does not provide an interface to stream data from and to the databases. > > I have just talked about this meta-language in Frankfurt's PHP > > Conference just a couple of weeks ago. The database procedure > > meta-language will not be ready soon, but you may find more the whole > > meta-language thing here: http://www.meta-language.net/ . > > > > I'll check it out, bit I think trying to develop a common stored procedure > language is like trying to develop a unified programming language (read people will > alway use their thing.) Actually, that is what is MetaL, abstracting languages. Now, whether people use it or not, that is a different subject. > > What is so complicated about it? Maybe it just does more than you need? > > Just don't use what you don't need. > > > > You've misunderstood me if you can show me a way to do this in metabase > in two lines of code, I'll reconsider > <?php > $db = DB::connect("somedsn"); Yes, DSN is in the todo list. > $data = $db->getAll("some query"); Getting all data selected from a query into an array is a feature being added by Lukas Smith. He had his own abstraction layer. After looking around in all PHP abstraction layers he realized that Metabase is the most complete abstraction layer that there is for PHP, so instead of going with his own, he decided to join Metabase development and add what his layer has that he missed in Metabase. As I said before, cooperating is better than competing. > > Standards will only be standards when everbody agrees with them. They > > way PEAR standards were pushed a lot of people will simply disagree and > > will not adhere. Leaving out people this way the community will not > > grow. > > > > I agree but you should add to that that once standards have been agreed on and used for a > couple of years, you don't just change them because new people come up with arguments > i don't like them or sturdy caps make my eyes weep. That's not the true story. As Jon Parise explained, PEAR standards are just an adoption of Horde standards. I don't recall everybody ever agreeing top them. Just to mention a detail, the discussion of tabs vs. spaces is one of silly aspects of the standard. Each developer has his onw conventions. That is why PHP takes tabs and spaces equally as valid whitespace characters. You will never get people to agree on it is the right convention because any one is valid. Rejecting contribution because of silly conventions like this is a major waste of opportunity. When somebody offers to contribute with his code, the PEAR community should say: "Thank you for your contribution", and not "go away, your code is not compliant with some conventions that we decided unilateraly". If there should be any conventions, those should be the ones that the contributing developer uses. That way, you would have some rules without hurting the feelings of the developers that are only try to improved the PEAR component base. > > My most important point is end with just one database abstraction > > package to let PHP developers write database independent applications, > > just like other people do with other languages. It is silly that PHP is > > different. > > > > And you want that to be metabase, but just as you will not be willing to drop > metabase for some other db abstaraction, the same goes for PEAR::db developer or > ADBDB or any other project. Obviously you neither know Metabase features nor read my proposal message. I did not tell anybody to drop PEAR-DB, I just proposed to wrap PEAR-DB around Metabase, so your PEAR-DB based code will still work and you could already benefit from Metabase features now, and not in an uncertain future that you don't know if and when PEAR-DB will ever catch up on Metabase features. > > One thing is certain, I don't want to go where I am not wanted. If there > > is no interest in integrating Metabase in PEAR, fine. If not, I don't > > have a problem with that. From the silence of PEAR core developers, I am > > afraid there isn't much hope from their side to cooperate. At least I > > made an honest attempt to cooperate. > > > > Being unwanted is not the issue here the point is that the only proposition you made > was someone else to port metabase to C for you in the spirit of true cooperation > I find that a bit hypocritic, of course I cannot answer that because the question > was not addressed to me. Honestly, I find that porting PEAR-DB to C will not realistically happen in any time soon. Porting Metabase to C will take even more time, but at least you can benefit of its advantages right now by wrapping around Metabase PHP implementation. See the point? > > > these better features into PEAR. But I'm sure that this is not what you have in > > > mind > > > because you think that met abase is much better, and you might be right, but when you > > > come > > > in a spirit of cooperation you must offer something and not expect to get something > > > in return. > > > So don't get me wrong but what exactly are you offering. > > > > Maybe you need to know better Metabase to realize what I am giving away. > > It's about 3 years of development on something that there is nothing > > like that neither for PHP nor for any other language, a database > > abstraction that not only provides independence to database access but > > also to database schema installation and maintence. The details you may > > find about in the manual and the tutorials available from the PHP > > Classes site. > > > > Maybe I was not clear, here. What do you offer than what is already > there. I do not mean to belitle your work I sure metabase is a good > thing but still the question remains. You need to look further on it is the result of cooperation. PHP community has a lot to gain on having only one solid and well documented database abstraction layer. Regards, Manuel Lemos

« previous php.pear.dev (#3136) next »