40 likes | 53 Views
CS122B: Projects in Databases and Web Applications Winter 201 8. Professor Chen Li Department of Computer Science UC Irvine Notes 12: User-Defined Functions (UDF) in MySQL. Purpose. SQL has its own limitations Enhance DB using functions implemented in C. Example: edit distance.
E N D
CS122B: Projects in Databases and Web Applications Winter 2018 Professor Chen Li Department of Computer Science UC Irvine Notes 12: User-Defined Functions (UDF) in MySQL
Purpose • SQL has its own limitations • Enhance DB using functions implemented in C
Example: edit distance • Edit distance between two strings is the minimum number of single-character operations (insert/delete/substitute) to transform one to the other • Also known as Levenshtein distance • Example: ed("kitten”, "sitting”) = 3 • Classic dynamic programming algorithm for computing ed(s1, s2)
Supporting Edit Distance as UDF Compile Edit distance Function in C: ed.c Shared library libed.so CREATE FUNCTION ed RETURNS INTEGER SONAME 'libed.so'; SELECT ed('abc', 'ad'); MySQL