Hi all,
This is a quick post to let you know that the memcached functions
for MySQL have been moved to Launchpad. The project page is:
https://launchpad.net/memcached-udfs
I think this will help to get the project more exposure, as well
as making it easier for people to contribute to the project. I've
found Launchpad to be quite useful for managing projects and so
decided to move the UDFs there.
I'm working on getting out another version soon. I just fixed a
bug the deals with user-defined variables that were set to NULL
causing the UDFs to crash the server. It was a bug in the length
of the argument being set to 8192
For instance, the first explicitly:
mysql> select memc_set('nullval', null);
(gdb) p args->args[1]
$3 = 0x0
(gdb) p args->lengths[1]
$4 = …
The next meeting of the North Texas MySQL Users Group will be
Monday, August 3rd 2009 at 7PM sharp. We will meet at the Sun
Offices, Suite 700, 16000 Dallas Tollway, Dallas.
The presentation will be on MySQL Basics -- How to install and
run a MySQL database. This is an introductory level talk but
experienced folks are invited to contribute their insights also.
We hope to have a series of talks for those just starting with
MySQL so that later we can build demand for more advanced topics.
If you, like me (but sometimes I feel it's just me left) use C
and the Win32/Win64 API for Windows programming, you might be
interested in this little trick which I use quite often on
Windows to make sure I do not have any memory leaks.
Usually, you allocate from the heap using something like malloc
for a level of portability, as the Windows HeapXxx calls are
Windows specific, and malloc maps to these guys anyway.
usually.
In Windows, each process has a default heap. In most cases, DLL
data is private, but heap allocations are usually done from the
Process heap. This causes a memory allocation issue that is all
too common: There may be a memory leak, and again, it may not be,
as everyone is allocating data from the same heap, including any
libraries, static or dynamic, that you may use, when all you want
to know is if you have a leak in your code.
And this what you can do here: Although a process has a …
Here I'm following up my previous post Using linguistic indexes for sorting in
Oracle. I don't much like the Oracle solution, that requires
creating a special index to speed up sorting, but... at the same
time its very powerful, allows to index in many languages and no
database changes are needed.
In this post I’ll take a look at the two popular open source
databases MySQL and PostgreSQL. I'll take a look only at
features, that the database has included and that can be used
without any special application changes.
PostgreSQL 8.4
Starting from 8.4, collation (sorting) rules can be defined per database and there is no possibility to set it in session level. All sorting and all indexes are ordered according to the database collation locale. In previous versions there was only one …
[Read more]The MySQL Workbench team announces the availability of version 5.2.2 - the 3rd ALPHA release - of our database development tool.
Since the last alpha release, several bugs has been fixed and fixes from the 5.1 branch were also included. No major new features are included in this version, but upgrade from previous versions of Workbench 5.2 is recommended. However, please note that this is still an ALPHA release of Workbench 5.2 For database modeling use, please consider using the latest version of Workbench 5.1
For a QuickTour of the latest Query Browser features, see: http://dev.mysql.com/workbench/?page_id=236
The files for different platforms have been pushed to our main server and will be globally available on our mirrors during the next hours.
…
[Read more]
|
The MySQL Librarian is a collection of community generated content, easy to search and to extend. If you have missed the announcement, you may look at Introducing the MySQL Librarian.. To add a new link, you have several ways. You can just use the Add A Link feature inside the Librarian. If the link to be added comes from Planet MySQL, every post has a link to facilitate the insertion to the Librarian. For everything else, adding a link is a manual task. Until today. … |
Yesterday I wrote how certain build optimizations can have performance differences – and I decided to step a bit deeper into a quite interesting field – profile guided binary optimization. There’re quite a few interesting projects out there, like LLVM (I hear it is used extensively in iphone?) – which analyze run-time profile of compiled code and can do just in time adjustments of binary code. Apparently, you don’t need that fancy technology, and can use plain old gcc.
The whole plan is:
- Compile all code with -fprofile-generate in {C|CXX|LD}FLAGS
- Run the binary
- Run your application/benchmark against that binary
- Recompile all code with -fprofile-use (above steps will place lots of .gcda files in source tree)
- PROFIT!!! (note the omission of “???” step)
How much …
[Read more]Gearman is an open source generic framework for distributed processing. At OSCON 2009 I attended the Gearman: Build Your Own Distributed Platform in 3 Hours tutorial.
While it’s very easy to install Gearman, and follow the first example, if you missed the all important additional PHP steps listed on just one slide you may be left with the “‘Class ‘GearmanClient’ not found” error.
The following are detailed instructions for the installation and configuration of Gearman and PHP on Ubuntu 9.04 Jaunty.
Add the Drizzle PPA to get pre-packaged versions of Gearman.
cp /etc/apt/sources.list /etc/apt/sources.list.orig echo "deb http://ppa.launchpad.net/drizzle-developers/ppa/ubuntu intrepid main deb-src http://ppa.launchpad.net/drizzle-developers/ppa/ubuntu intrepid main" …[Read more]
Over last few years 64-bit x86 platform has became ubiquitous, thus making stupid memory limitations a thing of some forgotten past. 64-bit processors made internal memory structures bigger, but compensated that with twice the amount and twice larger registers.
But there’s one thing that definitely got worse – gcc, the compiler, has a change in default compilation options – it omits frame pointers from binaries in x86_64 architecture. People have advocated against that back in 1997 because of very simple reasons, that are still very much existing today too – frame pointers are needed for efficient stack trace calculations, and stack traces are very very useful, sometimes.
So, this change means that oprofile is not able to give hierarchical profiles, it also means that MySQL crash information will not include most useful bit – …
[Read more]