MySQL Blog Archive
For the latest blogs go to blogs.oracle.com/mysql
Creating a MySQL plugin to produce an integer timestamp

This article shows how to create a MySQL-plugin that can be used to create a function which can in turn be used in stored procedures. The function will produce an integer value representing the time (to the nearest usec).

I’m working on an article for conflict detection/resolution when using MySQL Cluster asynchronous replication which requires an integer column to store a timestamp for comparison purposes. In fact, it doesn’t actually need the timestamp to represent an absolute or even a relative point in time – all it cares about is that the if the function is called twice on 2 different hosts that the 2nd call will always result in a larger number than the 1st. Obviously, in a production environment the times on the 2 hosts would need to be kept in sync.

The c code (inttime.c)

Compiling and deploying the shared library

Creating the function

Test the function

Note that the results are different and the second result is always larger than the first – function is fit for purpose 🙂

Using the function from a stored procedure

Acknowledgements

I used the c code found at http://lists.mysql.com/internals/33702 as the starting point.