Pass the function flags SQLITE_UTF8 (because SQLITE_ANY is deprecated)
authorschwarze <schwarze@openbsd.org>
Wed, 16 Apr 2014 00:33:24 +0000 (00:33 +0000)
committerschwarze <schwarze@openbsd.org>
Wed, 16 Apr 2014 00:33:24 +0000 (00:33 +0000)
and SQLITE_DETERMINISTIC when creating deterministic functions;
best practice measure suggested by espie@ and jeremy@;
as expected by jeremy@, no measurable effect on performance.

usr.bin/mandoc/mansearch.c

index a419542..5447bf3 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mansearch.c,v 1.20 2014/04/15 23:47:57 schwarze Exp $ */
+/*     $Id: mansearch.c,v 1.21 2014/04/16 00:33:24 schwarze Exp $ */
 /*
  * Copyright (c) 2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -245,10 +245,12 @@ mansearch(const struct mansearch *search,
                 */
 
                c = sqlite3_create_function(db, "match", 2,
-                   SQLITE_ANY, NULL, sql_match, NULL, NULL);
+                   SQLITE_UTF8 | SQLITE_DETERMINISTIC,
+                   NULL, sql_match, NULL, NULL);
                assert(SQLITE_OK == c);
                c = sqlite3_create_function(db, "regexp", 2,
-                   SQLITE_ANY, NULL, sql_regexp, NULL, NULL);
+                   SQLITE_UTF8 | SQLITE_DETERMINISTIC,
+                   NULL, sql_regexp, NULL, NULL);
                assert(SQLITE_OK == c);
 
                j = 1;