1.. _udf_percona_toolkit:
2
3========================
4 *Percona Toolkit* UDFs
5========================
6
7Three *Percona Toolkit* UDFs that provide faster checksums are provided:
8
9  * ``libfnv1a_udf``
10
11  * ``libfnv_udf``
12
13  * ``libmurmur_udf``
14
15Version Specific Information
16============================
17
18  * :rn:`5.7.10-1`:
19    Feature ported from |Percona Server| 5.6
20
21Other Information
22=================
23
24  * Author / Origin:
25    Baron Schwartz
26
27Installation
28============
29
30These UDFs are part of the |Percona Server| packages. To install one of the UDFs into the server, execute one of the following commands, depending on which UDF you want to install: ::
31
32  mysql -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'"
33  mysql -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'"
34  mysql -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'"
35
36Executing each of these commands will install its respective UDF into the server.
37
38Troubleshooting
39================
40
41If you get the error: ::
42
43  ERROR 1126 (HY000): Can't open shared library 'fnv_udf.so' (errno: 22 fnv_udf.so: cannot open shared object file: No such file or directory)
44
45Then you may need to copy the .so file to another location in your system. Try both ``/lib`` and ``/usr/lib``. Look at your environment's ``$LD_LIBRARY_PATH`` variable for clues. If none is set, and neither ``/lib`` nor ``/usr/lib`` works, you may need to set ``LD_LIBRARY_PATH`` to ``/lib`` or ``/usr/lib``.
46
47Other Reading
48=============
49
50  * *Percona Toolkit* `documentation <http://www.percona.com/doc/percona-toolkit/>`_
51