So how do I start explaining about decision tables? Well, its an
interesting subject..
Introduction
What does wikipedia say ?
"Decision tables are a precise yet compact way to model
complicated logic. Decision tables, like if-then-else and switch-case statements, associate conditions with
actions to perform. But, unlike the control structures found in
traditional programming languages, decision tables can associate
many independent conditions with several actions in an elegant
way."
Decision tables, for me, seem to make sense in that they model
logic into an understandable table-diagram that can be checked
easily.
…
Over the past few years, Oracle has bought nearly every enterprise software company in existence, but comparatively few database-related vendors (Sleepycat, InnoDB, etc.). This hasn't mattered, however, as it's gargantuan applications business is helping to drive its database business, now climbing to 44 percent of the enterprise market....
In October 2003, Mick Carney (the first MySQLer in Sales in France) convinced us to choose Véronique Loquet and her company Al’x Communication as MySQL’s French PR agency.
And what an excellent choice it was! Véronique and her Paris team have been with us now for nearly five years. Her contacts are excellent, as are her organising skills. She practically embodies PR for les logiciels libres (Free and Open Source Software) in France.
Véronique has visited the MySQL Users Conference in Santa Clara several times, and of course introduced us to numerous French journalists, fixing plenty of meetings for Mårten, Zack, myself and others.
Being acquired by Sun Microsystems does have many more ups than it has downs, but one …
[Read more]I?ve spent the past three weeks profiling open source policies and adoption projects at the 16 nations competing in EURO 2008. Congratulations are due to Spain, which deservedly won the football championship on Sunday with a 1-0 win over Germany.
Just for fun I thought I?d also declare a 2008 Tour of Europe Open Source Champion. In deciding the winner I decided to follow the same organizational structure as the football, so read on to find out which eight nations made it out of the group stages and how I whittled it down to an eventual champion.
If you disagree with any of my decisions feel free to add a comment explaining why, but remember: the referee?s decision is final. Although the football has finished, I?ll also be …
[Read more]
When using MySQL in batch mode, you may often find it useful to use
the UNIX shell commands along with the SQL queries. This is a
demo script showing how you can achieve that:
# Mixing shell commands and SQL queries in batch mode- demo script use test; #INSTALL PLUGIN example SONAME 'ha_example.so'; #Ignore statement system cp /tmp/mysqld.trace logs/init.trace # Shell commands prefixed with a 'system' create table new4(num integer) engine=EXAMPLE; system cp /tmp/mysqld.trace logs/after_create.trace # Shell commands prefixed with a 'system' system diff logs/init.trace logs/after_create.trace # Shell commands prefixed with a 'system'
This script makes use of the 'system' command:
system (\!) Execute a system shell command.
Note that this is available only on UNIX systems.
When using MySQL in batch mode, you may often find it useful to use
the UNIX shell commands along with the SQL queries. This is a
demo script showing how you can achieve that:
# Mixing shell commands and SQL queries in batch mode- demo script use test; #INSTALL PLUGIN example SONAME 'ha_example.so'; #Ignore statement system cp /tmp/mysqld.trace logs/init.trace # Shell commands prefixed with a 'system' create table new4(num integer) engine=EXAMPLE; system cp /tmp/mysqld.trace logs/after_create.trace # Shell commands prefixed with a 'system' system diff logs/init.trace logs/after_create.trace # Shell commands prefixed with a 'system'
This script makes use of the 'system' command:
system (\\!) Execute a system shell command.
Note that this is available only on UNIX systems.
Because of some weird bug my RSS feeds were broken ever since I’ve upgraded to WP 2.5. Today they were fixed and I hope they’ll have some new posts there soon Stay tuned.
I was chatting with Brian yesterday about my displeasure with
Ubuntu's idea of requiring you have to apt-get every package
including the kitchen sink in order to have a development box
where things like autoconf Just Work (TM). I mentioned my
problems and had a Freudian slip of the tongue and said
"Unbuntu". I rather like this, because as nice as Ubuntu is in
some ways, it's incredibly frustrating that you can't just
specify "I WANT A DEVELOPMENT BOX" when you install the OS. I
don't like having to figure out what to install when I'm busying
hacking code. I hate having to mess around with OS installs. Back
in 1993, I put in my time installing Slackware on 30 something
odd floppies as well as trying to get X to run on my Packard
Hells video card (headland technologies 5650 - something I'll
never forget)-- point being, my days of tinkering with OS-isms
are past.
Also, why the hell do you have to have multiple versions of
automake and …
Sometimes MySQL Replication may run out of sync - because of its own buts or operational limitations or because of application mistake, such as writing to the slave when you should be only writing to the master. In any case you need slave to be synced with Master.
To discover the difference between Master and Slave you can use excellent Maatkit tool though if you you just need to resync small single table it may be easy to do it other way:
Assuming your table schema does not change you can do something like this on the master:
LOCK TABLE tbl WRITE;
SELECT * FROM table INTO OUTFILE '/tmp/tbl.txt';
DELETE FROM tbl;
LOAD DATA INFILE 'tmp/tbl.txt' INTO TABLE tbl;
UNLOCK TABLES;
This will dump master's table content to the file clean the table on master and slave and refresh it on both of them.
This obviously makes table …
[Read more]I read Baron's blog about this challenge on how to limit rows accessed, not rows returned with a query. He had another requirement, no subqueries, so it would work on pre MySQL 4.x. At first, I started down the same path he did, looking for a way to limit the number of rows accessed. The only way I could do it was to either create 4 seperte queries directly spelling out which actor_id I was looking for. I could also use an IN clause as well, but that wasn't generic enough for me. There's got to be a way to avoid a full table scan and only access a minimum number of rows to return the result he was looking for.
In researching LIMIT optimization, the MySQL 5.0 reference manual states:
If you use LIMIT row_count with …
[Read more]