The Thanksgiving break was a welcome change of pace... and on the idle driving up and down the Californian coastline, I had a few moments to work on the MySQL External Stored Procedures project. I think I pretty much have Perl functioning fully and a couple of minor problems were resolved.Yesterday, I completed the first draft of the all-revised-from-scratch WL#3771, now titled as the Plugable
This question seems to crop up again and again... In the words of one comment to my blog: "I've downloaded your External Language Stored Procedures package and am interested in trying out the JAVA part. Would appreciate if you could explain how use the downloaded stuff."Ok, on my download page, I have provided 2 different downloads which are automatically created from our source repository. A
I actually received this book about a month ago but from
necessity, I had to put it to one side and deal with more
important issues. It is not a big book, only 235 pages, but it
has an easy to read conversational style, unlike similarly titled
technical books on the internals of other software.
If you're looking for a book about database theory, this book is
not for you. It conveys to the reader a good overview as how
MySQL functions without delving into the theories as to how the
algorithms work or the rationale behind their design. The book
does a good job of at least giving a drive-by look at most of the
significant components of MySQL. libmysys, MySQL's platform
library which allows MySQL to work on a very wide range of
operating systems is mentioned only under the subsection titles
'Core API' and 'Utility API' and only lists about 30 of the
functions available: libmysys provides the important glue between
MySQL and the operating …
The way InnoDB handles locking of the Buffer Pool has been
changed with 5.0.30. Sites that have a large (16GB+)
innodb_buffer_pool_size and high concurrency (4+ CPUs) will
experience lock contention of the single global Buffer Pool lock
in older versions of MySQL. In Cacti that behavior can look like
this:
5.0.26, high InnoDB load, memory saturated environment (database
smaller than RAM), very high concurrency.
CPU usage >100% not plotted properly, thus the strange graph.
Watch the high system time consumption.
After upgrading from 5.0.26 to 5.0.36, the lock contention goes
away. The gain materializes itself as a greatly reduced system
time usage.
5.0.36, high InnoDB load, memory saturated, high
concurrency.
User time comparable, system time a lot smaller.
For a migration, I needed a latin1_german1_cs collation, that is,
I needed German umlauts to sort as their base characters.
Here is what to do: Find your charsets directory with "SHOW
VARIABLES LIKE 'char%dir%'".
Inside that directory will be a file Index.xml. Find a free id
and add your new collation using an unused id. Add a description
and a name.
Inside the same directory is a file latin1.xml. Inside that file,
copy the block of the collation matching your new collation most
closely, and adapt it as needed. In my case, I changed
latin1_german1_ci to _cs, and modified the character values to
match.
Patch attached after the break.
How to use:
After applying the patch, the server must be restarted. "SHOW
COLLATION" will now show the new latin1_german1_cs collation.
"ALTER TABLE t CHANGE COLUMN oldcol newcol varchar(80) CHARSET
latin1 COLLATE …