It's a tough life... I originally promised shwag like MySQL mugs
for the beta challenge, then Kaj and I decided that Roland had
really earned a more serious prize. Heck, the iPod nano didn't
even exist when we first announced the beta challenge!
Anyway, it appears that Roland was really looking forward to the mug,
so I don't want to disappoint him. It's on its way, Roland! (no
it's not instead of the nano ;-)
And eh, I took the opportunity to also send a mug and MySQL
stickers to Eric Bergen at Yahoo!, who is always very helpful
on the Freenode #mysql IRC channel. I believe that's actually how
he got his job there, he was spotted on the channel... excellent!
A big thanks for you too, Eric!
Let me just show you this first:
mysql> USE test
mysql> CREATE TABLE con (i INT);
mysql> CREATE VIEW viewcon AS
-> SELECT * FROM test.con
-> WHERE i BETWEEN 10 AND 20
-> WITH CASCADED CHECK OPTION;
mysql> INSERT INTO viewcon VALUES (30);
ERROR 1369 (HY000): CHECK OPTION failed 'test.viewcon'
So, you can do detailed server-side data validation with a view
that has the CASCADED CHECK OPTION enabled. We can't insert a
value of 30 because it's not within the 10-20 range specified in
the view.
Of course, this only works because nearly all MySQL views are actually updatable (where
possible). That means that you can do INSERTs, UPDATEs and
DELETEs on a view! Think about the fab implications of that for a
moment. Because it works like a regular WHERE clause, you could
perform complex checks that …
Let's take a quick test drive to show how simple it is to use MySQL's pluggable storage engine architecture and see the impact different storage engines can have on performance.
It may be tested again! Just a few days we released our last beta, a new version of MySQL got published: The long awaited MySQL 5!
For Linux we can offer now a refurbished beta version containing MySQL 5. A appropriate Windows beta follows soon.
Today is the MySQL 5 session.
Nice mix in the students, large bank, medical company, major telco, major airline, and a big game company.
First is a discussion of MySQL Views, what they can and cannot do, how to secure them.
Then comes the practice using VIEWs, where everyone gets to install MySQL (from the no-install zip), and practice on the World sample database.
Nice examples on CHECK constraints in VIEWs and how they can be cascaded.
Next comes a coverage of stored procedures, a nice explanation of the options at the start of a procedure such as DETERMINISTIC, READS SQL DATA, etc.
How replication affects stored procedures and vice-versa is also being discussed.
Definer vs. Invoker in stored procedure security.
Next is training on basic procedures, error handling.
First day is good, nice to see a half day and a bit dedicated to stored procedures and functions. …
[Read more]This week’s iPod nano winner is a long-time MySQL community member: Jocelyn Fournier.
Jocelyn is one of most productive beta testers of MySQL ever, and he certainly has not slowed down his path now with MySQL 5.0.
Jocelyn is using MySQL to power a bulletin board “MesDiscussions.Net” (”My Discussions”), which is used by some big French websites. There, he does practical stress testing of MySQL from both a performance and feature standpoint.
Performance-wise, he has more than 2300 simultaneous connections on peak on forum.hardware.fr.
Jocelyn tries to integrate each of the new features MySQL offers in his software to get the best out MySQL, and I’m pleased to quote his comment: “the achieved …
[Read more]
You will need the World
Database to work on this question.
Some solutions follow. If you need any faster way, please leave
it as a comment.
SELECT Country.Name
FROM Country
JOIN CountryLanguage
ON Country.Code=CountryLanguage.Country
WHERE Language='French'
AND Country NOT IN (SELECT Country FROM CountryLanguage WHERE
Language='English')
SELECT DISTINCT Country.Name
FROM Country
JOIN CountryLanguage AS cl1 ON Code = Country
LEFT JOIN CountryLanguage AS cl2 ON cl1.Country =
cl2.Country
AND cl2.Language = 'English'
WHERE cl1.Language = 'French'
AND cl2.Language IS NULL
Hey,
I just found out I've been awarded an iPOD for the beta
challenge! Amazing, when I received that June (yep, June already,
time just flies when you're having fun) issue of the MySQL
newsletter, I decided to try and do something.
As I recall, people were being teased to participate by promising
them stuff like coffee mugs, T-shirts....Wich immediatly deepened
my breath, and made my heart go BOOM,BOOM,BOOM as you might
reckon!
Seriously, what convinced me to download the 5.0.7 release, was
Arjen Lentz's "call to arms" to evaluate MySQL
5: a be-real, no-nonsense and to-the-point kind of appeal to test
the new release of that well known open source rdbms, and this
time, it was harbouring all kinds of enterprise grade features:
stored procedures, views, triggers. At least, those were the
features that I …