MySQL 5.0.3-beta Released
Zontar The Mindless writes "MySQL Community Edition 5.0.3-beta has been released. This version has support for Stored Procedures, Triggers, Views and many other features, including a number of security enhancements and stability fixes. See the changelog for a complete listing of new features and bugfixes. MySQL 5.0.3-beta is now available in source and binary form for Linux, Solaris, MacOS X, FreeBSD, Windows, and other platforms from dev.mysql.com/downloads/ and mirror sites. RPMs for Red Hat/Fedora and SUSE Linux are also now available for the first time in the 5.0 series. This is the first Beta release in the 5.0 series, in preparation for a MySQL 5.0 production release later this year."
But MySQL is not a Real(R) Database(tm), everybody knows that! It doesn't support stored procedures, triggers, views and many other features that only Real Databases have! *Nobody* who knows anything about anything ever uses MySQL after they're out of kindergarten. Now let's go find a website that runs off MySQL so we can laugh and point fingers at the webmaster. Sheesh!
"Only the small secrets need to be protected. The big ones are kept secret by public incredulity." - Marshall McLuhan
...is a bunch of wimps with no horsepower-ower-ower-ower! Gentleman, start your flames.
"Play is the only way the highest intelligence of humankind can unfold." -- Joseph Chilton Pearce
You're almost there. Once your toy database (tm) actually implements those data-integrity things like NOT NULL and DATE correctly, then we can start discussing how it can be used in a real data-critical production environment.
Yeah, right.
ok, its really a java question, not basic. whatever
is MYSQL sufficiently standard in its server interfaces to support the JDBC pieces in my servlets? I have never used anything but Oracle [they owned my employer...its a habit of theirs] nor ever met a programmer who was allowed to talk about it.
SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.
I think the real question here is, are all of these features supported under one table type?
MySQL has Fulltext search and relational contraints, but not both at the same time becuase of the different table types.
Unless the MySQL team can get all these features together in MyISAM, don't expect a big uptake.
Don't forget that if you want to distribute it within your organisation, deploy it with your own non GPL application, or even require people to download it to use your non GPL application, you will need to get a commercial license!
The tap is on full, but the water dribbles out
Let me clarify the licensing.
First, if your application is under the GPL or another OSI compliant open source licence, you will not need a commercial licence for MySQL. MySQL AB has issued a "FLOSS Exception" which uniquely makes the GPL licence as used for MySQL compatible with OSI approved open source licences. See our website for more information.
Secondly, if you use GPL software in-house, i.e. you do not distribute, then the reciprocity requirement of the GPL does not kick in so you are free to use MySQL under GPL. (Some call the reciprocity requirement the "viral effect". I call it the reciprocity requirement, or simply the "blessing".)
The two scenarios above cover the vast majority of all cases.
If you distribute a commercially licensed application, then by the same logic that your application is commercially licensed, we think the database should be. This is the Quid pro Quo principle of MySQL AB and of a host of other open source companies.
I hope this info is useful!
Marten Mickos, CEO, MySQL AB
(Intentionally mangled output due to the $%#& lameness filter.)
I'm not disuputing you, and I can't stand lots of mysql's screwy behaviours (I'm a rather big Postgres booster, actually). I'm just wondering how to reproduce it.
-abulafia, currently supporting Postgresql, Oracle, MS SQL Server, Sybase and Mysql.
I forget what 8 was for.
I read somewhere that MySQL was thinking of having updateable views in a future version of MySQL. Is this in MySQL 5? Have they even been able to do it? Just curious.
I'm one of those people that are constantly annoyed by the fact that even the most basic concepts from the relational model (for instance, relvars hold *sets* where all tuples unique) are missing in today's SQL products. I'd love updateable views because that would solve a whole bunch of problems (including entity subtype relationships). Views to me are like functions or subroutines, they allow you to encapsulate.
So, any chance of updateable views?? Yeah, it would be pretty damn tough without the assumptions of the relational model, but they could do it for any table that did meet those assumptions, at least.
Or should I just stick with PostgreSQL's "do it yourself" updateable views?
Has anybody done a feature comparison or benchmarks for that matter?
Benjamin Arai http://www.benjaminarai.com
I still think one of the biggest problems with MySQL is the method it uses for storing tables on the disk. Storing tables is a single file becomes very limiting in terms of disk I/O. They still need to focus on scalability and enterprise performance for large systems.
Benjamin Arai http://www.benjaminarai.com
This version has support for Stored Procedures, Triggers, Views and many other features
<asbestos suit>
Those PostgreSQL must be quaking in their boots not that MySQL has reached feature parity with PostgreSQL 6.0. Now that they're only six or seven years behind PGSQL developers will have to keep an eye on them
</asbestos suit>
Anyways I think competition is a good thing, and it's good to see the market leader in the open source database realm become somewhat more industrial strength. I've been puzzled by how more robust, featureful alternatives like PostgreSQL and Firebird are overlooked in favour of MySQL, so at least if it continues to happen MySQL is starting to fit the bill better.
I know it sounds like a slight against MySQL, which really is the best choice in many situations since it is fast, has a smal footprint and is easy to set up, use and maintain. However, MySQL's suitability in web applications has made it so popular that it seems to have pushed alternatives to the sidelines even when they are the better choice. For example, I think I'd much rather set up an accounting system with a PGSQL backend over MySQL.
In any case, I encourage people to look at ALL the alternatives. PGSQL 8.0 is out and is very impressive. Also, devlopment of Firebird 2.0 is underway so expect rapid improvements as this major release gets closer to completion.
Coming off a project with a MS SQL Server 2000 backend I'd have to say the more alternatives the merrier. MSSQL2K is pretty stale and after workig with PGSQL for so long it makes MS SQL look completely brain dead in almost every way--particularly in the areas of concurrency and locking. It'll be interesting to see how Yukon stacks up, but at least MySQL and the others will provide some serious competition.
Yeah, pgsql v6 was really ready for primetime. Uh-huh. Great.
Bringing up pgsql v6 is a really bad idea. Conjures up way too many vile images.
"Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
And, no, I don't consider shit like this to be documentation.
"Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
Sorry, Rod. I misinterpreted your comment. (For the record, you could have been more clear - generally, accusing actor X or making specific mistake Y leads a reader to assume that actor X actually made given mistake; either using a valid specific example, or generalizing the complaint would make the operative point more obvious. But this is now rhetoric, not new database topics.) In fact, I was looking forward to the cool new stupid thing Mysql did with multiplication, and am sad I don't actually get a new trick to freak out the newbies with. But lord knows performing set operations in the face of datatype coercion are still hard enough for the poor beast; I should probably just be happy with the fact that 0 = 1 in Mysqlland, and go about my business.
I forget what 8 was for.
Do note that MySQL 5.0 also has triggers so it can combine the best of both worlds.
People often blame MySQL for not following the standard.
Now when particular feature is implemented exactly as the standard requires it is said to be for "basic testing" only and can't compare with the "much more powerfull" PostgreSQL workaround.
The standard do require Updatable Views right?
If it was MySQL who implemented them as non-updatable this would be immediately called MySQL Gotcha!
The so-called "reciprocity" requirement of the GNU GPL does not exist. There is no requirement for me to seek out MySQL AB so I can send them a copy of a distributed MySQL derivative. Under the GPL, I don't even have to notify you that this MySQL derivative exists nor that I have distributed it to others. The way you word things, it sounds like you believe that I have an obligation to share my changes upstream. I can find no language in the GPL v2 to support this.
Also, the GPL is a commercial license. It's perfectly fine for me to distribute copies of MySQL or a MySQL derivative for a fee. I can develop a MySQL derivative or distribute verbatim copies of it for a fee as part of a business.
You can ask those who are making money with MySQL to pay you or to seek you out to make sure you get a copy of their improvements to the program, but the GPL does not require these things.
Digital Citizen
Right, you don't have to send any code back specifically to the copyright holder (MySQL AB in this case).
What I mean by "reciprocity requirement" is section 2b of the GPL. This is what it says:
"You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License."
The GPL does not require you to pay anyone, and it does not require you not to charge a fee for your application. But it does require you to license distributed derivative work under the same licence, i.e. under the GPL.
If for any reason that is a requirement you don't want to live up to, you can in our case choose to purchase a commercial licence for the same software.
I suggest that you not refer to this as "reciprocity" or as a quid pro quo because you'll convey something you don't intend to convey--distributors of modified versions of MySQL owe the copyright holder (or some other specific entity) a copy of their modified source code upon distribution. This mutual exchange is what does not exist. It's possible the copyright holder will eventually get copies of the changes (the modifier might even send patches to the copyright holder). But what exists in the GPL is a requirement to pass on the rights and complete corresponding source code (or a written promise valid for 3 years for said source code) so that people can take advantage of the rights the license grants. That's simply not the same thing.
I think this is an important difference to make because some licenses have a notification requirement so that the copyright holder can come by and pick up a copy of the modified source code (the 1.x Apple Public Source Licenses, for instance). The APSL 1.x licenses were non-free licenses partially because of this requirement; one must reciprocate with Apple. Thus, describing the GPL in a similar way is naturally confusing.
I suggest that you describe the distribution requirement as an implementation of "copyleft" or as a requirement that distributed derivatives of GPL-covered works must also be licensed under only the GNU GPL. The Creative Commons organization describes a similar arrangement as "ShareAlike". These descriptions either repeat or come far closer to the language the FSF uses to describe their license. I know of no instances where they describe this distribution requirement as reciprocity.
I'm happy to learn that you understand that the GPL doesn't require sharing changes upstream with the copyright holder because prior to now, I was under a different impression. I believed that MySQL intended to leverage their would-be customer's ignorance of the GPL's terms. The benefit of doing this is perfectly obvious: MySQL AB may end up selling more seats under the non-GPL license if they can scare people into believing that the GPL doesn't fit their needs.
Digital Citizen
The logic for us is "We have opened up our software to the whole world by licensing it under the GPL. We hope you reciprocate by doing the same with your software."
i don't see the point. mysql tacking-on more features in an attempt to pretend to be a real database just destroys what mysql is good for with no chance of it ever successfully implementing the features - you can't just tack on these features, they have to be designed in from the start.
mysql's a good little toy database that's perfectly suited to mostly-read applications (e.g. many kinds of web sites). why throw that away to be a half-arsed imitation of a real db?
if you want a real db, use postgres or oracle or sybase or even ms sql.
if all you need is a toy db (aka glorified filesystem with sql capabilities) then use mysql.
IMO, someone should fork an old version of mysql (before it got all the pretend-to-be-a-real-db features) fix the bugs, optimise it for even more speed if possible, and maintain that as a simple, no-frills, fast, web database engine suitable for applications that are read-mostly.