On Thu, Nov 15, 2001 at 01:49:31AM -0800, Bennett Haselton wrote: > > After converting the data in my project from text files to MySQL > tables, things are certainly working more smoothly than they were > before,
Good to hear. > but since I use objects (in Perl, which barely supports objects, but > that's another story) What does that mean, exactly? I do a lot of OO in Perl. > I have to write a lot of annoyingly repetitive code to create the > object, run a query on the database to get the data that I need, set > the object's member variables equal to the results returned from the > query, and then do all those steps in reverse if the object's member > values have changed later. Well, it *is* Perl. If you find yourself doing something repetitive, the little programmer in your head should wake up and think "how can I write a program to do all this repetitive work so that I can sit on a tropical beach?" :-) > Are there any database systems that integrate so smoothly with an > object-oriented programming language that I would be able to write > code like: > > my $user = user.CreateFromTableRow("bennett"); > $user.sendReminderEmails(); > $user.emailaddress = '[EMAIL PROTECTED]'; > > and the appropriate values would get read and written to the > underlying database table. There's no reason why a language/IDE > designed to integrate databases and objects would require more than > three lines of code for that. I was in a discussion about this a week or so ago with a co-worker. We could decide if it ought to be Ruby, Python, or C++. But we had some interesting ideas that would be fun to try and implement someday. I don't know of one yet, but I've heard good things about Zope's object database (ZODB?) > An ideal database and language integration system could have the following > features: > (a) there is an automatic one-to-one correspondence between fields in a > database table and member variables of the object In Perl, you can used a tied hash to do that already. > (b) any field that is a unique key What's that mean? > (c) modifications of the object member variable values get written through > directly to the database Tied hashes do that, too. > (d) queries can be done in-place, in code, with a function that takes a > reference to another function and returns all elements in the table for > which that function returns true, i.e. this example in pseudocode would > return an array of all objects corresponding to rows in the table > "automobile" where the price is less than 10000: > my @user_array = GetMatches('automobile_table', > function myfunc($automobile) > { > if ($automobile.price < 10000) > { > return true; > } > } > ); That doesn't look to hard to do, either. Have you looked at all the database related modules on the CPAN? Jeremy -- Jeremy D. Zawodny, <[EMAIL PROTECTED]> Technical Yahoo - Yahoo Finance Desk: (408) 349-7878 Fax: (408) 349-5454 Cell: (408) 685-5936 MySQL 3.23.41-max: up 71 days, processed 1,555,776,471 queries (253/sec. avg) --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php