My son is starting his senior year in High School, and he's doing
an internship at Build-It-Yourself, a site for helping kids ages
8-13 design and build their own toys and robots. A section of the
site, Build-It-Blocks, has a library of reusable,
functional building blocks, construction tricks and presentation
tips. In talking with my son, I learned that there's a desire to
port Build-It-Blocks from MS SQL Server to MySQL. I offered to
help out since I have some experience with MySQL from my work at
Tokutek.
Several thousand person hours went into creating the existing
site, so one of the goals is to re-use as much of the existing
code and content as possible. Other goals include running on
Windows, and minimizing the …
Who remembers snaps? This is the place to go, when you wanted nightly source code snapshots of stuff that comes out of MySQL AbSun Microsystems build systems, that is related to the MySQL product line. There you can get all the snapshots for GA releases, as well as archives; (albeit not very up-to-date).
Anyway, its good to know now there is a focus, just for server snapshots, available at MySQL Labs. These are testing builds, that come out directly from pushbuild (the build system). Its not for production use, but what’s really useful is the fact that there’s also a recommendation to use the …
[Read more]A while back I blogged about helping out on the IT side of things or the un-informed.org project. A couple of people have replied and said they were interested in helping. In order to facilitate this, I have registered a project on google code and committed an initial version. Does not do much atm, but it features the current database schema concept and admin generator modules for the core entities. The step would be adding support for the various many to many relations. I hope I will have some time next week together with my co-worker Jordi to work on this. Check out the MySQL workbench schema file if you want to get a visual overview of the schema. …
[Read more]I manage several mysql servers and often on these servers for security reasons the SUPER account is not allowed external network access, so access is made to localhost. When connecting to several hosts at the same time, for example from different ssh sessions, this can be inconvenient as the \h prompt only ever shows localhost and not the hostname of the server to which I’m connected.
The following small patch against 5.1.36 which can also be found here adds a new \H option which behaves the same as \h except in this case the hostname is shown.
diff --git a/Docs/mysql.info b/Docs/mysql.info index 7747201..dffacfd 100644 --- a/Docs/mysql.info +++ b/Docs/mysql.info @@ -20512,6 +20512,8 @@ sequences. `\D' The full current date `\d' The default database `\h' The server host +`\H' Same as `\h' except that if the server host is …[Read more]
So, I’m in my hotel room and I got some sleep. Now, it is 2:15 am and Icouldn’t sleep for some reason. PRobably has something to do with me being narcoleptic, as weird as it sounds Since I can’t sleep for a bit anyway, I figured writing a blog summarising the first day of FrOSCon would be a good idea.
Well, in one word: GREAT! In a few more: The first day was a big success. I started it out with a shift at the registration desk (I’m volunteering for FrOSCon as well). Since it was very early, most people that came in were actually exhibitors and speakers, and they all had to be at the VIP desk. At first, the door wouldn’t open. Later it turned out that the sensors thought we were to close to it. Claustrophobic doors are interesting.
Then, there was breakfast for the people with VIP access. Basically that was anyone who was not just a visitor. I helped out for a bit and then went back to my hotel room to catch up on some …
[Read more]Notes on using Symfony with multiple databases.
I’m building a new application in symfony, and I need to use some data from an existing application written by another developer.
I can’t just extend the existing application for reasons we don’t
need to get into, but I do need to interface with the data, since
the existing
app doesn’t really have a nice way to handle a SOA, or share data
easily, my next best option is to talk to the original app’s db.
Things you need to think about.
- No Hacks This is not a hack, symfony/propel support this out of the box, the documentation mentions it briefly but it’s definitely possible.
- Permissions Should you share the same username/password? or different? In my case, I wanted to make sure symfony couldn’t write to the existing app, so I created a user with SELECT privileges only. (This will affect your ability …
edit: I filed MySQL bug#46867 about this issue.
Ask anyone who has learned to count the following two questions.
The answer to both of which should be yes.
Q:Is 5 between 1 and 10? A: Yes
Q:Is 5 between 10 and 1? A: Yes
Ask MySQL those same questions:
mysql> (select 'Yes'
from dual
where 5 between 1 and 10
)
union
(select 'No'
)
limit 1;
+-----+
| Yes |
+-----+
| Yes |
+-----+
1 row in set (0.00 sec)
mysql> (select 'Yes'
from dual
where 5 between 10 and 1
)
union
(select 'No')
limit 1;
+-----+
| Yes |
+-----+
| No |
+-----+
1 row in set (0.00 sec)
This is a problem because applications may produce BETWEEN
clauses. I don't think most …
Beginning Database Design: From Novice to Professional
Beginning Database Design: From Novice to Professional. By Clare Churcher, Apress, 2007. Page count: 230 pages. (Here’s a link to the publisher’s site.)
My wife bought a copy of this book, and recently I took it off her bookshelf to give it a read myself.
I found the book very lucid and readable. The author does not drag us through a bunch of formalisms, nor does she attempt to force the book to be readable through the use of comics, pop-culture references, or other artificial devices. Instead, she draws on her real-life experience helping people design databases, and presents several examples that …
[Read more]In the context of database programming, QEP is an acronym for Query Execution Plan. The database server analyzes every SQL query and plans how to use indexes and order tables to produce the result in the most efficient way.You can get a report of the QEP for a SELECT query using the EXPLAIN command in MySQL. This is an important tool to analyze your SQL queries and detect
I'm pleased to announce the release of Spider storage engine
version 2.0(beta).
http://spiderformysql.com/
From this time, version 1.x is stable releases, version 2.x is
development releases for new features.
The main changes in this version are following.
- Add table parameter "semi_table_lock_connection".
- Add server parameter "spider_semi_table_lock_connection".
Spider has "spider_semi_trx",
"spider_semi_trx_isolation", (for transactional tables like
InnoDB) "spider_semi_table_lock" and "semi_table_lock" (for non
transactional tables like MyISAM) options for consistent reading
at remote servers during executing 1 SQL at local server. But you
must use different connections for transactional tables and non
transactional tables because "semi_table_lock" causes implicit
transaction commit.
…