tidying
[exim.git] / src / src / lookups / README
index 31fea64489398d6428da741b5220413cd4f7810f..614b349ec73794ed6ed5f7c186e35270936eb56f 100644 (file)
@@ -34,9 +34,13 @@ example, the sqlite lookup is of this type.
 
 When a single-key or absfilequery lookup file is opened, the handle returned by
 the xxx_open() function is saved, along with the file name and lookup type, in
-a tree. The xxx_close() function is not called when the first lookup is
-completed. If there are subsequent lookups of the same type that quote the same
-file name, xxx_open() isn't called; instead the cached handle is re-used.
+a tree. Traditionally, lookup_querystyle does not use this (just returning a
+dummy value, and doing the "open" work in the xxx_find() routine); but this is
+not enforced by the framework.
+
+The xxx_close() function is not called when the first lookup is completed. If
+there are subsequent lookups of the same type that quote the same file name,
+xxx_open() isn't called; instead the cached handle is re-used.
 
 Exim calls the function search_tidyup() at strategic points in its processing
 (e.g. after all routing and directing has been done) and this function walks
@@ -71,7 +75,7 @@ The arguments are:
   uschar **errmsg     where to put an error message if there is a problem
 
 The yield of xxx_open() is a void * value representing the open file or
-database. For real files is is normally the FILE or DBM value. For other
+database. For real files it is normally the FILE or DBM value. For other
 kinds of lookup, if there is no natural value to use, (-1) is recommended.
 The value should not be NULL (or 0) as that is taken to indicate failure of
 the xxx_open() function. For single-key lookups, the handle is cached along
@@ -131,6 +135,8 @@ DEFER. The arguments are:
                       If set to a nonzero number of seconds, the cached value
                       becomes unusable after this time. Currently the dnsdb
                       lookup uses this to support the TTL value.
+  uschar *opts       options, a comma-separated list of tagged values for
+                      modifying the search operation
 
 Even though the key is zero-terminated, the length is passed because in the
 common case it has been computed already and is often needed.
@@ -162,7 +168,7 @@ needed, it can return its single argument, which is a uschar *. This function
 does NOT use the POOL_SEARCH store, because it's usually never called from any
 lookup code.
 
-xxx_report_version()
+xxx_version_report()
 --------------------
 
 This is called to report diagnostic information to a file stream.