Typically, we receive customer tickets regarding crashes or bugs, where we request a core dump to analyze and identify the root cause or understand the unexpected behavior. To read the core dumps, we also request the linked libraries used by the server’s MySQL. However, there’s a more efficient way to achieve our goal: by using […]
Hi dear all,
I would like to share our experimental tests about, writing UDF
with Python.
So the basic idea was writing a UDF for factorial calculation.
The interesting part was to move factorial calculation logic to
Python code and then calling this Python file inside UDF code.
Here is the repo link -> UDFs-written-in-Python
The factorial calculation is here -> factorial.py
UDF code is here -> factorial.cc
Basic idea with UDF code quite simple as it has 3 parts:
1. initialization part -> factorial_init() -> all necessary
checks reside here
2. main logic -> …
Hi dear MySQL Community.
I have reported a bunch of bugs and wrote some articles, but
today is a special for me
Because today I send my first PR for MySQL source code.
So I have logged a bug -> #76852 and now fixed it after year.
Okey, I know I am lazy.
Let’s reproduce the bug.
Simulating full disk condition is easy as:
mkdir /filesystems dd if=/dev/zero of=/filesystems/tmp_fs bs=1024 count=0 seek=$[1024*10] mkfs.ext4 /filesystems/tmp_fs mkdir small_mounted_dir mount -o loop /filesystems/tmp_fs /home/sh/small_mounted_dir/
Then obtain MySQL source and compile it with DEBUG. If you don’t know how to do it just refer to -> installing-mysql-from-source-cmake-issues
From now you can use MySQL Sandbox to …
[Read more]
This blog post is a result of reading book.
To be clear -> “Expert MySQL” by Charles Bell -> http://www.apress.com/gp/book/9781430246596
This book explain internals of MySQL based on 5.6.x version. So
relatively new and really good resource to use.
So the task is:
Chapter 8, “Extending MySQL High Availability” -> page 310,
“Extending Replication”.
Where we should add new command -> “SQLCOM_STOP_SLAVES”
executed on master and causing to STOP IO_THREAD on all
slaves.
The basic idea is to run “STOP ALL SLAVES” on master, which in
turn will appear on binary log and then it will applied on
slaves.
Great
MySQL version is 5.6.32.
So, as book advice go to sql/lex.h. “We are adding the new symbol for the command. This file contains the symbol array stored in …
[Read more]I’m pleased to announce that Connector/J has a new home.
Just as several other MySQL products, Connector/J source code management moved to Git and, pretty much as expected, to GitHub. Our reasoning is nothing else than listening to our users demands and trying to follow best trends and practices. There was nothing significantly wrong with Bazaar and Launchpad, as they served us well for the last seven years. It was just time to move on.
Rest assured, all will work as before, no complications no hassles. Our public GitHub repository will expose Connector/J source code as it is in the latest generally available (GA) release, as it has been for the last years.
From now on you will find …
[Read more]Not a big deal, but I just added a “Table of Contents” page to my blog to make finding older articles much easier.
I noticed most of my posts are quite lengthy, and it can take a bit of searching/clicking to find an older entry. So unless you happen to recall the ‘month/year’ it was published, which I don’t even remember that, then hopefully this will help.
Really simple, and looks just like this:
- Microseconds and MariaDB
- Dealing with Assertion failure in log/log0recv.c – !page || (ibool)!!page_is_comp(page) == dict_table_is_comp(index->table)
- MySQL Windows Users – Use Grep to Search MySQL Source Code
- …
Last Friday, I had posted that the MySQL Source Code on Launchpad had not been updated (or rather not accessible by Lauchpad) in nearly a month.
I had actually started to file a bug report about this, but when posting the relevant links for documentation, I had noticed new information had been posted yesterday (10/10/2011).
Here was the orignal MySQL Launchpad page:
https://code.launchpad.net/~mysql/mysql-server/mysql-trunk
Here is the new message on this page:
“This is the old MySQL server branch and it is no longer used since mirroring setup has changed.
You can find the development head at https://code.launchpad.net/~mysql/mysql-server/trunk instead.”
If you navigate to the new page:
…
[Read more]I know I’m not the only one to have noticed that all MySQL branches on Launchpad have not been accessible since September 10th, 2011, nearly 1 month.
Just visit here:
https://code.launchpad.net/~mysql/mysql-server/mysql-trunk
You’ll see it says:
“This branch may be out of date, because Launchpad has not been able to access it since 2011-09-10.”
I’d been seeing “No revisions to pull.” messages latley, when running “bzr pull”, but didn’t give it a whole lot of thought until reading the above note on Launchpad today.
Is it due to the recent security breach (where mysql.com was hacked and infected some visitors with malware)? Well, I doubt it since this started on 9/10/2011 and the breach, according to The Register, occurred on 9/26/2011 (some 2 weeks later):
…
[Read more]I just filed a very annoying bug when trying to compile with plugin engines using the 5.1.xx source tarball.
Description
I am trying to test SphinxSE as a plugin instead of getting it
statically linked and came across an annoying bug. When using the
configure --with-plugins
option only once, the
engine is statically linked. When using it twice, the first
engine is created as a plugin, and the 2nd one is linked
statically. Here are a couple of examples:./configure
–prefix=/usr/local/mysql-5.1.33 –with-plugins=innobase
–with-plugins=sphinx
plugin_innobase_shared_target='ha_innodb.la' <-- plugin plugin_innobase_static_target='' plugin_sphinx_shared_target='' plugin_sphinx_static_target='libsphinx.a' <-- static ./configure --prefix=/usr/local/mysql-5.1.33 --with-plugins=sphinx …[Read more]
A while ago, MySQL developed a Community Contribution Agreement for community contributions to the MySQL source code. While browsing the MySQL Forge Wiki I came across:
http://forge.mysql.com/wiki/Community_Contributions
This page shows that the Community Contribution Agreement has changed — it is no longer the document MySQL AB created. It is now Sun Microsystem’s standard Sun Contributor Agreement, which CEO Mårten Mickos recently explained to me was “more accepted than the agreement MySQL had come up with.”
I am happy to see some of the great Sun practices trickle down to replace some issues that MySQL did not handle smoothly. All in all, I agree with Mårten Mickos and think the Sun Contributor Agreement is much better….
….but what do you think?