As promised, we are pleased to announce the availability
of the 1.0.3 release of InfiniDB Community
Edition. This is the first of our monthly maintenance
releases that are scheduled throughout the spring.
This release includes a number of bug fixes that you can see at
http://bugs.launchpad.net/infinidb. We have also
included support for prepared statements with bind
variables and a performance improvement for queries that
select many columns with neRead More...
CMake is a cross-platform, open-source build system, maintained by Kitware, Inc.
From the CMake.org home page:
CMake is a family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice.
It has been used for building the MySQL Server on Windows since MySQL 5.0 – the initial CMake build support was added in August 2006.
For …
[Read more]So after I published my patch last night, another of my colleagues - the esteemed Shane Bester - pointed out that there is a related bug - Bug#28405 - which requests that Com_change_user is also split out from Com_admin_commands.
So I extended my patch this morning, to kill two birds with one stone:
=== modified file 'sql/mysqld.cc' --- sql/mysqld.cc revid:alik@sun.com-20100114090008-3rsdmlp1w2mqgrhg +++ sql/mysqld.cc 2010-03-03 09:57:40 +0000 @@ -3131,6 +3131,7 @@ {"call_procedure", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_CALL]), SHOW_LONG_STATUS}, {"change_db", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_CHANGE_DB]), SHOW_LONG_STATUS}, {"change_master", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_CHANGE_MASTER]), SHOW_LONG_STATUS}, + {"change_user", (char*) offsetof(STATUS_VAR, com_change_user), …[Read more]
Right now, we support InfiniDB on a couple of different Linux flavors. As we march toward a couple of more releases this year, we want to expand our operating system support. We could really use your input on which OS's we should support next. Please go to http://www.infinidb.org/index.php. On the lower left corner you'll see our OS poll - please vote and let us know which OS you use for your production databases. Thanks!
I've been making some improvements to our use of Hudson recently that have been really helpful.
The first was starting to use a set of parameterized builds. These use the Parameterized Trigger plugin, which allows you to pass parameters to triggered additional jobs when a job finishes. So using these we make a job which checks out the latest source (which should just about always succeed) and then fire off a whole host of jobs running on all of our build hosts. It has a single "build now" submit form which takes a bzr branch location as the branch to build. With this all of our developers can check their tree against the build farm before submitting the branch for merge.
That's great, but as we got more and more build hosts, we had to set up a job on each of them - and then having 4 machines which were all amd64 running Ubuntu 9.10 …
[Read more]
I came across a performance issue and the underlining query was a
subselect. MySQL was spending a lot of time in 'preparing' state
- meaning the optimiser is working out how to execute the
query:
(snip)| 54937 | root | localhost | rea | Query | 2 |
preparing | select listingeve0_.LISTING_UID as col_0_0_,
count(distinct listingeve0_.VISITOR_UID) as col_1_0_ fr | | 54938
| root | localhost | rea | Query | 2 | preparing | select
listingeve0_.LISTING_UID as col_0_0_, count(distinct
listingeve0_.VISITOR_UID) as col_1_0_ fr | | 54939 | root |
localhost | rea | Query | 2 | preparing | select
listingeve0_.LISTING_UID as col_0_0_, count(distinct
listingeve0_.VISITOR_UID) as col_1_0_ fr | (snip)
I re-wrote the query as an outer join and I want to show the
results to you.
Heres the subselect query and results:
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0 ;insert into …
My boss vented about the lack of a Com_ping SHOW GLOBAL STATUS variable earlier, and I figured it would be dead easy to hack in.
A few minutes later:
Cerberus:mysql-next-mr mark$ bzr diff ./sql === modified file 'sql/mysqld.cc' --- sql/mysqld.cc revid:alik@sun.com-20100114090008-3rsdmlp1w2mqgrhg +++ sql/mysqld.cc 2010-03-02 22:58:45 +0000 @@ -3174,6 +3174,7 @@ {"load", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_LOAD]), SHOW_LONG_STATUS}, {"lock_tables", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_LOCK_TABLES]), SHOW_LONG_STATUS}, {"optimize", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_OPTIMIZE]), SHOW_LONG_STATUS}, + {"ping", (char*) offsetof(STATUS_VAR, com_ping), SHOW_LONG_STATUS}, {"preload_keys", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_PRELOAD_KEYS]), SHOW_LONG_STATUS}, {"prepare_sql", (char*) offsetof(STATUS_VAR, …[Read more]
Both grids in "Data" and "Query" tabs now support a variable row
height. Very useful if you like to see more than the first line
of text in table cells at once. Just increase the option "Lines
of text in grid rows" in "Tools" > "Preferences" > "Data"
to a higher value.
Above the data grid, you will notice two new buttons for "Next"
and "Show all". The grid loads table data in chunks of 1,000
rows. So, "Next" loads the next chunk of 1,000 rows, and "Show
all" loads the entire table, up to a maximum of 100,000 rows.
Both values are customizable via "Tools" > "Preferences" >
"Data".
The good thing is: normally you won't need to click any of these
two buttons, because:
A) "Next" is automatically executed when you have the last row
focused and the press the PageDown key. So, if you hold down the
PgDn key, you will see Heidi loads data on demand in a larger
table.
B) Both buttons …
One of my colleagues, Ryan Lowe, has just heard that his session on PCI compliance with MySQL has been accepted at the upcoming MySQL conference. Ryan is highly qualified to present this topic, and not many people can say that; I certainly can’t claim that title myself. If you’re looking to learn how to make your MySQL installation PCI-compliant, there’s also not a lot of trustworthy information online. Personally – and really, no bias just because he’s my colleague – I think this is a great session for the MySQL conference, which I sometimes thought didn’t have enough diversity of topics in past years.
Today I ran into my first MySQL binlog race condition: The initial problem was quite simple: A typical MySQL master->slave setup with heavy load on the master and nearly no load on the slave, which only serves as a hot … Weiterlesen →