Showing entries 32326 to 32335 of 44924
« 10 Newer Entries | 10 Older Entries »
I hate that I like Apple products

Why do we continue to lust after Apple products when Apple treats us like two-year olds? READ MORE

Drizzle i18n


Anybody out there know more that one language?

We’ve got gettext going in the drizzle source now, and although we don’t have all the strings marked yet, we do have a start, and it’s time to get going on translating!

If you’d like to help out, just head over to launchpad, pick a language and get going! You may want to go to your launchpad settings and pick your preferred languages first, though, else the list of offered languages might be a little odd.

I’m guessing the easiest ones will be “English (Australia), English (Canada) and English (United Kingdom)” … but I could be wrong…

[Read more]
Wonderfull World of MySQL Storage Engines slides are now published

I should be faster with publishing slides but things are how they are. The slides from my OSCON2008 talk are now published at Percona Presentation Pages.
Enjoy

Entry posted by peter | 4 comments

Add to: | …

[Read more]
Discovering the CASE statement

In an effort to speed up my database updates, I've been looking for ways to batch some of my updates. CASE seems like the way to go:



mysql> create table bar(a tinyint, b tinyint);
Query OK, 0 rows affected (0.02 sec)

mysql> insert into bar(a) values(1), (2), (3), (4), (5);
Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> select * from bar;
+------+------+
| a    | b    |
+------+------+
|    1 | NULL | 
|    2 | NULL | 
|    3 | NULL | 
|    4 | NULL | 
|    5 | NULL | 
+------+------+
5 rows in set (0.00 sec)

mysql> update bar set b = case a
    ->   when 1 then 42
    ->   when 2 then 43
    ->   when 3 then 44
    ->   else 45
    ->   end;
Query OK, 5 rows affected (0.00 sec)
Rows matched: 5  Changed: 5  Warnings: 0

mysql> select * from bar;
+------+------+
| a    | b    |
+------+------+
|    1 |   42 | 
|    2 |   43 | 
|    3 |   44 | 
|    4 |   45 | 
|    5 | …
[Read more]
GlassFish and MySQL bundle


GlassFish and MySQL bundle was released a while ago and I finally got a chance to try it out. Here are simple instructions to get you started:

  1. Download GlassFish and MySQL co-bundle zip from here.
  2. Install the bundle (detailed docs)
    1. Create a temp directory and unzip the contents of bundle there. The contents are:

      -rw-r--r--   1 arungupta  arungupta   239703 Mar 19 02:57 3RD-PARTY-LICENSE.txt
[Read more]
MySQL Community server released with security fix

After a longer than expected hiatus, MySQL Community Server is back with release 5.0.67.

There have been complaints about this delay, but the claim that the community edition was dead has proven to be groundless.

Being a maintenance release, this edition has no new features. There is an important security fix, though, and anyone using MySQL 5.0.x should read the release notes and act …

[Read more]
Sebastian teaching for Open Query

I'm sitting in the back of the training room in Brisbane, following Sebastian Bergmann on the first day of his Quality Assurance in PHP Projects workshop. He is of course the right man for that job, since he wrote PHPUnit.

I have to run off after lunch to catch my flight to Adelaide (SAGE-AU 2008 Conference), where I'll be doing a tutorial on MySQL Backup and Replication strategies, and a session on managing e-mail and task overload ;-)

Short Puzzles about Names and Handlers

Here are three short routines that raise tough questions. I’ll bet that many MySQL stored-procedures experts will fail to answer all three.

Question 1. The Ambiguous Identifier

Given one table and one stored procedure:
DELIMITER //
CREATE TABLE t (x INT)//
INSERT INTO t VALUES (1)//
CREATE PROCEDURE p ()
BEGIN
DECLARE x INT DEFAULT 2;
SELECT x FROM t;
END//
CALL p()//
Notice that x is both a column and a variable.
MySQL will return
(a) ‘1′ because that’s the value of column x.
(b) ‘2′ because that’s the value of variable x.
(c) an error message because x is ambiguous.
?

Question 2. The same-level handler

Given one table and one stored procedure:
DELIMITER //
SET @@sql_mode=”//
CREATE TABLE t (x SMALLINT)//
CREATE PROCEDURE p ()

[Read more]
Online Logging FTW


I was just reading Sheeri’s post Why You Want to Switch to MySQL 5.1, and my favorite 5.1 feature jumped out at me.

Online, table-based logging.

It doesn’t get a lot of press, which is sad, because it’s hella useful. I can’t tell you how many times I’ve showed up to a client’s site to help with performance tuning, started with “well, let’s look at the slow log” and (as I’m sure we all know) been foiled by the fact that they don’t have it on and can’t do a server restart. I was even at a client a couple of weeks ago where they were actually using the CSV engine support of this… although I’d never really found that all that interesting myself.

Online logging. It’ll make all the ($gender_of_sexual_preference) love you!

[Read more]

IT WORKS!!!

And not a moment too soon.
I've finished my day job for the summer and have been pouring over the code the last few days trying to isolate the last two bugs.
I've also received word that I don't have 8 days left, I have 1...so I'm a bit rushed but still hopeful.

As part of my bug fixing for the hit code (which works beautifully now) I was able to remove all of the unnecessary mutex locking from within the cache. This is a nice speed boost as there is no longer any need to lock and unlock when working with the cache. It just works (tm).

I have a fairly rough implementation of the invalidate code that looks something like this:

if(anything changed) {
nuke_the_cache();
}

It works, and it allows for multiple instances to use the same cache.
My next task is to make this a bit more refined (per table invalidation) by using …

[Read more]
Showing entries 32326 to 32335 of 44924
« 10 Newer Entries | 10 Older Entries »